feat: update
This commit is contained in:
@ -7,24 +7,35 @@ import { logWithPrefix } from '@/utils/common';
|
||||
|
||||
const log = logWithPrefix('subscribe-utils');
|
||||
|
||||
export const isSubscribeRefused = async (tempId: SubscribeTempId | SubscribeTempId[]) => {
|
||||
export const isSubscribeRefused = async (
|
||||
tempId: SubscribeTempId | SubscribeTempId[]
|
||||
): Promise<[boolean, SubscribeTempId[]]> => {
|
||||
tempId = Array.isArray(tempId) ? tempId : [tempId];
|
||||
const { subscriptionsSetting } = await Taro.getSetting({ withSubscriptions: true });
|
||||
log('isSubscribeRefuse subscriptionsSetting:', subscriptionsSetting);
|
||||
if (!subscriptionsSetting) {
|
||||
return false;
|
||||
return [false, []];
|
||||
}
|
||||
const { mainSwitch, itemSettings = {} } = subscriptionsSetting;
|
||||
if (!mainSwitch) {
|
||||
return true;
|
||||
return [true, []];
|
||||
}
|
||||
return tempId.some(id => {
|
||||
const acceptedIds: SubscribeTempId[] = [];
|
||||
let refused = false;
|
||||
tempId.some(id => {
|
||||
const item = itemSettings[id];
|
||||
if (!item) {
|
||||
return false;
|
||||
if (item === 'accept') {
|
||||
acceptedIds.push(id);
|
||||
}
|
||||
return item === 'reject';
|
||||
|
||||
if (refused) {
|
||||
return;
|
||||
}
|
||||
|
||||
refused = item === 'reject';
|
||||
});
|
||||
|
||||
return [refused || false, acceptedIds];
|
||||
};
|
||||
|
||||
export const subscribeMessage = async (tempIds: SubscribeTempId[]) => {
|
||||
|
Reference in New Issue
Block a user