From 09e6dc3fb7266620fafb5e341808a8eb36e080a1 Mon Sep 17 00:00:00 2001
From: wlzboy <66905212@qq.com>
Date: 星期六, 13 十二月 2025 22:51:52 +0800
Subject: [PATCH] feat:增加企业微信消息提醒
---
app/utils/subscribe.js | 68 ++++++++++++++++++++++++----------
1 files changed, 48 insertions(+), 20 deletions(-)
diff --git a/app/utils/subscribe.js b/app/utils/subscribe.js
index 8066c8a..ab6d316 100644
--- a/app/utils/subscribe.js
+++ b/app/utils/subscribe.js
@@ -47,7 +47,7 @@
* @returns {boolean}
*/
checkLocalSubscribeStatus() {
- return true;// uni.getStorageSync('hasSubscribedTaskNotify') || false
+ return uni.getStorageSync('hasSubscribedTaskNotify') || false
}
/**
@@ -70,16 +70,43 @@
wx.getSetting({
withSubscriptions: true,
success: (res) => {
- console.log('寰俊璁㈤槄鐘舵�佹煡璇㈢粨鏋滐細', res)
-
+ // console.log('寰俊璁㈤槄鐘舵�佹煡璇㈢粨鏋滐細', res.subscriptionsSetting.mainSwitch)
+
// 妫�鏌ubscriptionsSetting涓槸鍚︽湁璇ユā鏉縄D鐨勮褰�
if (res.subscriptionsSetting && res.subscriptionsSetting.mainSwitch) {
- const subscribeStatus = res.subscriptionsSetting.mainSwitch;
- resolve(subscribeStatus)
+ resolve(false); // 濡傛灉鐢ㄦ埛鍚屾剰浜嗚闃咃紝鍒欒繑鍥瀎alse
+ // const subscribeStatus = res.subscriptionsSetting.mainSwitch;
+ // console.log(res.subscriptionsSetting.itemSettings[templateId])
+ // resolve(subscribeStatus)
// 'accept' 琛ㄧず鐢ㄦ埛鍚屾剰璁㈤槄锛�'reject' 琛ㄧず鎷掔粷锛�'ban' 琛ㄧず琚皝绂�
// const isSubscribed = subscribeStatus === 'accept'
// console.log(`妯℃澘ID ${templateId} 璁㈤槄鐘舵�侊細`, subscribeStatus, '鏄惁宸茶闃咃細', isSubscribed)
// resolve(isSubscribed)
+ // console.log("鍙戣捣璁㈤槄璇锋眰")
+ // wx.requestSubscribeMessage({
+ // tmplIds: [templateId],
+ // success: (res) => {
+ // console.log('璁㈤槄娑堟伅鐘舵�侊細', res)
+ // if (res[templateId] === 'accept') {
+ // console.log('鐢ㄦ埛宸茶闃�')
+ // resolve(true)
+ // } else if (res[templateId] === 'reject') {
+ // console.log('鐢ㄦ埛宸叉嫆缁濊闃�')
+ // resolve(false)
+ // } else if (res[templateId] === 'ban') {
+ // console.log('鐢ㄦ埛宸插皝绂佽闃�')
+ // resolve(false)
+ // } else {
+ // console.log('鏈煡璁㈤槄鐘舵��')
+ // resolve(false)
+ // }
+ // },fail: (err) => {
+ // console.error('璁㈤槄娑堟伅澶辫触锛�', err)
+ // resolve(false)
+ // }
+
+ // }
+ // )
} else {
console.log('鏈壘鍒拌闃呰缃俊鎭紝瑙嗕负鏈闃�')
resolve(false)
@@ -112,16 +139,16 @@
async checkSubscribeStatus() {
const localStatus = this.checkLocalSubscribeStatus()
const wechatStatus = await this.checkWechatSubscribeStatus()
-
+
// 濡傛灉鏈湴鏄剧ず宸茶闃咃紝浣嗗井淇″畼鏂规樉绀烘湭璁㈤槄锛岄渶瑕侀噸鏂拌闃�
- const needResubscribe = wechatStatus
-
+ const needResubscribe = !localStatus
+
if (needResubscribe) {
- console.warn('鏈湴鐘舵�佷笌寰俊瀹樻柟鐘舵�佷笉涓�鑷达紝闇�瑕侀噸鏂拌闃�')
+ // console.warn('鏈湴鐘舵�佷笌寰俊瀹樻柟鐘舵�佷笉涓�鑷达紝闇�瑕侀噸鏂拌闃�')
// 娓呴櫎鏈湴璁板綍
- uni.removeStorageSync('hasSubscribedTaskNotify')
+ // uni.removeStorageSync('hasSubscribedTaskNotify')
}
-
+
return {
local: localStatus,
wechat: wechatStatus,
@@ -175,7 +202,7 @@
* @returns {Promise}
*/
async subscribeTaskNotify(options = {}) {
- const {
+ const {
showConfirm = true,
onSuccess,
onReject,
@@ -208,7 +235,7 @@
success: (res) => {
console.log('璁㈤槄娑堟伅鎺堟潈缁撴灉锛�', res)
const templateId = this.wechatConfig.taskNotifyTemplateId
-
+
if (res[templateId] === 'accept') {
// 璁板綍宸茶闃�
uni.setStorageSync('hasSubscribedTaskNotify', true)
@@ -216,7 +243,7 @@
title: '璁㈤槄鎴愬姛',
icon: 'success'
})
-
+
if (onSuccess) onSuccess()
resolve({ success: true, action: 'accept' })
} else if (res[templateId] === 'reject') {
@@ -224,7 +251,7 @@
title: '鎮ㄦ嫆缁濅簡璁㈤槄',
icon: 'none'
})
-
+
if (onReject) onReject()
resolve({ success: false, action: 'reject' })
} else {
@@ -238,7 +265,7 @@
title: '璁㈤槄澶辫触',
icon: 'none'
})
-
+
if (onFail) onFail(err)
reject(err)
}
@@ -284,13 +311,13 @@
*/
async autoSubscribe(options = {}) {
const { force = false } = options
-
+
try {
// 缁煎悎妫�鏌ヨ闃呯姸鎬侊紙鏈湴 + 寰俊瀹樻柟锛�
const status = await this.checkSubscribeStatus()
-
+
console.log('璁㈤槄鐘舵�佹鏌ョ粨鏋滐細', status)
-
+
// 濡傛灉寰俊瀹樻柟鐘舵�佹樉绀哄凡璁㈤槄锛屼笖涓嶅己鍒惰闃�
if (status.isSubscribed && !force) {
console.log('鐢ㄦ埛宸茶闃呰繃锛堝井淇″畼鏂圭姸鎬侊級锛岃烦杩囪嚜鍔ㄨ闃�')
@@ -302,8 +329,9 @@
console.log('妫�娴嬪埌璁㈤槄鐘舵�佸け鏁堬紝瑙﹀彂閲嶆柊璁㈤槄娴佺▼')
} else {
console.log('鐢ㄦ埛鏈闃咃紝瑙﹀彂鑷姩璁㈤槄娴佺▼')
+ return { success: false, action: 'not_subscribed', skipped: true, status }
}
-
+
// 鏄剧ず纭寮圭獥骞惰闃� 鐩存帴榛樿璁㈤槄
const result = await this.subscribeWithConfirm();
return { ...result, status }
--
Gitblit v1.9.1