From e5df404aaabc139fec5c8b22cc1125d23222264d Mon Sep 17 00:00:00 2001
From: zxr <271055687@qq.com>
Date: Wed, 15 Jul 2026 12:40:38 +0800
Subject: [PATCH] =?UTF-8?q?fix:=20=E6=A0=87=E7=AD=BE=E6=A0=8F=E5=9B=BE?=
=?UTF-8?q?=E6=A0=87=E4=BF=AE=E6=AD=A3=EF=BC=9B=E6=A6=82=E8=A7=88=E9=A1=B5?=
=?UTF-8?q?=E5=B1=95=E7=A4=BA=E6=95=B0=E6=8D=AE=E5=88=87=E6=8D=A2=EF=BC=9B?=
=?UTF-8?q?=E6=B6=88=E6=81=AF=E9=80=9A=E7=9F=A5=E5=BC=82=E5=B8=B8=E6=98=BE?=
=?UTF-8?q?=E7=A4=BA=E4=BF=AE=E5=A4=8D?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.env.development | 4 +-
dev/components.d.ts | 24 +++
index.html | 2 +-
public/favicon.svg | 4 +
src/components/message-box/index.vue | 26 +--
src/components/message-box/locale/en-US.ts | 3 -
src/components/message-box/locale/zh-CN.ts | 3 -
src/components/navbar/index.vue | 28 ++-
src/router/guard/permission.ts | 96 +++++-----
src/router/guard/userLoginInfo.ts | 17 +-
src/views/ops/pages/overview/index.vue | 205 +++++++++++++++------
11 files changed, 262 insertions(+), 150 deletions(-)
create mode 100644 dev/components.d.ts
create mode 100644 public/favicon.svg
diff --git a/.env.development b/.env.development
index f864fbc..7550b9c 100644
--- a/.env.development
+++ b/.env.development
@@ -9,9 +9,9 @@ VITE_APP_DESCRIPTION="default standard template"
VITE_USE_MOCK=false
# API 基础URL
-# VITE_API_BASE_URL=https://ops-api.apinb.com
+VITE_API_BASE_URL=https://ops-api.apinb.com
# 开发环境走 Vite 同源代理,避免依赖本机 80/443 nginx
-VITE_API_BASE_URL=
+# VITE_API_BASE_URL=
# Logs 本地调试地址(仅 logs 模块使用)
VITE_LOGS_API_BASE_URL=http://127.0.0.1:12440
diff --git a/dev/components.d.ts b/dev/components.d.ts
new file mode 100644
index 0000000..f1bc198
--- /dev/null
+++ b/dev/components.d.ts
@@ -0,0 +1,24 @@
+/* eslint-disable */
+// @ts-nocheck
+// biome-ignore lint: disable
+// oxlint-disable
+// ------
+// Generated by unplugin-vue-components
+// Read more: https://github.com/vuejs/core/pull/3399
+import { GlobalComponents } from 'vue'
+
+export {}
+
+/* prettier-ignore */
+declare module 'vue' {
+ export interface GlobalComponents {
+ RouterLink: typeof import('vue-router')['RouterLink']
+ RouterView: typeof import('vue-router')['RouterView']
+ }
+}
+
+// For TSX support
+declare global {
+ const RouterLink: typeof import('vue-router')['RouterLink']
+ const RouterView: typeof import('vue-router')['RouterView']
+}
\ No newline at end of file
diff --git a/index.html b/index.html
index d59d27a..cf2934b 100644
--- a/index.html
+++ b/index.html
@@ -2,7 +2,7 @@
-
+
智能运维管理系统
diff --git a/public/favicon.svg b/public/favicon.svg
new file mode 100644
index 0000000..1e53a34
--- /dev/null
+++ b/public/favicon.svg
@@ -0,0 +1,4 @@
+
diff --git a/src/components/message-box/index.vue b/src/components/message-box/index.vue
index 7f71ce1..eb954fc 100644
--- a/src/components/message-box/index.vue
+++ b/src/components/message-box/index.vue
@@ -16,11 +16,6 @@
@view-history="openHistory"
/>
-
-
- {{ $t('messageBox.tab.button') }}
-
-
@@ -50,7 +45,7 @@ import {
import useLoading from '@/hooks/loading'
import useNotificationSocket from '@/hooks/useNotificationSocket'
import { Message } from '@arco-design/web-vue'
-import { computed, reactive, ref, toRefs } from 'vue'
+import { computed, reactive, ref, toRefs, watch } from 'vue'
import { useI18n } from 'vue-i18n'
import List from './list.vue'
@@ -59,9 +54,13 @@ interface TabItem {
title: string
avatar?: string
}
+const visibleMessageTypes = ['message']
const { loading, setLoading } = useLoading(true)
const messageType = ref('message')
const { t } = useI18n()
+const emit = defineEmits<{
+ (event: 'unread-count-change', count: number): void
+}>()
const messageData = reactive<{
renderList: MessageRecord[]
messageList: MessageRecord[]
@@ -92,14 +91,6 @@ const tabList: TabItem[] = [
key: 'message',
title: t('messageBox.tab.title.message'),
},
- {
- key: 'notice',
- title: t('messageBox.tab.title.notice'),
- },
- {
- key: 'todo',
- title: t('messageBox.tab.title.todo'),
- },
]
async function fetchSourceData() {
setLoading(true)
@@ -176,6 +167,9 @@ const getDeliveryColor = (status: string) => {
const renderList = computed(() => {
return messageData.messageList.filter((item) => messageType.value === item.type)
})
+const totalUnreadCount = computed(() => {
+ return messageData.messageList.filter((item) => visibleMessageTypes.includes(item.type) && !item.status).length
+})
const unreadCount = computed(() => {
return renderList.value.filter((item) => !item.status).length
})
@@ -190,9 +184,7 @@ const formatUnreadLength = (type: string) => {
const handleItemClick = (items: MessageListType) => {
if (renderList.value.length) readMessage([...items])
}
-const emptyList = () => {
- messageData.messageList = []
-}
+watch(totalUnreadCount, (count) => emit('unread-count-change', count), { immediate: true })
fetchSourceData()
useNotificationSocket({
onNotification: upsertMessageToTop,
diff --git a/src/components/message-box/locale/en-US.ts b/src/components/message-box/locale/en-US.ts
index 92d8583..bef821b 100644
--- a/src/components/message-box/locale/en-US.ts
+++ b/src/components/message-box/locale/en-US.ts
@@ -1,8 +1,5 @@
export default {
'messageBox.tab.title.message': 'Message',
- 'messageBox.tab.title.notice': 'Notice',
- 'messageBox.tab.title.todo': 'Todo',
- 'messageBox.tab.button': 'empty',
'messageBox.allRead': 'All Read',
'messageBox.viewMore': 'View More',
'messageBox.noContent': 'No Content',
diff --git a/src/components/message-box/locale/zh-CN.ts b/src/components/message-box/locale/zh-CN.ts
index dca6efb..92ad5d8 100644
--- a/src/components/message-box/locale/zh-CN.ts
+++ b/src/components/message-box/locale/zh-CN.ts
@@ -1,8 +1,5 @@
export default {
'messageBox.tab.title.message': '消息',
- 'messageBox.tab.title.notice': '通知',
- 'messageBox.tab.title.todo': '待办',
- 'messageBox.tab.button': '清空',
'messageBox.allRead': '全部已读',
'messageBox.viewMore': '查看更多',
'messageBox.noContent': '暂无内容',
diff --git a/src/components/navbar/index.vue b/src/components/navbar/index.vue
index 50f7c16..5912989 100644
--- a/src/components/navbar/index.vue
+++ b/src/components/navbar/index.vue
@@ -52,7 +52,7 @@
-
+
@@ -67,7 +67,7 @@
>
-
+
@@ -126,8 +126,10 @@