From d365c1ad6247cd965e67a992ceed629fb8d2bcef Mon Sep 17 00:00:00 2001 From: hrx <18603305412@163.com> Date: Mon, 20 Oct 2025 09:50:15 +0800 Subject: [PATCH] uptada --- .../MessageCenter/MessageCenter.vue | 37 ++- f/web-kboss/src/layout/components/Navbar.vue | 39 ++- f/web-kboss/src/store/modules/user.js | 2 + .../homePage/components/topBox/index.vue | 16 +- .../src/views/product/mainPage/index.vue | 263 ++++-------------- 5 files changed, 122 insertions(+), 235 deletions(-) diff --git a/f/web-kboss/src/components/MessageCenter/MessageCenter.vue b/f/web-kboss/src/components/MessageCenter/MessageCenter.vue index 6a98a2f..939b31d 100644 --- a/f/web-kboss/src/components/MessageCenter/MessageCenter.vue +++ b/f/web-kboss/src/components/MessageCenter/MessageCenter.vue @@ -271,7 +271,8 @@ export default { props: { userId: { type: [String, Number], - required: true + required: false, + default: null }, visible: { type: Boolean, @@ -375,6 +376,13 @@ export default { }, getUnreadmsg() { + // 检查用户是否登录 + const userId = sessionStorage.getItem('userId'); + if (!userId) { + console.log('用户未登录,跳过获取未读消息'); + return; + } + getUnreadmsgAPI().then(res => { if (res.status) { this.count = res.count; @@ -389,14 +397,24 @@ export default { } }).catch(error => { console.error('获取未读消息失败:', error); - this.$message({ - message: "获取未读消息失败", - type: "error", - }); + // 401错误不显示错误消息,因为用户未登录是正常情况 + if (error.response && error.response.status !== 401) { + this.$message({ + message: "获取未读消息失败", + type: "error", + }); + } }); }, getReadmsg() { + // 检查用户是否登录 + const userId = sessionStorage.getItem('userId'); + if (!userId) { + console.log('用户未登录,跳过获取已读消息'); + return; + } + getReadmsgAPI().then(res => { if (res.status) { this.readInformationList = res.msg; @@ -435,7 +453,14 @@ export default { }, getMsg() { - getMsgAPI({ userid: this.userId }).then(res => { + // 检查用户是否登录 + const userId = sessionStorage.getItem('userId'); + if (!userId) { + console.log('用户未登录,跳过获取消息'); + return; + } + + getMsgAPI({ userid: userId }).then(res => { if (res.status && res.msg) { this.alliInformationList = res.msg; } else { diff --git a/f/web-kboss/src/layout/components/Navbar.vue b/f/web-kboss/src/layout/components/Navbar.vue index 39297a0..1f27cb9 100644 --- a/f/web-kboss/src/layout/components/Navbar.vue +++ b/f/web-kboss/src/layout/components/Navbar.vue @@ -11,7 +11,7 @@ id="breadcrumb-container" class="breadcrumb-container" />
+ style="display:flex;justify-content: flex-end!important;align-items: center!important;margin-right: 10px;"> @@ -742,6 +740,8 @@ export default Vue.extend({ // 获取用户信息 async getUserInfo() { + if (!this.userId) return; + getUserInfoAPI({ id: this.userId }).then((res) => { if (res.status) { // this.nick_name = res.data[0].nick_name; diff --git a/f/web-kboss/src/views/product/mainPage/index.vue b/f/web-kboss/src/views/product/mainPage/index.vue index 751b894..e860eec 100644 --- a/f/web-kboss/src/views/product/mainPage/index.vue +++ b/f/web-kboss/src/views/product/mainPage/index.vue @@ -57,7 +57,7 @@
-
{{ userInfo.username ? userInfo.username.charAt(0) : '' }}
+
{{ userInfo.username.charAt(0) }}

{{ userInfo.username }}

@@ -72,27 +72,19 @@
账户余额
- ¥{{ displayBalance }} + ¥{{ initMybalance() }} 立即充值
- -
-
待办事项
-
    -
  • -
    -
    - -
    -
    -
    {{ item.title }}
    -
    {{ item.count }}
    -
    -
    +
    +
    系统公告
    +
      +
    • + + 这是第{{ i }}条系统公告内容...
    @@ -102,7 +94,7 @@ @@ -486,72 +370,33 @@ export default Vue.extend({ } } -/* 待办事项样式 */ -.todo { - .todo-list { +.announcements { + .announcement-list { list-style: none; padding: 0; margin: 0; - display: grid; - grid-template-columns: 1fr 1fr; - gap: 15px; li { - cursor: pointer; - transition: all 0.3s ease; - - &:hover { - transform: translateY(-2px); - .todo-item { - box-shadow: 0 4px 12px rgba(64, 158, 255, 0.2); - } - } - } - - .todo-item { - background: #f8f9fa; - border-radius: 8px; - padding: 15px; + padding: 10px 0; + border-bottom: 1px solid #eee; display: flex; align-items: center; - gap: 12px; - transition: all 0.3s ease; - border: 1px solid #ebeef5; - .todo-icon { - width: 40px; - height: 40px; - border-radius: 50%; - background: linear-gradient(135deg, #409eff, #64b5f6); - display: flex; - align-items: center; - justify-content: center; - flex-shrink: 0; - - i { - font-size: 18px; - color: white; - } + &:last-child { + border-bottom: none; } - .todo-content { - flex: 1; - min-width: 0; + i { + color: #e6a23c; + margin-right: 10px; + flex-shrink: 0; + } - .todo-title { - font-size: 14px; - color: #606266; - margin-bottom: 4px; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; - } - - .todo-count { - font-size: 20px; - font-weight: bold; - color: #303133; - } + span { + color: #606266; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; } } } @@ -595,9 +440,5 @@ export default Vue.extend({ .overView { grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); } - - .todo-list { - grid-template-columns: 1fr !important; - } }