//subscribeMessage.ts
export const subscribeMessage = (templateIds: string[]) => {
return new Promise((resolve, reject) => {
if(!templateIds.length) {
reject()
return;
}
uni.requestSubscribeMessage({
tmplIds: templateIds,
success(res) {
resolve(res)
},
fail(err) {
reject(err)
},
})
})
};
//检测订阅状态
export const getSettingWithSubscriptions = (arr:string[]) => {
return new Promise((resolve, reject) => {
uni.getSetting({
withSubscriptions: true,
success(res) {
const authSetting = Object.keys(res.subscriptionsSetting.itemSettings)
//判断authSetting是否包含arr中的元素
const isContain = arr.every(item => authSetting.includes(item))
resolve(isContain)
},
fail(err) {
resolve(true)
}
})
})
}
//使用
// #ifdef MP
const MessageList = [
"KRgghL9B-fabE6m3Xm3fKxxxpzGaa0qr5dk8",
"4jYY5326okH-0MnSwxxxwNC7Tig2rOW_rTfbQ",
"r0DOx6pPx5_Mz4tN4SxxxNdw_tkv0dmGQ",
]; //订阅-接单提醒,发布需求的订单无人抢单即将失效提醒, 订单状态通知
const isContain = await getSettingWithSubscriptions(MessageList);
!isContain && (overlayShow.value = true); //显示遮罩层
await subscribeMessage(MessageList);
overlayShow.value = false;
// #endif