From 46003a646e5e9d32caf52bcba5f5e00a37230699 Mon Sep 17 00:00:00 2001 From: wangys <3401275564@qq.com> Date: Fri, 14 Nov 2025 12:03:02 +0800 Subject: [PATCH] =?UTF-8?q?=E7=95=8C=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- schoolNewsWeb/src/apis/index.ts | 2 +- schoolNewsWeb/src/apis/message/message.ts | 4 +- schoolNewsWeb/src/assets/imgs/notice.svg | 3 + .../src/components/base/ChangeHome.vue | 35 ++ schoolNewsWeb/src/components/base/Notice.vue | 394 ++++++++++++++++++ .../src/components/base/TopNavigation.vue | 7 +- schoolNewsWeb/src/components/base/index.ts | 4 +- .../src/layouts/RoutePlaceholder.vue | 19 + schoolNewsWeb/src/layouts/SidebarLayout.vue | 5 +- schoolNewsWeb/src/utils/route-generator.ts | 21 +- schoolNewsWeb/src/utils/routeUtils.ts | 18 +- .../user/message/MyMessageDetailView.vue | 2 +- .../views/user/profile/PersonalInfoView.vue | 130 ------ .../src/views/user/profile/ProfileView.vue | 87 ---- .../user/user-center/LearningRecordsView.vue | 72 ++-- .../user/user-center/MyAchievementsView.vue | 299 +++++++------ .../user/user-center/MyFavoritesView.vue | 39 +- ...serCenterView.vue => UserCenterLayout.vue} | 12 +- .../src/views/user/user-center/index.ts | 1 + .../profile/AccountSettingsView.vue | 104 ++--- .../user-center/profile/PersonalInfoView.vue | 128 ++++++ 21 files changed, 887 insertions(+), 499 deletions(-) create mode 100644 schoolNewsWeb/src/assets/imgs/notice.svg create mode 100644 schoolNewsWeb/src/components/base/ChangeHome.vue create mode 100644 schoolNewsWeb/src/components/base/Notice.vue create mode 100644 schoolNewsWeb/src/layouts/RoutePlaceholder.vue delete mode 100644 schoolNewsWeb/src/views/user/profile/PersonalInfoView.vue delete mode 100644 schoolNewsWeb/src/views/user/profile/ProfileView.vue rename schoolNewsWeb/src/views/user/user-center/{UserCenterView.vue => UserCenterLayout.vue} (95%) create mode 100644 schoolNewsWeb/src/views/user/user-center/index.ts rename schoolNewsWeb/src/views/user/{ => user-center}/profile/AccountSettingsView.vue (55%) create mode 100644 schoolNewsWeb/src/views/user/user-center/profile/PersonalInfoView.vue diff --git a/schoolNewsWeb/src/apis/index.ts b/schoolNewsWeb/src/apis/index.ts index 1391a7f..1a8ef8e 100644 --- a/schoolNewsWeb/src/apis/index.ts +++ b/schoolNewsWeb/src/apis/index.ts @@ -86,7 +86,7 @@ request.interceptors.request.use( const customConfig = config as CustomAxiosRequestConfig; // 默认不显示加载动画,只有显式开启时才展示 - if (customConfig.showLoading) { + if (customConfig.showLoading !== false) { loadingInstance = ElLoading.service({ lock: true, text: "加载中...", diff --git a/schoolNewsWeb/src/apis/message/message.ts b/schoolNewsWeb/src/apis/message/message.ts index 067b228..a10c28c 100644 --- a/schoolNewsWeb/src/apis/message/message.ts +++ b/schoolNewsWeb/src/apis/message/message.ts @@ -142,7 +142,7 @@ export const messageApi = { const response = await api.post('/message/my/page', { pageParam, filter - }); + },{showLoading: false}); return response.data; }, @@ -181,7 +181,7 @@ export const messageApi = { * @returns Promise> */ async getUnreadCount(): Promise> { - const response = await api.get('/message/my/unreadCount'); + const response = await api.get('/message/my/unreadCount',{},{showLoading: false}); return response.data; }, diff --git a/schoolNewsWeb/src/assets/imgs/notice.svg b/schoolNewsWeb/src/assets/imgs/notice.svg new file mode 100644 index 0000000..b77d437 --- /dev/null +++ b/schoolNewsWeb/src/assets/imgs/notice.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/schoolNewsWeb/src/components/base/ChangeHome.vue b/schoolNewsWeb/src/components/base/ChangeHome.vue new file mode 100644 index 0000000..d50f979 --- /dev/null +++ b/schoolNewsWeb/src/components/base/ChangeHome.vue @@ -0,0 +1,35 @@ + + + \ No newline at end of file diff --git a/schoolNewsWeb/src/components/base/Notice.vue b/schoolNewsWeb/src/components/base/Notice.vue new file mode 100644 index 0000000..aa76af5 --- /dev/null +++ b/schoolNewsWeb/src/components/base/Notice.vue @@ -0,0 +1,394 @@ + + + + + \ No newline at end of file diff --git a/schoolNewsWeb/src/components/base/TopNavigation.vue b/schoolNewsWeb/src/components/base/TopNavigation.vue index 7bafb11..5d7db4c 100644 --- a/schoolNewsWeb/src/components/base/TopNavigation.vue +++ b/schoolNewsWeb/src/components/base/TopNavigation.vue @@ -48,6 +48,8 @@ @@ -61,8 +63,7 @@ import { useStore } from 'vuex'; import type { SysMenu } from '@/types'; import { MenuType } from '@/types/enums'; // @ts-ignore - Vue 3.5 组件导入兼容性 -import {UserDropdown, Search} from '@/components/base'; - +import {UserDropdown, Search, Notice, ChangeHome} from '@/components/base'; const router = useRouter(); const route = useRoute(); const store = useStore(); @@ -462,7 +463,7 @@ function handleLogout() { margin-left: auto; display: flex; flex-shrink: 0; /* 防止右侧区域被压缩 */ - gap: 20px; + // gap: 20px; align-items: center; // 添加搜索框样式 diff --git a/schoolNewsWeb/src/components/base/index.ts b/schoolNewsWeb/src/components/base/index.ts index 3e78959..c123b98 100644 --- a/schoolNewsWeb/src/components/base/index.ts +++ b/schoolNewsWeb/src/components/base/index.ts @@ -9,4 +9,6 @@ export { default as UserDropdown } from './UserDropdown.vue'; export { default as Search } from './Search.vue'; export { default as CenterHead } from './CenterHead.vue'; export { default as GenericSelector } from './GenericSelector.vue'; -export { default as TreeNode } from './TreeNode.vue'; \ No newline at end of file +export { default as TreeNode } from './TreeNode.vue'; +export { default as Notice } from './Notice.vue'; +export { default as ChangeHome } from './ChangeHome.vue'; diff --git a/schoolNewsWeb/src/layouts/RoutePlaceholder.vue b/schoolNewsWeb/src/layouts/RoutePlaceholder.vue new file mode 100644 index 0000000..d64601c --- /dev/null +++ b/schoolNewsWeb/src/layouts/RoutePlaceholder.vue @@ -0,0 +1,19 @@ + + + + + + diff --git a/schoolNewsWeb/src/layouts/SidebarLayout.vue b/schoolNewsWeb/src/layouts/SidebarLayout.vue index 28c80bd..b6a0ff6 100644 --- a/schoolNewsWeb/src/layouts/SidebarLayout.vue +++ b/schoolNewsWeb/src/layouts/SidebarLayout.vue @@ -19,6 +19,7 @@