From 3bbd80a63ac7728ac01b641a48a26befcb171a0f Mon Sep 17 00:00:00 2001
From: wlzboy <66905212@qq.com>
Date: 星期一, 15 十二月 2025 07:19:21 +0800
Subject: [PATCH] feat:增加企业微信登录判断
---
app/pages/message/index.vue | 83 +++++++++++++++++++++++++++++++++++++----
1 files changed, 75 insertions(+), 8 deletions(-)
diff --git a/app/pages/message/index.vue b/app/pages/message/index.vue
index 58bca52..95e613f 100644
--- a/app/pages/message/index.vue
+++ b/app/pages/message/index.vue
@@ -2,6 +2,10 @@
<view class="message-container">
<view class="message-header">
<view class="header-title">娑堟伅涓績</view>
+ <view class="subscribe-btn" v-if="!subscribed" @click="subscribeMessage">
+ <uni-icons type="bell" size="20" color="#007AFF"></uni-icons>
+ <text>璁㈤槄閫氱煡</text>
+ </view>
</view>
<scroll-view class="message-list-scroll" scroll-y="true">
@@ -19,7 +23,7 @@
<view class="unread-dot" v-if="message.isRead === '0'"></view>
</view>
<view class="message-content">{{ message.messageContent }}</view>
- <view class="message-time">{{ message.createTime }}</view>
+ <view class="message-time">{{ formatMessageTime(message.createTime) }}</view>
</view>
</view>
@@ -34,13 +38,16 @@
<script>
import { getMyMessages, markAsRead } from '@/api/message'
+ import { formatDateTime } from '@/utils/common'
+ import subscribeManager from '@/utils/subscribe'
export default {
data() {
return {
// 娑堟伅鍒楄〃
messages: [],
- loading: false
+ loading: false,
+ subscribed: false,
}
},
computed: {
@@ -48,16 +55,20 @@
sortedMessages() {
return [...this.messages].sort((a, b) => {
if (a.isRead === b.isRead) {
- // 鐩稿悓鐘舵�佹寜鏃堕棿鍊掑簭
- return new Date(b.createTime) - new Date(a.createTime);
+ // 鐩稿悓鐘舵�佹寜鏃堕棿鍊掑簭 - 浣跨敤鍏煎iOS鐨勬棩鏈熸牸寮�
+ const timeA = a.createTime ? new Date(a.createTime.replace(/-/g, '/')) : new Date(0)
+ const timeB = b.createTime ? new Date(b.createTime.replace(/-/g, '/')) : new Date(0)
+ return timeB - timeA
}
// 鏈鐨勬帓鍦ㄥ墠闈�
- return a.isRead === '0' ? -1 : 1;
- });
+ return a.isRead === '0' ? -1 : 1
+ })
}
},
onLoad() {
this.loadMessages()
+ // 鑷姩璁㈤槄锛堝鏋滄湭璁㈤槄鍒欐樉绀虹‘璁ゅ脊绐楋級
+ this.autoSubscribeOnLaunch()
},
onShow() {
// 姣忔鏄剧ず椤甸潰鏃跺埛鏂版秷鎭�
@@ -71,6 +82,21 @@
})
},
methods: {
+ // 鑷姩璁㈤槄锛堥〉闈㈠姞杞芥椂璋冪敤锛�
+ autoSubscribeOnLaunch() {
+ subscribeManager.autoSubscribe()
+ .then((result) => {
+ if (result.skipped) {
+ console.log('鐢ㄦ埛宸茶闃咃紝鏃犻渶閲嶅璁㈤槄')
+ } else if (result.success) {
+ console.log('鑷姩璁㈤槄鎴愬姛')
+ }
+ })
+ .catch((error) => {
+ console.log('鑷姩璁㈤槄鍙栨秷鎴栧け璐ワ細', error)
+ })
+ },
+
// 鍔犺浇娑堟伅鍒楄〃
async loadMessages() {
try {
@@ -120,7 +146,7 @@
// 璺宠浆鍒颁换鍔¤鎯呴〉闈�
if (message.taskId) {
- this.$tab.navigateTo(`/pages/task/detail?id=${message.taskId}`)
+ this.$tab.navigateTo(`/pagesTask/detail?id=${message.taskId}`)
} else {
this.$modal.showToast('鏃犳硶鎵惧埌鍏宠仈浠诲姟')
}
@@ -128,7 +154,7 @@
console.error('鏍囪娑堟伅宸茶澶辫触锛�', error)
// 鍗充娇鏍囪澶辫触锛屼篃鍏佽璺宠浆
if (message && message.taskId) {
- this.$tab.navigateTo(`/pages/task/detail?id=${message.taskId}`)
+ this.$tab.navigateTo(`/pagesTask/detail?id=${message.taskId}`)
}
}
},
@@ -148,6 +174,29 @@
index: 3
})
}
+ },
+
+ // 鏍煎紡鍖栨秷鎭椂闂存樉绀�
+ formatMessageTime(dateTime) {
+ if (!dateTime) return ''
+ return formatDateTime(dateTime, 'MM-DD HH:mm')
+ },
+
+ // 璁㈤槄浠诲姟閫氱煡
+ subscribeMessage() {
+ subscribeManager.subscribeWithConfirm()
+ .then((result) => {
+ if (result.success) {
+ uni.showToast({
+ title: '璁㈤槄鎴愬姛锛屾偍灏嗘敹鍒颁换鍔¢�氱煡',
+ icon: 'success',
+ duration: 2000
+ })
+ }
+ })
+ .catch((error) => {
+ console.log('璁㈤槄澶辫触锛�', error)
+ })
}
}
}
@@ -190,6 +239,24 @@
font-size: 36rpx;
font-weight: bold;
}
+
+ .subscribe-btn {
+ display: flex;
+ align-items: center;
+ padding: 10rpx 20rpx;
+ background-color: #f0f9ff;
+ border-radius: 30rpx;
+
+ text {
+ margin-left: 8rpx;
+ font-size: 26rpx;
+ color: #007AFF;
+ }
+
+ &:active {
+ opacity: 0.7;
+ }
+ }
}
.message-list-scroll {
--
Gitblit v1.9.1