Skip to content

Commit 484351e

Browse files
author
ricardo
committed
refactor: 重构前端项目结构和路由管理
- 将视图组件从 views 目录移动到 pages 和 components 目录,以优化项目结构 - 移除 blankLayout.vue 和 defaultLayout.vue 布局组件,将通用布局逻辑整合到 App.vue 中 - 引入 unplugin-vue-router 实现自动路由生成,简化路由配置 - 更新 App.vue、router/index.ts、tsconfig.app.json 和 vite.config.ts 以适应新的路由管理方式
1 parent 494f13b commit 484351e

File tree

23 files changed

+564
-434
lines changed

23 files changed

+564
-434
lines changed

frontend/components.d.ts

Lines changed: 30 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -12,17 +12,15 @@ export {}
1212
/* prettier-ignore */
1313
declare module 'vue' {
1414
export interface GlobalComponents {
15-
About: typeof import('./src/views/about/index.vue')['default']
16-
AddPlaylistDialog: typeof import('./src/views/playlist/addPlaylistDialog.vue')['default']
17-
AddSingDialog: typeof import('./src/views/home/addSingDialog.vue')['default']
18-
AppSettingTab: typeof import('./src/views/settings/appSettingTab.vue')['default']
19-
BiliCredential: typeof import('./src/views/settings/biliCredential.vue')['default']
20-
BiliTab: typeof import('./src/views/settings/biliTab.vue')['default']
21-
BlankLayout: typeof import('./src/components/layout/blankLayout.vue')['default']
22-
Changelog: typeof import('./src/views/changelog/index.vue')['default']
23-
Danmaku: typeof import('./src/views/danmaku/index.vue')['default']
24-
DefaultLayout: typeof import('./src/components/layout/defaultLayout.vue')['default']
25-
DyTab: typeof import('./src/views/settings/dyTab.vue')['default']
15+
About: typeof import('./src/pages/about/index.vue')['default']
16+
AddPlaylistDialog: typeof import('./src/components/playlist/addPlaylistDialog.vue')['default']
17+
AddSingDialog: typeof import('./src/components/home/addSingDialog.vue')['default']
18+
AppSettingTab: typeof import('./src/components/settings/appSettingTab.vue')['default']
19+
BiliCredential: typeof import('./src/components/settings/biliCredential.vue')['default']
20+
BiliTab: typeof import('./src/components/settings/biliTab.vue')['default']
21+
Changelog: typeof import('./src/pages/changelog/index.vue')['default']
22+
Danmaku: typeof import('./src/pages/danmaku/index.vue')['default']
23+
DyTab: typeof import('./src/components/settings/dyTab.vue')['default']
2624
ElAlert: typeof import('element-plus/es')['ElAlert']
2725
ElAside: typeof import('element-plus/es')['ElAside']
2826
ElAutoResizer: typeof import('element-plus/es')['ElAutoResizer']
@@ -61,16 +59,16 @@ declare module 'vue' {
6159
ElUpload: typeof import('element-plus/es')['ElUpload']
6260
FansClub: typeof import('./src/components/common/fansClub.tsx')['default']
6361
FansMedal: typeof import('./src/components/common/fansMedal.tsx')['default']
64-
History: typeof import('./src/views/history/index.vue')['default']
65-
Home: typeof import('./src/views/home/index.vue')['default']
62+
History: typeof import('./src/pages/history/index.vue')['default']
63+
Home: typeof import('./src/pages/home/index.vue')['default']
6664
LineHeader: typeof import('./src/components/common/lineHeader.tsx')['default']
6765
LinkIcon: typeof import('./src/components/common/linkIcon.tsx')['default']
68-
ObsSetting: typeof import('./src/views/settings/obsSetting.vue')['default']
69-
PlatformStatus: typeof import('./src/views/home/platformStatus.vue')['default']
70-
Playlist: typeof import('./src/views/playlist/index.vue')['default']
66+
ObsSetting: typeof import('./src/components/settings/obsSetting.vue')['default']
67+
PlatformStatus: typeof import('./src/components/home/platformStatus.vue')['default']
68+
Playlist: typeof import('./src/pages/playlist/index.vue')['default']
7169
RouterLink: typeof import('vue-router')['RouterLink']
7270
RouterView: typeof import('vue-router')['RouterView']
73-
Settings: typeof import('./src/views/settings/index.vue')['default']
71+
Settings: typeof import('./src/pages/settings/index.vue')['default']
7472
}
7573
export interface GlobalDirectives {
7674
vInfiniteScroll: typeof import('element-plus/es')['ElInfiniteScroll']
@@ -80,17 +78,15 @@ declare module 'vue' {
8078

8179
// For TSX support
8280
declare global {
83-
const About: typeof import('./src/views/about/index.vue')['default']
84-
const AddPlaylistDialog: typeof import('./src/views/playlist/addPlaylistDialog.vue')['default']
85-
const AddSingDialog: typeof import('./src/views/home/addSingDialog.vue')['default']
86-
const AppSettingTab: typeof import('./src/views/settings/appSettingTab.vue')['default']
87-
const BiliCredential: typeof import('./src/views/settings/biliCredential.vue')['default']
88-
const BiliTab: typeof import('./src/views/settings/biliTab.vue')['default']
89-
const BlankLayout: typeof import('./src/components/layout/blankLayout.vue')['default']
90-
const Changelog: typeof import('./src/views/changelog/index.vue')['default']
91-
const Danmaku: typeof import('./src/views/danmaku/index.vue')['default']
92-
const DefaultLayout: typeof import('./src/components/layout/defaultLayout.vue')['default']
93-
const DyTab: typeof import('./src/views/settings/dyTab.vue')['default']
81+
const About: typeof import('./src/pages/about/index.vue')['default']
82+
const AddPlaylistDialog: typeof import('./src/components/playlist/addPlaylistDialog.vue')['default']
83+
const AddSingDialog: typeof import('./src/components/home/addSingDialog.vue')['default']
84+
const AppSettingTab: typeof import('./src/components/settings/appSettingTab.vue')['default']
85+
const BiliCredential: typeof import('./src/components/settings/biliCredential.vue')['default']
86+
const BiliTab: typeof import('./src/components/settings/biliTab.vue')['default']
87+
const Changelog: typeof import('./src/pages/changelog/index.vue')['default']
88+
const Danmaku: typeof import('./src/pages/danmaku/index.vue')['default']
89+
const DyTab: typeof import('./src/components/settings/dyTab.vue')['default']
9490
const ElAlert: typeof import('element-plus/es')['ElAlert']
9591
const ElAside: typeof import('element-plus/es')['ElAside']
9692
const ElAutoResizer: typeof import('element-plus/es')['ElAutoResizer']
@@ -129,14 +125,14 @@ declare global {
129125
const ElUpload: typeof import('element-plus/es')['ElUpload']
130126
const FansClub: typeof import('./src/components/common/fansClub.tsx')['default']
131127
const FansMedal: typeof import('./src/components/common/fansMedal.tsx')['default']
132-
const History: typeof import('./src/views/history/index.vue')['default']
133-
const Home: typeof import('./src/views/home/index.vue')['default']
128+
const History: typeof import('./src/pages/history/index.vue')['default']
129+
const Home: typeof import('./src/pages/home/index.vue')['default']
134130
const LineHeader: typeof import('./src/components/common/lineHeader.tsx')['default']
135131
const LinkIcon: typeof import('./src/components/common/linkIcon.tsx')['default']
136-
const ObsSetting: typeof import('./src/views/settings/obsSetting.vue')['default']
137-
const PlatformStatus: typeof import('./src/views/home/platformStatus.vue')['default']
138-
const Playlist: typeof import('./src/views/playlist/index.vue')['default']
132+
const ObsSetting: typeof import('./src/components/settings/obsSetting.vue')['default']
133+
const PlatformStatus: typeof import('./src/components/home/platformStatus.vue')['default']
134+
const Playlist: typeof import('./src/pages/playlist/index.vue')['default']
139135
const RouterLink: typeof import('vue-router')['RouterLink']
140136
const RouterView: typeof import('vue-router')['RouterView']
141-
const Settings: typeof import('./src/views/settings/index.vue')['default']
137+
const Settings: typeof import('./src/pages/settings/index.vue')['default']
142138
}

0 commit comments

Comments
 (0)