gaoluyang
2026-03-04 cf0320ba4f1712b6ac26edea97bff96fadf73894
src/pages/login.vue
@@ -50,7 +50,11 @@
      icon: 'none'
   })
}
import { userLoginFacotryList} from '@/api/login'
import {
   userLoginFacotryList,
   updateClientId,
   getNoticeCount,
} from "@/api/login";
import { ref, onMounted } from "vue";
import useUserStore from '@/store/modules/user'
import { getWxCode } from '@/utils/geek';
@@ -165,6 +169,65 @@
      });
   })
}
// 启动定时获取未读消息数量的定时器
function startNoticeCountTimer(userId) {
   // 立即获取一次未读消息数量
   updateNoticeCount(userId);
   // 设置定时器,每30秒获取一次
   setInterval(() => {
      updateNoticeCount(userId);
   }, 30000);
}
// 更新未读消息数量
function updateNoticeCount(userId) {
   getNoticeCount(userId)
      .then(res => {
         const count = res.data || 0;
         console.log("未读消息数量:", count);
         // 更新tabbar的角标
         if (count > 0) {
            uni.setTabBarBadge({
               index: 1, // 消息标签页的索引
               text: count.toString(),
            });
         } else {
            uni.removeTabBarBadge({
               index: 1,
            });
         }
      })
      .catch(error => {
         console.error("获取未读消息数量失败:", error);
      });
}
// 将客户端推送标识发送到服务器
function sendClientIdToServer() {
   // 获取本地存储的客户端标识
   const clientId = uni.getStorageSync("clientid");
   if (clientId) {
      console.log("登录成功,准备发送客户端标识到服务器:", clientId);
      // 这里调用后端接口发送客户端标识
      updateClientId({ cid: clientId })
         .then(res => {
            console.log("服务器响应:", res);
            if (res.code === 200) {
               console.log("客户端标识已成功发送到服务器");
            } else {
               console.log("服务器返回错误:", res.msg);
            }
         })
         .catch(error => {
            console.log("发送客户端标识到服务器失败:", error);
         });
      // 示例:api.updateClientId({ clientId: clientId });
      // 由于没有具体的接口,这里只打印日志
      console.log("客户端标识已发送到服务器");
   } else {
      console.log("未获取到客户端推送标识");
   }
}
// 页面加载时检查是否有保存的密码
onMounted(() => {
   loadPassword();