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 @@