diff --git a/resources/assets/js/App.vue b/resources/assets/js/App.vue index d2abc60dd..61552e72e 100755 --- a/resources/assets/js/App.vue +++ b/resources/assets/js/App.vue @@ -76,7 +76,7 @@ export default { }, computed: { - ...mapState(['ws', 'windowActive', 'themeMode']), + ...mapState(['ws', 'themeMode']), isSoftware() { return this.$Electron || this.$isEEUiApp; @@ -258,6 +258,10 @@ export default { this.$store.dispatch("getBasicData", 600) } } + // 通知权限 + window.__onNotificationPermissionStatus = (ret) => { + this.$store.state.appNotificationPermission = $A.runNum(ret) == 1; + } }, otherEvents() { diff --git a/resources/assets/js/pages/manage.vue b/resources/assets/js/pages/manage.vue index 6f747a258..fae38b27b 100644 --- a/resources/assets/js/pages/manage.vue +++ b/resources/assets/js/pages/manage.vue @@ -689,6 +689,15 @@ export default { } }, + windowActive(active) { + if (!active) { + $A.eeuiAppSendMessage({ + action: 'setBdageNotify', + bdage: this.unreadTotal, + }); + } + }, + 'cacheProjects.length': { handler() { this.$nextTick(_ => { diff --git a/resources/assets/js/pages/manage/messenger.vue b/resources/assets/js/pages/manage/messenger.vue index 891cd882a..38c7868a9 100644 --- a/resources/assets/js/pages/manage/messenger.vue +++ b/resources/assets/js/pages/manage/messenger.vue @@ -24,6 +24,9 @@ {{$L(item.name)}}

+
+ {{$L('未开启通知权限')}} +
this.activeNum++) + // + if ($A.isEEUiApp) { + $A.eeuiAppSendMessage({action: 'getNotificationPermission'}); + } }, deactivated() { @@ -206,7 +213,7 @@ export default { }, computed: { - ...mapState(['cacheDialogs', 'loadDialogs', 'dialogId']), + ...mapState(['cacheDialogs', 'loadDialogs', 'dialogId', 'appNotificationPermission']), routeName() { return this.$route.name @@ -708,6 +715,12 @@ export default { }, timeout) } }, + + onOpenAppSetting() { + $A.eeuiAppSendMessage({ + action: 'gotoSetting', + }); + } } } diff --git a/resources/assets/js/store/state.js b/resources/assets/js/store/state.js index 01cfdfb41..28ee9345d 100644 --- a/resources/assets/js/store/state.js +++ b/resources/assets/js/store/state.js @@ -11,6 +11,9 @@ const stateData = { // 窗口是否激活 windowActive: true, + // App通知权限 + appNotificationPermission: true, + // 播放中的音频地址 audioPlaying: null, diff --git a/resources/assets/sass/pages/page-messenger.scss b/resources/assets/sass/pages/page-messenger.scss index 572e48279..04452637e 100644 --- a/resources/assets/sass/pages/page-messenger.scss +++ b/resources/assets/sass/pages/page-messenger.scss @@ -84,6 +84,17 @@ } } } + .messenger-notify-permission { + position: sticky; + display: flex; + align-items: center; + padding: 6px 12px; + justify-content: space-between; + background-color: #FEF7EE; + border: 1px solid #FAE0B5; + margin: 8px 12px; + border-radius: 6px; + } .messenger-list { flex: 1; height: 0; diff --git a/resources/mobile b/resources/mobile index 0b93e8265..d94c85bf2 160000 --- a/resources/mobile +++ b/resources/mobile @@ -1 +1 @@ -Subproject commit 0b93e8265db0a734765cd7d8f27a180d11b7223d +Subproject commit d94c85bf200250aad19754c9e6c777bdcb22ac90