diff --git a/nginx.conf b/nginx.conf
index 2ca68bb..8525415 100644
--- a/nginx.conf
+++ b/nginx.conf
@@ -8,17 +8,18 @@ server {
server_name _;
- #location /admin-service/ {
- #proxy_pass http://admin-service:8080/;
- #}
+ location /sweet-hut/ {
+ alias /usr/share/nginx/html/;
+ try_files $uri $uri/ /sweet-hut/index.html;
+ }
- location /home-service/ {
- proxy_pass http://home-service:8081/;
+ location /home-api/ {
+ proxy_pass http://host.docker.internal:8081/;
}
- #location /blog-service/ {
- #proxy_pass http://blog-service:8082/;
- #}
+ location /blog-api/ {
+ proxy_pass http://host.docker.internal:8082/;
+ }
location / {
try_files $uri $uri/ =404;
diff --git a/src/App.vue b/src/App.vue
index a06e34a..b4fce8b 100644
--- a/src/App.vue
+++ b/src/App.vue
@@ -4,7 +4,7 @@
diff --git a/src/components/Home/Anniversary/AnniversaryQuery.vue b/src/components/Anniversary/AnniversaryQuery.vue
similarity index 100%
rename from src/components/Home/Anniversary/AnniversaryQuery.vue
rename to src/components/Anniversary/AnniversaryQuery.vue
diff --git a/src/components/Home/Anniversary/CategoryCard.vue b/src/components/Anniversary/CategoryCard.vue
similarity index 87%
rename from src/components/Home/Anniversary/CategoryCard.vue
rename to src/components/Anniversary/CategoryCard.vue
index ab126e9..df34af3 100644
--- a/src/components/Home/Anniversary/CategoryCard.vue
+++ b/src/components/Anniversary/CategoryCard.vue
@@ -9,8 +9,8 @@
diff --git a/src/components/Home/Asset/AssetCard.vue b/src/components/Asset/AssetCard.vue
similarity index 84%
rename from src/components/Home/Asset/AssetCard.vue
rename to src/components/Asset/AssetCard.vue
index 1ac50a1..cd9ce3b 100644
--- a/src/components/Home/Asset/AssetCard.vue
+++ b/src/components/Asset/AssetCard.vue
@@ -33,11 +33,9 @@
diff --git a/src/components/Home/Asset/AssetQuery.vue b/src/components/Asset/AssetQuery.vue
similarity index 100%
rename from src/components/Home/Asset/AssetQuery.vue
rename to src/components/Asset/AssetQuery.vue
diff --git a/src/components/Home/Bill/BillBook.vue b/src/components/Bill/BillBook.vue
similarity index 95%
rename from src/components/Home/Bill/BillBook.vue
rename to src/components/Bill/BillBook.vue
index dd85af5..081ea55 100644
--- a/src/components/Home/Bill/BillBook.vue
+++ b/src/components/Bill/BillBook.vue
@@ -62,13 +62,13 @@
+
+
diff --git a/src/components/Blog/Category/BlogCategory.vue b/src/components/Blog/Category/BlogCategory.vue
new file mode 100644
index 0000000..8bc51e9
--- /dev/null
+++ b/src/components/Blog/Category/BlogCategory.vue
@@ -0,0 +1,40 @@
+
+
+
文章分类
+
+
目前共计{{ blogStore.blogCategoryList.length }}个分类
+
+
+
+ {{ item.name }}
+ {{ `(${item.count})` }}
+
+
+
+
+
+
+
+
diff --git a/src/components/Blog/Category/BlogCategoryDetail.vue b/src/components/Blog/Category/BlogCategoryDetail.vue
new file mode 100644
index 0000000..35b3ad1
--- /dev/null
+++ b/src/components/Blog/Category/BlogCategoryDetail.vue
@@ -0,0 +1,41 @@
+
+
+
{{ route.params?.name }}
+
+
+
+ {{ index+1 }}
+ {{ item?.createTime }}
+ {{ item.title }}
+
+
+
+
+
+
+
+
diff --git a/src/components/Blog/Comment/BlogComment.vue b/src/components/Blog/Comment/BlogComment.vue
new file mode 100644
index 0000000..b938181
--- /dev/null
+++ b/src/components/Blog/Comment/BlogComment.vue
@@ -0,0 +1,30 @@
+
+
+
+
+
+
+
diff --git a/src/components/Blog/Comment/BlogCommentEdit.vue b/src/components/Blog/Comment/BlogCommentEdit.vue
new file mode 100644
index 0000000..ef79107
--- /dev/null
+++ b/src/components/Blog/Comment/BlogCommentEdit.vue
@@ -0,0 +1,121 @@
+
+
+
+
+
+
+
diff --git a/src/components/Blog/Comment/BlogCommentItem.vue b/src/components/Blog/Comment/BlogCommentItem.vue
new file mode 100644
index 0000000..bdf051a
--- /dev/null
+++ b/src/components/Blog/Comment/BlogCommentItem.vue
@@ -0,0 +1,127 @@
+
+
+
+
+
+
+
diff --git a/src/components/Blog/Content/BlogDetail.vue b/src/components/Blog/Content/BlogDetail.vue
new file mode 100644
index 0000000..51f8fd4
--- /dev/null
+++ b/src/components/Blog/Content/BlogDetail.vue
@@ -0,0 +1,67 @@
+
+
+
+ {{ blogStore.currentBlog.title }}
+
+
+
+
+
+
+
+
+
+ 本文作者: Cxx
+
+
+ 本文链接:
+ {{ currentUrl.href }}
+
+
+ 版权声明:
+ 本博客所有文章除特别声明外,均采用
+ ©BY-NC-SA
+ 许可协议。转载请注明出处!
+
+
+
+
+ -------------本文结束♥感谢您的阅读♥给个五星好评吧~~-------------
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/components/Blog/Content/BlogLabel.vue b/src/components/Blog/Content/BlogLabel.vue
new file mode 100644
index 0000000..9936a4c
--- /dev/null
+++ b/src/components/Blog/Content/BlogLabel.vue
@@ -0,0 +1,92 @@
+
+
+
+
+
+
+
+
|
+
+
+
+
+
+
|
+
+
+
+ {{ formatDate(props.basicBlog.createTime) }}
+
+
+
|
+
+
+
+ {{ formatDate(props.basicBlog.createTime) }}
+
+
+
|
+
+
+
+
+ {{ props.basicBlog.category }}
+
+
+
+
|
+
+
+
+ {{ props.basicBlog.visitCount }} 次
+
+
+
+
+
+
+ {{ props.basicBlog.wordCount }} 字
+
+
+
|
+
+
+
+ {{ props.basicBlog.readDuration.toFixed(0) }} 分钟
+
+
+
+
+
+
+
+
diff --git a/src/components/Blog/Content/BlogOverview.vue b/src/components/Blog/Content/BlogOverview.vue
new file mode 100644
index 0000000..bd6a152
--- /dev/null
+++ b/src/components/Blog/Content/BlogOverview.vue
@@ -0,0 +1,66 @@
+
+
+
+
+
+
+
{{ item.title }}
+
+
+
+
+ {{ item.summary }}
+
+
+
阅读全文 »
+
+
+
+
+
+
+
+
+
+
diff --git a/src/components/AppLoading.vue b/src/components/Common/AppLoading.vue
similarity index 91%
rename from src/components/AppLoading.vue
rename to src/components/Common/AppLoading.vue
index a756d29..6de3893 100644
--- a/src/components/AppLoading.vue
+++ b/src/components/Common/AppLoading.vue
@@ -16,5 +16,5 @@ const appStore = useAppStore()
diff --git a/src/components/Mobile/ArriveButton.vue b/src/components/Common/ArriveButton.vue
similarity index 100%
rename from src/components/Mobile/ArriveButton.vue
rename to src/components/Common/ArriveButton.vue
diff --git a/src/components/Mobile/DraggableButton.vue b/src/components/Common/DraggableButton.vue
similarity index 100%
rename from src/components/Mobile/DraggableButton.vue
rename to src/components/Common/DraggableButton.vue
diff --git a/src/components/Mobile/MobileSetting.vue b/src/components/Common/MobileSetting.vue
similarity index 100%
rename from src/components/Mobile/MobileSetting.vue
rename to src/components/Common/MobileSetting.vue
diff --git a/src/components/Mobile/WeatherIcon.vue b/src/components/Common/WeatherIcon.vue
similarity index 100%
rename from src/components/Mobile/WeatherIcon.vue
rename to src/components/Common/WeatherIcon.vue
diff --git a/src/components/Mobile/WeatherTimeCard.vue b/src/components/Common/WeatherTimeCard.vue
similarity index 99%
rename from src/components/Mobile/WeatherTimeCard.vue
rename to src/components/Common/WeatherTimeCard.vue
index f608b64..6fa43d0 100644
--- a/src/components/Mobile/WeatherTimeCard.vue
+++ b/src/components/Common/WeatherTimeCard.vue
@@ -50,7 +50,7 @@
diff --git a/src/components/Home/Food/FoodDailyItem.vue b/src/components/Food/FoodDailyItem.vue
similarity index 93%
rename from src/components/Home/Food/FoodDailyItem.vue
rename to src/components/Food/FoodDailyItem.vue
index d18dc70..205d75a 100644
--- a/src/components/Home/Food/FoodDailyItem.vue
+++ b/src/components/Food/FoodDailyItem.vue
@@ -22,8 +22,8 @@
diff --git a/src/components/Home/Budget/BudgetDialog.vue b/src/components/Home/Budget/BudgetDialog.vue
deleted file mode 100644
index 8a9dcb3..0000000
--- a/src/components/Home/Budget/BudgetDialog.vue
+++ /dev/null
@@ -1,114 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/components/Home/Budget/BudgetQuery.vue b/src/components/Home/Budget/BudgetQuery.vue
deleted file mode 100644
index 4468083..0000000
--- a/src/components/Home/Budget/BudgetQuery.vue
+++ /dev/null
@@ -1,54 +0,0 @@
-
-
-
-
-
-
-
-
- 新增预算
-
-
-
-
-
diff --git a/src/components/Home/Budget/BudgetTable.vue b/src/components/Home/Budget/BudgetTable.vue
deleted file mode 100644
index 86b6650..0000000
--- a/src/components/Home/Budget/BudgetTable.vue
+++ /dev/null
@@ -1,98 +0,0 @@
-
-
-
-
-
-
-
-
- {{ formatAmount(scope.row.budget) }}
-
-
-
-
-
- {{ formatAmount(scope.row.actual) }}
-
-
-
-
-
- {{ formatAmount(scope.row.budget - scope.row.actual) }}
-
-
-
-
-
- {{ `${((scope.row.actual / totalActual) * 100).toFixed(2)}%` }}
-
-
-
-
-
- 编辑
- 账单
- 删除
-
-
-
-
-
-
diff --git a/src/components/Home/HomeQuery.vue b/src/components/HomeQuery.vue
similarity index 100%
rename from src/components/Home/HomeQuery.vue
rename to src/components/HomeQuery.vue
diff --git a/src/components/Home/Journal/JournalCalendar.vue b/src/components/Journal/JournalCalendar.vue
similarity index 95%
rename from src/components/Home/Journal/JournalCalendar.vue
rename to src/components/Journal/JournalCalendar.vue
index 4996cab..8336c5a 100644
--- a/src/components/Home/Journal/JournalCalendar.vue
+++ b/src/components/Journal/JournalCalendar.vue
@@ -13,11 +13,11 @@
diff --git a/src/components/Home/Ledger/LedgerQuery.vue b/src/components/Ledger/LedgerQuery.vue
similarity index 100%
rename from src/components/Home/Ledger/LedgerQuery.vue
rename to src/components/Ledger/LedgerQuery.vue
diff --git a/src/components/Home/Login/CommonLogin.vue b/src/components/Login/CommonLogin.vue
similarity index 88%
rename from src/components/Home/Login/CommonLogin.vue
rename to src/components/Login/CommonLogin.vue
index af29d94..8eab6ea 100644
--- a/src/components/Home/Login/CommonLogin.vue
+++ b/src/components/Login/CommonLogin.vue
@@ -45,12 +45,6 @@
:loading="authStore.loginLoading"
@click.prevent="handleLogin('common')">登录
-
手机号登录
@@ -76,15 +70,15 @@
diff --git a/src/components/Home/Product/ProductQuery.vue b/src/components/Product/ProductQuery.vue
similarity index 100%
rename from src/components/Home/Product/ProductQuery.vue
rename to src/components/Product/ProductQuery.vue
diff --git a/src/components/Home/Profile/ProfileAccount.vue b/src/components/Profile/ProfileAccount.vue
similarity index 100%
rename from src/components/Home/Profile/ProfileAccount.vue
rename to src/components/Profile/ProfileAccount.vue
diff --git a/src/components/Home/Profile/ProfileInfo.vue b/src/components/Profile/ProfileInfo.vue
similarity index 100%
rename from src/components/Home/Profile/ProfileInfo.vue
rename to src/components/Profile/ProfileInfo.vue
diff --git a/src/components/Home/Profile/ProfilePassword.vue b/src/components/Profile/ProfilePassword.vue
similarity index 100%
rename from src/components/Home/Profile/ProfilePassword.vue
rename to src/components/Profile/ProfilePassword.vue
diff --git a/src/components/Home/Server/ServerCard.vue b/src/components/Server/ServerCard.vue
similarity index 100%
rename from src/components/Home/Server/ServerCard.vue
rename to src/components/Server/ServerCard.vue
diff --git a/src/components/Home/Server/ServerProgress.vue b/src/components/Server/ServerProgress.vue
similarity index 100%
rename from src/components/Home/Server/ServerProgress.vue
rename to src/components/Server/ServerProgress.vue
diff --git a/src/components/Home/StatsCard.vue b/src/components/StatsCard.vue
similarity index 100%
rename from src/components/Home/StatsCard.vue
rename to src/components/StatsCard.vue
diff --git a/src/components/Test/SliderCaptcha.vue b/src/components/Test/SliderCaptcha.vue
deleted file mode 100644
index 4685b3e..0000000
--- a/src/components/Test/SliderCaptcha.vue
+++ /dev/null
@@ -1,241 +0,0 @@
-
-
-
-
{{ captchaInfo.infoText }}
-
-
-
{{ captchaInfo.infoText }}
-
-
-
-
-
-
-
diff --git a/src/components/Home/Travel/Data/TravelBasicData.vue b/src/components/Travel/Data/TravelBasicData.vue
similarity index 100%
rename from src/components/Home/Travel/Data/TravelBasicData.vue
rename to src/components/Travel/Data/TravelBasicData.vue
diff --git a/src/components/Home/Travel/Data/TravelConsumeData.vue b/src/components/Travel/Data/TravelConsumeData.vue
similarity index 93%
rename from src/components/Home/Travel/Data/TravelConsumeData.vue
rename to src/components/Travel/Data/TravelConsumeData.vue
index a7b2724..7f4fb0b 100644
--- a/src/components/Home/Travel/Data/TravelConsumeData.vue
+++ b/src/components/Travel/Data/TravelConsumeData.vue
@@ -14,7 +14,7 @@
diff --git a/src/components/Home/Travel/TravelDailyItem.vue b/src/components/Travel/TravelDailyItem.vue
similarity index 77%
rename from src/components/Home/Travel/TravelDailyItem.vue
rename to src/components/Travel/TravelDailyItem.vue
index 25dc197..e4b4195 100644
--- a/src/components/Home/Travel/TravelDailyItem.vue
+++ b/src/components/Travel/TravelDailyItem.vue
@@ -22,17 +22,15 @@
diff --git a/src/components/Home/Travel/TravelDailyList.vue b/src/components/Travel/TravelDailyList.vue
similarity index 94%
rename from src/components/Home/Travel/TravelDailyList.vue
rename to src/components/Travel/TravelDailyList.vue
index 8990fba..fd41482 100644
--- a/src/components/Home/Travel/TravelDailyList.vue
+++ b/src/components/Travel/TravelDailyList.vue
@@ -14,7 +14,7 @@
diff --git a/src/layout/admin/components/SideBar/Logo.vue b/src/layout/admin/components/SideBar/Logo.vue
deleted file mode 100644
index d61dd70..0000000
--- a/src/layout/admin/components/SideBar/Logo.vue
+++ /dev/null
@@ -1,39 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/layout/admin/components/SideBar/index.vue b/src/layout/admin/components/SideBar/index.vue
deleted file mode 100644
index 20bb74d..0000000
--- a/src/layout/admin/components/SideBar/index.vue
+++ /dev/null
@@ -1,23 +0,0 @@
-
-
-
-
-
-
diff --git a/src/layout/admin/index.vue b/src/layout/admin/index.vue
deleted file mode 100644
index 20c6385..0000000
--- a/src/layout/admin/index.vue
+++ /dev/null
@@ -1,37 +0,0 @@
-
-
-
-
-
-
-
diff --git a/src/layout/home/components/HomeTitle.vue b/src/layout/home/components/HomeTitle.vue
deleted file mode 100644
index bafe956..0000000
--- a/src/layout/home/components/HomeTitle.vue
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
- {{ appStore.homeTitle }}
-
-
-
-
diff --git a/src/layout/home/components/Navbar/HomeMenu.vue b/src/layout/home/components/Navbar/HomeMenu.vue
deleted file mode 100644
index 2d7f972..0000000
--- a/src/layout/home/components/Navbar/HomeMenu.vue
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
diff --git a/src/layout/home/components/Navbar/index.vue b/src/layout/home/components/Navbar/index.vue
deleted file mode 100644
index d09e9c5..0000000
--- a/src/layout/home/components/Navbar/index.vue
+++ /dev/null
@@ -1,43 +0,0 @@
-
-
-
-
-
diff --git a/src/layout/home/index.vue b/src/layout/home/index.vue
deleted file mode 100644
index 18853f2..0000000
--- a/src/layout/home/index.vue
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-
-
-
-
-
diff --git a/src/layout/mobile-home/index.vue b/src/layout/index.vue
similarity index 55%
rename from src/layout/mobile-home/index.vue
rename to src/layout/index.vue
index 41ab38c..fd27359 100644
--- a/src/layout/mobile-home/index.vue
+++ b/src/layout/index.vue
@@ -9,10 +9,10 @@
diff --git a/src/main.ts b/src/main.ts
index e3e977f..43eb012 100644
--- a/src/main.ts
+++ b/src/main.ts
@@ -16,10 +16,6 @@ import zhCn from 'element-plus/es/locale/lang/zh-cn'
import VCalendar from 'v-calendar'
import 'v-calendar/style.css'
-// 引入粒子特效
-// import Particles from '@tsparticles/vue3'
-// import { loadSlim } from '@tsparticles/slim'
-
// 引入font-awesome
import 'font-awesome/css/font-awesome.min.css'
import '@fortawesome/fontawesome-free/css/all.css'
@@ -37,12 +33,6 @@ app.use(router)
app.use(createPinia())
// 使用Element UI Plus
app.use(ElementPlus, { locale: zhCn })
-// app.use(Particles, {
-// init: async (engine: any) => {
-// // 加载精简版
-// await loadSlim(engine)
-// }
-// })
app.use(VCalendar, {})
// 挂载到根组件上
app.mount('#app')
diff --git a/src/router/admin.ts b/src/router/admin.ts
deleted file mode 100644
index 9ce65bd..0000000
--- a/src/router/admin.ts
+++ /dev/null
@@ -1,7 +0,0 @@
-import AdminLayout from '@/layout/admin/index.vue'
-import { adminMeta } from '@/views/admin/meta'
-import { getRoutersByModules, sortRoutesByOrder } from 'vue3-common/utils/routerUtil'
-
-const adminRoutes = getRoutersByModules(import.meta.glob('@/views/admin/**/*.vue'), AdminLayout, adminMeta)
-
-export default sortRoutesByOrder(adminRoutes)
diff --git a/src/router/constant.ts b/src/router/constant.ts
index c7bfec1..b5070d1 100644
--- a/src/router/constant.ts
+++ b/src/router/constant.ts
@@ -10,31 +10,9 @@ const constantRoutes: RouteRecordRaw[] = [
component: () => import('@/views/login/index.vue'),
meta: { hidden: true }
},
- {
- path: '/home/profile',
- component: () => import('@/layout/home/index.vue'),
- redirect: '/home/profile/index',
- meta: { hidden: true },
- children: [
- {
- path: '/home/profile/index',
- component: () => import('@/views/profile/index.vue'),
- name: 'Profile',
- meta: { title: '个人中心', hidden: true }
- }
- ]
- },
{
path: '/home',
- redirect: '/home/property'
- },
- {
- path: '/admin',
- redirect: '/admin/dashboard'
- },
- {
- path: '/mobile-home',
- component: () => import('@/views/mobile/index.vue'),
+ component: () => import('@/views/home/index.vue'),
meta: { hidden: true }
}
]
diff --git a/src/router/home.ts b/src/router/home.ts
index be9dca1..5745bba 100644
--- a/src/router/home.ts
+++ b/src/router/home.ts
@@ -1,7 +1,8 @@
-import MobileHomeLayout from '@/layout/mobile-home/index.vue'
+import MobileHomeLayout from '@/layout/index.vue'
import { getRoutersByModules, sortRoutesByOrder } from 'vue3-common/utils/routerUtil'
-import { mobileHomeMeta } from '@/views/mobile-home/meta.ts'
+import { mobileHomeMeta } from '@/views/meta.ts'
-const homeRoutes = getRoutersByModules(import.meta.glob('@/views/mobile-home/**/*.vue'), MobileHomeLayout, mobileHomeMeta)
+// TODO 参考CCRT
+const homeRoutes = getRoutersByModules(import.meta.glob('@/views/**/*.vue'), MobileHomeLayout, mobileHomeMeta)
export default sortRoutesByOrder(homeRoutes)
diff --git a/src/store/blog.ts b/src/store/blog.ts
index eb1337a..fe7f5dd 100644
--- a/src/store/blog.ts
+++ b/src/store/blog.ts
@@ -4,7 +4,7 @@ import {
IBlogLatest, IBlogNestedComment, IBlogStats, INewBlog, IQueryBlog
} from '@/types/blog'
import {
- addBlogApi, addBlogCommentApi, deleteBlogApi, queryAdminBlogApi, queryAdminBlogByIdApi, queryAdminBlogCategoryApi,
+ addBlogApi, addBlogCommentApi, deleteBlogApi,
queryBlogApi, queryBlogByConditionApi, queryBlogByIdApi,
queryBlogCategoryApi, queryBlogCommentApi, queryBlogStatsApi, queryLatestBlogApi, updateBlogApi
} from '@/apis/blog.ts'
@@ -79,12 +79,6 @@ export const useBlogStore = defineStore('blog', {
this.blogList.push(...result.records)
this.pageInfo.totalSize = result.total
},
- async queryAdminBlog() {
- const { currentPage, pageSize } = this.adminPageInfo
- const result = await queryAdminBlogApi(currentPage, pageSize)
- this.blogList = result.records
- this.pageInfo.totalSize = result.total
- },
async queryBlogByCondition(query: IQueryBlog) {
this.blogList = await queryBlogByConditionApi(query)
},
@@ -93,9 +87,6 @@ export const useBlogStore = defineStore('blog', {
await this.queryBlogComment(this.currentBlogId)
this.blogNestedCommentList = flattenToTwoLevel(this.blogCommentList)
},
- async queryAdminBlogById(id: number) {
- this.currentBlog = await queryAdminBlogByIdApi(id)
- },
async queryBlogComment(blogId: number) {
this.blogCommentList = await queryBlogCommentApi(blogId)
},
@@ -106,9 +97,6 @@ export const useBlogStore = defineStore('blog', {
async queryBlogCategory() {
this.blogCategoryList = await queryBlogCategoryApi()
},
- async queryAdminBlogCategory() {
- this.blogCategoryList = await queryAdminBlogCategoryApi()
- },
async queryBlogStats() {
this.blogStats = await queryBlogStatsApi()
},
@@ -140,16 +128,6 @@ export const useBlogStore = defineStore('blog', {
await this.queryBlogStats()
await this.queryLatestBlog()
},
- getEmptyBlog(): INewBlog {
- return {
- id: 0,
- category: '',
- content: '',
- isGreat: false,
- title: '',
- topValue: 0
- }
- },
getEmptyBlogComment(): IBlogComment {
return {
blogId: 0,
diff --git a/src/styles/blog/blog.archive.module.scss b/src/styles/blog/blog.archive.module.scss
new file mode 100644
index 0000000..cf4726f
--- /dev/null
+++ b/src/styles/blog/blog.archive.module.scss
@@ -0,0 +1,51 @@
+@use "blog.variable.module.scss" as blog;
+
+.blog-archive {
+ display: flex;
+ flex-direction: column;
+ gap: 3vh;
+ padding: 10vh 2vw;
+
+ ::v-deep(.el-date-editor) {
+ align-self: center;
+ }
+
+ .total {
+ align-self: center;
+ font-size: blog.$normal-font-size;
+ color: blog.$normal-text-color;
+ }
+
+ .time-line {
+ height: 100%;
+ padding: 10px;
+ overflow: auto;
+
+ .item {
+ height: 5vh;
+
+ .date {
+ color: blog.$normal-text-color;
+ margin-right: 5px;
+ }
+
+ .title {
+ font-size: blog.$normal-font-size;
+ color: blog.$normal-text-color;
+ cursor: pointer;
+ text-decoration: underline;
+ text-underline-offset: 0.2rem;
+ }
+
+ .title:hover {
+ color: var(--color-text);
+ }
+ }
+ }
+}
+
+@media screen and (max-width: 768px) {
+ .blog-archive {
+ padding: 20px 10px;
+ }
+}
diff --git a/src/styles/blog/blog.category.detail.module.scss b/src/styles/blog/blog.category.detail.module.scss
new file mode 100644
index 0000000..e7cfb8f
--- /dev/null
+++ b/src/styles/blog/blog.category.detail.module.scss
@@ -0,0 +1,59 @@
+@use "blog.variable.module.scss" as blog;
+
+.blog-category-detail {
+ padding: 10vh 2vw;
+
+ display: flex;
+ flex-direction: column;
+ gap: 3vh;
+
+ .name {
+ font-weight: bold;
+ text-align: center;
+ font-size: blog.$large-font-size;
+ }
+
+ .category-detail-list {
+ height: 100%;
+ padding: 10px;
+ display: flex;
+ flex-direction: column;
+ gap: 2vh;
+
+ .item {
+ display: grid;
+ grid-template-columns: 40px 200px 1fr;
+ justify-items: center;
+ align-items: center;
+ gap: 10px;
+ cursor: pointer;
+ color: blog.$normal-text-color;
+
+ padding-bottom: 0.5vh;
+ border: none;
+ border-bottom: 1px dashed blog.$gray-text-color;
+
+ .number, .date {
+ text-align: center;
+ }
+
+ .title {
+ justify-self: start;
+ }
+
+ span {
+ padding: 0.2vw;
+ }
+ }
+
+ .item:hover {
+ color: var(--color-text);
+ }
+ }
+}
+
+@media screen and (max-width: 768px) {
+ .blog-category-detail {
+ padding: 20px 10px;
+ }
+}
diff --git a/src/styles/blog/blog.category.module.scss b/src/styles/blog/blog.category.module.scss
new file mode 100644
index 0000000..710f5ea
--- /dev/null
+++ b/src/styles/blog/blog.category.module.scss
@@ -0,0 +1,69 @@
+@use "blog.variable.module.scss" as blog;
+
+.blog-category {
+ display: flex;
+ flex-direction: column;
+ gap: 3vh;
+ padding: 10vh 2vw;
+
+ .total {
+ text-align: center;
+ font-size: blog.$normal-font-size;
+ color: blog.$normal-text-color;
+ }
+
+ .category-list {
+ height: 100%;
+ padding: 10px;
+ display: flex;
+ flex-direction: column;
+ gap: 15px;
+ overflow: auto;
+
+ .item {
+ display: flex;
+ align-items: center;
+ gap: 5px;
+ padding-bottom: 5px;
+ border-bottom: 1px dashed blog.$gray-text-color;
+ color: blog.$normal-text-color;
+
+ i {
+ font-size:28px;
+ color: #0f8bc7;
+ }
+
+ .content {
+ display: flex;
+ flex-direction: column;
+ gap: 5px;
+
+ .label {
+ cursor: pointer;
+ color: blog.$normal-text-color;
+ font-size: blog.$normal-font-size;
+ }
+
+ .label:hover {
+ color: blog.$hover-text-color;
+ }
+
+ .value {
+ font-size: blog.$normal-font-size;
+ color: blog.$gray-text-color;
+ }
+ }
+ }
+
+ .item:hover {
+ color: var(--color-text);
+ cursor: pointer;
+ }
+ }
+}
+
+@media screen and (max-width: 768px) {
+ .blog-category {
+ padding: 20px 10px;
+ }
+}
diff --git a/src/styles/blog/blog.detail.module.scss b/src/styles/blog/blog.detail.module.scss
new file mode 100644
index 0000000..3b8c66b
--- /dev/null
+++ b/src/styles/blog/blog.detail.module.scss
@@ -0,0 +1,71 @@
+@use "blog.variable.module.scss" as blog;
+
+.blog-detail {
+ min-height: 100vh;
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ align-items: center;
+ gap: 2vh;
+ padding: 10vh 2vw 3vh 2vw;
+
+ .blog-md {
+ height: 100%;
+ width: 100%;
+ padding: 10px;
+ overflow: auto;
+
+ .md-editor {
+ height: 100%;
+ }
+ }
+}
+
+.blog-title {
+ width: 100%;
+ display: grid;
+ grid-template-rows: 1fr 1fr;
+ align-items: center;
+ gap: 1vh;
+
+ .title {
+ background-color: blog.$theme-color;
+ padding: 5px;
+ border: 2px solid blog.$theme-color;
+ border-radius: 10px;
+ text-align: center;
+ font-size: blog.$blog-title-font-size;
+ font-family: "华文楷体", serif;
+ }
+}
+
+.blog-copyright {
+ width: 100%;
+ background-color: var(--color-copyright-bg);
+
+ padding: 10px;
+ border-left: 3px solid #FD2C17;
+ font-size: blog.$small-font-size;
+
+ display: flex;
+ flex-direction: column;
+ gap: 1vh;
+
+ strong {
+ margin-right: 0.2vw;
+ }
+}
+
+.blog-ending {
+ span {
+ color: #CFCFCF;
+ }
+}
+
+.blog-detail-mobile {
+ padding: 10px;
+
+ display: flex;
+ flex-direction: column;
+ gap: 2vh;
+}
diff --git a/src/styles/blog/blog.footbar.module.scss b/src/styles/blog/blog.footbar.module.scss
new file mode 100644
index 0000000..856461d
--- /dev/null
+++ b/src/styles/blog/blog.footbar.module.scss
@@ -0,0 +1,15 @@
+@use "blog.variable.module.scss" as blog;
+
+.blog-site-footer {
+ padding: 10px 0;
+
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ align-items: center;
+ gap: 10px;
+
+ span {
+ font-size: blog.$small-font-size;
+ }
+}
diff --git a/src/styles/blog/blog.label.module.scss b/src/styles/blog/blog.label.module.scss
new file mode 100644
index 0000000..bdb1270
--- /dev/null
+++ b/src/styles/blog/blog.label.module.scss
@@ -0,0 +1,57 @@
+@use "blog.variable.module.scss" as blog;
+
+.label-list {
+ width: 100%;
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ align-items: center;
+ gap: 1vh;
+
+ margin-bottom: 1vh;
+
+ .container {
+ display: flex;
+ align-items: center;
+ gap: 5px;
+
+ .item {
+ font-size: blog.$small-font-size;
+ color: blog.$gray-text-color;
+ display: flex;
+ align-items: center;
+ gap: 5px;
+
+ span {
+ font-size: blog.$small-font-size;
+ font-family: "Times New Roman", serif;
+ }
+ }
+ }
+
+ .top-value {
+ color: #7d26cd !important;
+ }
+
+ .great {
+ color: #FFFFFF !important;
+ background-color: #7d26cd;
+ padding: 2px;
+ }
+
+ .date {
+ text-decoration: underline dotted;
+ text-underline-offset: 0.2em;
+ }
+
+ .category {
+ text-decoration: underline;
+ text-underline-offset: 0.2em;
+ color: blog.$normal-text-color;
+ cursor: pointer;
+ }
+
+ .category:hover {
+ color: blog.$hover-text-color;
+ }
+}
diff --git a/src/styles/blog/blog.module.scss b/src/styles/blog/blog.module.scss
new file mode 100644
index 0000000..9d30e96
--- /dev/null
+++ b/src/styles/blog/blog.module.scss
@@ -0,0 +1,60 @@
+@use "blog.variable.module.scss" as blog;
+
+.blog-container {
+ // height: 100%;
+ background-color: var(--color-bg);
+ padding: 0 5vw;
+
+ display: grid;
+ grid-template-columns: minmax(13vw, 200px) 1fr;
+ column-gap: 2vw;
+
+ aside {
+ display: grid;
+ grid-template-rows: 40vh 60vh;
+ row-gap: 2vh;
+ z-index: 2;
+
+ .blog-summary {
+ // 滚动到顶部固定
+ position: sticky;
+ top: 0;
+ }
+ }
+
+ section {
+ z-index: 2;
+
+ display: flex;
+ flex-direction: column;
+ gap: 2vh;
+
+ .blog-section {
+ // height: 100%;
+ min-height: 100vh;
+ box-shadow: 0 2px 2px 0 rgba(0,0,0,0.12),
+ 0 3px 1px -2px rgba(0,0,0,0.06),
+ 0 1px 5px 0 rgba(0,0,0,0.12),
+ 0 -1px 0.5px 0 rgba(0,0,0,0.09);
+
+ .module-title {
+ background-color: blog.$theme-color;
+ padding: 5px;
+ border: 2px solid blog.$theme-color;
+ border-radius: 10px;
+ text-align: center;
+ font-size: blog.$large-font-size;
+ font-family: "华文楷体", serif;
+ }
+ }
+ }
+
+ .card-item {
+ background-color: var(--color-card-bg);
+ border: 1px solid var(--color-border-bg);
+ border-radius: blog.$border-radius;
+ // box-shadow: 3px 3px 3px #CFCFCF;
+ }
+}
+
+
diff --git a/src/styles/blog/blog.overview.module.scss b/src/styles/blog/blog.overview.module.scss
new file mode 100644
index 0000000..7759d56
--- /dev/null
+++ b/src/styles/blog/blog.overview.module.scss
@@ -0,0 +1,87 @@
+@use "blog.variable.module.scss" as blog;
+
+$blog-content-list-item-height: 38vh;
+$blog-content-title-font-size: 1.6rem;
+$hr-color: #CFCFCF;
+
+.blog-content-list {
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ gap: 5vh;
+ padding: 10vh 2vw 2vh 2vw;
+ position: relative;
+
+ .blog-content {
+ width: 100%;
+ height: $blog-content-list-item-height;
+ padding: 4vh 1vw;
+
+ border: 1px solid blog.$border-color;
+ border-radius: 15px;
+ box-shadow: 0 0 5px blog.$border-color;
+ }
+
+ .blog-content-empty {
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ }
+
+ .blog-content-summary {
+ display: grid;
+ grid-template-rows: 1fr 1fr 8vh 1fr 1fr;
+ justify-items: center;
+ align-items: center;
+ gap: 2vh;
+
+ .title {
+ font-size: $blog-content-title-font-size;
+ font-family: "华文楷体", serif;
+ font-weight: bolder;
+ position: relative;
+ }
+
+ // 自动展开下划线
+ .title:after {
+ content: "";
+ width: 0;
+ height: 2px;
+ background: blog.$theme-color;
+ // 初始位置在底部中间
+ position: absolute;
+ top: 100%;
+ left: 50%;
+ // 动画时间
+ transition: all .8s;
+ }
+
+ // 悬浮式展开到100%
+ .title:hover::after {
+ width: 100%;
+ left: 0;
+ }
+
+ .content {
+ font-size: blog.$normal-font-size;
+ line-height: 150%;
+ }
+
+ hr {
+ width: 10%;
+ height: 1px;
+ background-color: $hr-color;
+ border: none;
+ }
+
+ span, p {
+ font-family: '华为行楷',serif;
+ }
+ }
+}
+
+@media screen and (max-width: 768px) {
+ .blog-content-list {
+ padding: 10px;
+ }
+}
diff --git a/src/styles/blog/blog.sidebar.module.scss b/src/styles/blog/blog.sidebar.module.scss
new file mode 100644
index 0000000..657968b
--- /dev/null
+++ b/src/styles/blog/blog.sidebar.module.scss
@@ -0,0 +1,281 @@
+@use "blog.variable.module.scss" as blog;
+
+$title-font-color: #FFFFFF;
+$title-font-size: 1.8rem;
+$sub-title-font-size: 1rem;
+
+.blog-aside {
+ .top-container {
+ width: 100%;
+ display: grid;
+ grid-template-rows: 2fr 3fr;
+
+ .title-container {
+ background-color: blog.$theme-color;
+ border-top-left-radius: 15px;
+ border-top-right-radius: 15px;
+
+ display: grid;
+ grid-template-rows: 1fr 1fr;
+ justify-items: center;
+ align-items: center;
+
+ padding: 10px;
+
+ .title {
+ color: $title-font-color;
+ font-size: $title-font-size;
+ }
+
+ .sub-title {
+ font-family: "华文楷体", serif;
+ font-size: $sub-title-font-size;
+ text-align: center;
+ line-height: 150%;
+ }
+ }
+
+ .blog-menu-container {
+ align-self: center;
+ height: 90%;
+ display: grid;
+ grid-template-rows: repeat(4, 1fr);
+ align-items: center;
+
+ .el-menu-item {
+ height: 5vh;
+ gap: 0.5vw;
+ font-size: blog.$normal-font-size;
+
+ .menu-title {
+
+ }
+
+ .value {
+ position: absolute;
+ right: 10%;
+ line-height: 2vh;
+
+ background-color: blog.$normal-bg-color;
+ padding: 2px;
+ border: solid 1px blog.$normal-bg-color;
+ border-radius: 15px;
+
+ color: var(--color-bg);
+ font-size: blog.$small-font-size;
+ font-family: "Times New Roman",serif;
+ }
+ }
+ }
+
+ .el-menu {
+ border: none;
+ }
+ }
+
+ .blog-summary {
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ gap: 1vh;
+
+ .blog-summary-tab {
+ margin-top: 1vh;
+ height: 5vh;
+ display: flex;
+ align-items: center;
+ gap: 1vw;
+
+ span {
+ font-size: blog.$small-font-size;
+ }
+
+ span:hover {
+ color: #FC6423;
+ cursor: pointer;
+ }
+
+ .tab-active {
+ color: #FC6423;
+ text-decoration: underline;
+ text-underline-offset: 0.5em;
+ }
+ }
+
+ .blog-brief {
+ height: 100%;
+ width: 100%;
+ display: grid;
+ grid-template-rows: 150px 50px 50px 1fr;
+ justify-items: center;
+ align-items: center;
+ gap: 1vh;
+
+ .avatar {
+ padding: 1vh 1vw;
+ display: grid;
+ grid-template-rows: 100px 1fr;
+ justify-items: center;
+ align-items: center;
+ gap: 1vh;
+
+ img {
+ width: 100px;
+ height: 100px;
+ border-radius: 50%;
+ transition: all 2.0s;
+ cursor: pointer;
+ }
+
+ img:hover {
+ transform: rotate(360deg);
+ }
+
+ span {
+ font-weight: bold;
+ }
+ }
+
+ .info {
+ display: grid;
+ grid-template-columns: 1fr 1fr;
+ justify-items: center;
+ align-items: center;
+ gap: 1vw;
+
+ .item {
+ display: grid;
+ grid-template-rows: 1fr 1fr;
+ justify-items: center;
+ align-items: center;
+ gap: 5px;
+ cursor: pointer;
+
+ .name {
+ color: blog.$gray-text-color;
+ }
+
+ .name:hover {
+ color: var(--color-text);
+ }
+ }
+ }
+
+ .social {
+ width: 100%;
+ display: grid;
+ grid-template-columns: 1fr 1fr;
+ cursor: pointer;
+
+ .item {
+ width: 100%;
+ padding: 5px;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ gap: 5px;
+ color: blog.$normal-text-color;
+ font-size: blog.$small-font-size;
+
+ .name {
+ font-size: blog.$small-font-size;
+ }
+ }
+
+ .item:hover {
+ background-color: var(--color-card-bg);
+ color: var(--color-text);
+ }
+ }
+
+ .latest-blog {
+ height: 100%;
+ width: 100%;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ gap: 1vh;
+
+ .title {
+ span {
+ margin-left: 5px;
+ font-weight: bold;
+ }
+ }
+
+ .blog-list {
+ width: 100%;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ gap: 1.5vh;
+ cursor: pointer;
+
+ span {
+ text-align: center;
+ text-decoration: underline;
+ text-underline-offset: 0.1em;
+ font-size: blog.$small-font-size;
+ color: blog.$normal-text-color;
+
+ width: 80%;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ }
+
+ span:hover {
+ color: var(--color-text);
+ }
+ }
+ }
+
+ .blog-time {
+ width: 10vw;
+ height: 100%;
+ }
+
+ span {
+ font-size: blog.$normal-font-size;
+ }
+ }
+
+ .md-editor-catalog {
+ height: 100%;
+ width: 100%;
+ overflow: auto;
+
+ span {
+ word-break: break-all;
+ white-space: normal;
+ font-size: blog.$smaller-font-size;
+ color: #666666;
+ }
+ }
+
+ .scroll-container {
+ padding: 2px 0;
+ width: 100%;
+ border-color: blog.$border-color;
+ border-bottom-left-radius: blog.$border-radius;
+ border-bottom-right-radius: blog.$border-radius;
+ background-color: var(--color-scroll-card-bg);
+
+ text-align: center;
+
+ .fa-arrow-up {
+ color: blog.$theme-color;
+ margin-right: 0.2vw;
+ }
+
+ span {
+ font-size: blog.$small-font-size;
+ color: #A19FA0;
+ }
+ }
+
+ .scroll-container:hover {
+ cursor: pointer;
+ }
+ }
+}
diff --git a/src/styles/blog/blog.tools.module.scss b/src/styles/blog/blog.tools.module.scss
new file mode 100644
index 0000000..73e949b
--- /dev/null
+++ b/src/styles/blog/blog.tools.module.scss
@@ -0,0 +1,129 @@
+@use "blog.variable.module.scss" as blog;
+
+.blog-tools {
+ position: absolute;
+
+ .book-mark-link {
+ border-bottom: none;
+ display: block;
+ position: fixed;
+ top: -2px;
+ left: 20px;
+ color: #222;
+ font-size: 26px;
+ transition: .3s;
+ z-index: 2;
+ }
+
+ .github-corner {
+ border-bottom: none;
+ display: block;
+ position: fixed;
+ top: 0;
+ right: 0;
+ color: #222;
+ font-size: 26px;
+ transition: .3s;
+ z-index: 2;
+ }
+
+ .github-corner:hover .octo-arm {
+ animation: octocat-wave 560ms ease-in-out
+ }
+
+ @keyframes octocat-wave {
+ 0%, 100% {
+ transform: rotate(0)
+ }
+ 20%, 60% {
+ transform: rotate(-25deg)
+ }
+ 40%, 80% {
+ transform: rotate(10deg)
+ }
+ }
+
+ @media (max-width: 500px) {
+ .github-corner:hover .octo-arm {
+ animation: none
+ }
+ .github-corner .octo-arm {
+ animation: octocat-wave 560ms ease-in-out
+ }
+ }
+
+ #particles {
+ position: absolute;
+ z-index: 0;
+ }
+
+ .heart {
+ position: fixed;
+ opacity: 1;
+ scale: 1;
+ width: 10px;
+ height: 10px;
+ background: red;
+ transform: rotate(45deg);
+ z-index: 2;
+ }
+
+ .heart:after, .heart:before {
+ content: "";
+ width: inherit;
+ height: inherit;
+ background: inherit;
+ border-radius: 50%;
+ position: absolute;
+ }
+
+ .heart:after {
+ top: -5px;
+ }
+
+ .heart:before {
+ left: -5px;
+ }
+
+ @keyframes move {
+ 100% {
+ transform: translateY(-20px) rotate(45deg);
+ opacity: 0;
+ }
+ }
+
+ .blog-progress {
+ /* Positioning */
+ position: fixed;
+ left: 0;
+ top: 0;
+ width: 100%;
+ height: 3px;
+ -webkit-appearance: none;
+ -moz-appearance: none;
+ appearance: none;
+ border: none;
+ background-color: transparent;
+ color: blog.$theme-color;
+ z-index: 3;
+ }
+
+ .blog-progress::-webkit-progress-bar {
+ background-color: transparent;
+ }
+
+ .blog-progress::-webkit-progress-value {
+ background-color: blog.$theme-color;
+ }
+
+ .blog-progress::-moz-progress-bar {
+ background-color: blog.$theme-color;
+ }
+
+ .theme-button {
+ position: fixed;
+ top: -2px;
+ left: 50px;
+ z-index: 10;
+ }
+}
diff --git a/src/styles/blog/blog.variable.module.scss b/src/styles/blog/blog.variable.module.scss
new file mode 100644
index 0000000..383b7f5
--- /dev/null
+++ b/src/styles/blog/blog.variable.module.scss
@@ -0,0 +1,23 @@
+$bg-color: #EEEEEE;
+$card-bg-color: #FFFFFF;
+
+// 主题颜色
+$theme-color: #009FA8;
+// 正常文本颜色
+$normal-text-color: #555555;
+// 悬浮文本颜色
+$hover-text-color: #000000;
+// 灰色文本颜色
+$gray-text-color: #9C9C9C;
+
+$normal-bg-color: #CCCCCC;
+$hover-bg-color: #F9F9F9;
+
+$blog-title-font-size: 1.6rem;
+$large-font-size: 1.3rem;
+$normal-font-size: 1rem;
+$small-font-size: 0.9rem;
+$smaller-font-size: 0.8rem;
+
+$border-color: #EEEEEE;
+$border-radius: 15px;
diff --git a/src/styles/index.module.scss b/src/styles/index.module.scss
index b629794..866b589 100644
--- a/src/styles/index.module.scss
+++ b/src/styles/index.module.scss
@@ -77,7 +77,7 @@ span, input {
@font-face {
font-family: 'CustomFont';
- src: url('@/assets/font/custom.ttf') format('truetype');
+ src: url('@/assets/font/custom.woff2') format('truetype');
font-weight: normal;
font-style: normal;
}
diff --git a/src/utils/blog/blogUtil.ts b/src/utils/blog/blogUtil.ts
new file mode 100644
index 0000000..21b7e1d
--- /dev/null
+++ b/src/utils/blog/blogUtil.ts
@@ -0,0 +1,35 @@
+import { IBasicBlog, IBlog, IBlogComment, IBlogNestedComment } from '@/types/blog.ts'
+
+export const getBasicBlog = (blog: IBlog): IBasicBlog => {
+ return {
+ category: blog.category,
+ isGreat: blog.isGreat,
+ readDuration: blog.readDuration,
+ topValue: blog.topValue,
+ wordCount: blog.wordCount,
+ visitCount: blog.visitCount,
+ createTime: blog.createTime,
+ updateTime: blog.updateTime
+ }
+}
+
+// 扁平化数据转两层嵌套结构
+export function flattenToTwoLevel(comments: IBlogComment[]): IBlogNestedComment[] {
+ // 创建评论映射表,快速查找评论
+ const commentMap = new Map
()
+ comments.forEach((comment) => commentMap.set(comment.id, comment))
+
+ // 结果数组
+ const result: IBlogNestedComment[] = []
+
+ // 遍历所有评论,构建两层结构
+ comments.forEach((comment) => {
+ if (comment.parentId === 0) {
+ // 顶层评论
+ const replies = comments.filter((reply) => reply.parentId === comment.id)
+ result.push({ comment, replies })
+ }
+ })
+
+ return result
+}
diff --git a/src/utils/index.ts b/src/utils/index.ts
index 96fb8be..3673f35 100644
--- a/src/utils/index.ts
+++ b/src/utils/index.ts
@@ -21,12 +21,12 @@ export const setActiveClass = (parentClassName: string, elementTag: string,
/**
* 文件服务器地址
*/
-export const fileServiceUrl = '/home-service/file'
+export const fileServiceUrl = '/home-api/file'
/**
* 服务器文件路径根地址
*/
-export const serviceFileRootPath = '/home-service/'
+export const serviceFileRootPath = '/home-api/'
/**
* 获取assets静态资源
diff --git a/src/views/admin/account/index.vue b/src/views/admin/account/index.vue
deleted file mode 100644
index 4428782..0000000
--- a/src/views/admin/account/index.vue
+++ /dev/null
@@ -1,181 +0,0 @@
-
-
-
- 新增账号
-
-
-
-
-
-
-
-
-
- 正常
- 禁用
- 注销
-
-
-
-
- 重置密码
- 禁用
- 删除
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/views/admin/blog/article.vue b/src/views/admin/blog/article.vue
deleted file mode 100644
index 2ac2da6..0000000
--- a/src/views/admin/blog/article.vue
+++ /dev/null
@@ -1,109 +0,0 @@
-
-
-
- 新增文章
-
-
-
-
-
-
-
-
- 是
- 否
-
-
-
-
- 是
- 否
-
-
-
-
-
-
- 预览
- 编辑
- 删除
-
-
-
-
-
-
-
-
-
diff --git a/src/views/admin/blog/category.vue b/src/views/admin/blog/category.vue
deleted file mode 100644
index 4e1fa31..0000000
--- a/src/views/admin/blog/category.vue
+++ /dev/null
@@ -1,82 +0,0 @@
-
-
-
- 新增类别
-
-
-
-
-
-
-
-
- 编辑
- 删除
-
-
-
-
-
-
-
diff --git a/src/views/admin/blog/detail[id].vue b/src/views/admin/blog/detail[id].vue
deleted file mode 100644
index c268230..0000000
--- a/src/views/admin/blog/detail[id].vue
+++ /dev/null
@@ -1,149 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 返回
- 保存
-
-
-
-
-
-
-
diff --git a/src/views/admin/blog/preview[id].vue b/src/views/admin/blog/preview[id].vue
deleted file mode 100644
index 6bba992..0000000
--- a/src/views/admin/blog/preview[id].vue
+++ /dev/null
@@ -1,34 +0,0 @@
-
-
-
{{ blogStore.currentBlog.title }}
-
-
-
-
- 返回
-
-
-
-
-
diff --git a/src/views/admin/blog/visit.vue b/src/views/admin/blog/visit.vue
deleted file mode 100644
index 49f7e4d..0000000
--- a/src/views/admin/blog/visit.vue
+++ /dev/null
@@ -1,69 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/views/admin/dashboard/index.vue b/src/views/admin/dashboard/index.vue
deleted file mode 100644
index 16d0d82..0000000
--- a/src/views/admin/dashboard/index.vue
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
- 首页
-
-
-
-
-
-
diff --git a/src/views/admin/meta.ts b/src/views/admin/meta.ts
deleted file mode 100644
index f1aee86..0000000
--- a/src/views/admin/meta.ts
+++ /dev/null
@@ -1,62 +0,0 @@
-import { IRouteMetaConfig } from 'vue3-common/types'
-
-export const adminMeta: IRouteMetaConfig = {
- '/admin/dashboard': {
- title: '首页',
- icon: 'admin-dashboard',
- order: 1,
- redirect: '/admin/dashboard/index'
- },
- '/admin/dashboard/index': {
- title: '首页',
- icon: ''
- },
- '/admin/blog': {
- title: '博客管理',
- icon: 'admin-blog',
- order: 2,
- redirect: '/admin/blog/article'
- },
- '/admin/blog/article': {
- title: '文章管理',
- icon: ''
- },
- '/admin/blog/category': {
- title: '类别管理',
- icon: ''
- },
- '/admin/blog/visit': {
- title: '访问记录',
- icon: ''
- },
- '/admin/blog/detail/:id': {
- title: '详细',
- icon: '',
- hidden: true
- },
- '/admin/blog/preview/:id': {
- title: '详细',
- icon: '',
- hidden: true
- },
- '/admin/quartz': {
- title: '定时任务',
- icon: 'admin-quartz',
- order: 3,
- redirect: '/admin/quartz/index'
- },
- '/admin/quartz/index': {
- title: '定时任务',
- icon: ''
- },
- '/admin/account': {
- title: '账号管理',
- icon: 'admin-account',
- order: 4,
- redirect: '/admin/account/index'
- },
- '/admin/account/index': {
- title: '账号管理',
- icon: ''
- }
-}
diff --git a/src/views/admin/quartz/index.vue b/src/views/admin/quartz/index.vue
deleted file mode 100644
index 0cc028d..0000000
--- a/src/views/admin/quartz/index.vue
+++ /dev/null
@@ -1,52 +0,0 @@
-
-
-
-
-
-
-
- 邮件提醒
- 未知
-
-
-
-
-
- {{ scope.row.executeTime }}
-
-
-
-
- 不存在
- 正常执行
- 暂停
- 完成
- 执行出错
- 阻塞
-
-
-
-
-
-
-
diff --git a/src/views/mobile-home/anniversary/category.vue b/src/views/anniversary/category.vue
similarity index 88%
rename from src/views/mobile-home/anniversary/category.vue
rename to src/views/anniversary/category.vue
index 55e5192..4b9499c 100644
--- a/src/views/mobile-home/anniversary/category.vue
+++ b/src/views/anniversary/category.vue
@@ -9,10 +9,10 @@
diff --git a/src/views/mobile-home/asset/detail[id].vue b/src/views/asset/detail[id].vue
similarity index 97%
rename from src/views/mobile-home/asset/detail[id].vue
rename to src/views/asset/detail[id].vue
index 2db9761..345fb0f 100644
--- a/src/views/mobile-home/asset/detail[id].vue
+++ b/src/views/asset/detail[id].vue
@@ -53,10 +53,10 @@
diff --git a/src/views/mobile-home/bill/chart.vue b/src/views/bill/chart.vue
similarity index 79%
rename from src/views/mobile-home/bill/chart.vue
rename to src/views/bill/chart.vue
index bf71056..20fe6b7 100644
--- a/src/views/mobile-home/bill/chart.vue
+++ b/src/views/bill/chart.vue
@@ -18,9 +18,9 @@
diff --git a/src/views/mobile-home/bill/data.vue b/src/views/bill/data.vue
similarity index 73%
rename from src/views/mobile-home/bill/data.vue
rename to src/views/bill/data.vue
index ab3a170..53caf76 100644
--- a/src/views/mobile-home/bill/data.vue
+++ b/src/views/bill/data.vue
@@ -10,9 +10,9 @@
diff --git a/src/views/mobile-home/bill/detail[id].vue b/src/views/bill/detail[id].vue
similarity index 98%
rename from src/views/mobile-home/bill/detail[id].vue
rename to src/views/bill/detail[id].vue
index 9a8e49d..0406de3 100644
--- a/src/views/mobile-home/bill/detail[id].vue
+++ b/src/views/bill/detail[id].vue
@@ -106,13 +106,13 @@
diff --git a/src/views/mobile-home/blog/archive.vue b/src/views/blog/archive.vue
similarity index 91%
rename from src/views/mobile-home/blog/archive.vue
rename to src/views/blog/archive.vue
index 1dc63a2..6318568 100644
--- a/src/views/mobile-home/blog/archive.vue
+++ b/src/views/blog/archive.vue
@@ -51,10 +51,10 @@ const changeDateEvent = async (value: Date) => {
*/
const viewBlogClick = async (index: number) => {
const blogId = blogStore.blogList[index].id
- await router.push({ name: 'MobileHomeBlogDetailId', params: { id: blogId } })
+ await router.push({ name: 'BlogDetailId', params: { id: blogId } })
}
diff --git a/src/views/mobile-home/blog/category.vue b/src/views/blog/category.vue
similarity index 90%
rename from src/views/mobile-home/blog/category.vue
rename to src/views/blog/category.vue
index bc41274..b95a43f 100644
--- a/src/views/mobile-home/blog/category.vue
+++ b/src/views/blog/category.vue
@@ -35,10 +35,10 @@ onMounted(() => {
*/
const viewBlogCategoryClick = async (name: string) => {
appStore.isShowMobileBack = true
- await router.push({ name: 'MobileHomeBlogCategoryName', params: { name } })
+ await router.push({ name: 'BlogCategoryName', params: { name } })
}
diff --git a/src/views/mobile-home/blog/category[name].vue b/src/views/blog/category[name].vue
similarity index 95%
rename from src/views/mobile-home/blog/category[name].vue
rename to src/views/blog/category[name].vue
index e0e5b47..2918d49 100644
--- a/src/views/mobile-home/blog/category[name].vue
+++ b/src/views/blog/category[name].vue
@@ -37,5 +37,5 @@ const viewBlogClick = async (index: number) => {
diff --git a/src/views/mobile-home/blog/detail[id].vue b/src/views/blog/detail[id].vue
similarity index 97%
rename from src/views/mobile-home/blog/detail[id].vue
rename to src/views/blog/detail[id].vue
index b915d16..1b4c793 100644
--- a/src/views/mobile-home/blog/detail[id].vue
+++ b/src/views/blog/detail[id].vue
@@ -51,5 +51,5 @@ onMounted(async () => {
diff --git a/src/views/mobile-home/blog/overview.vue b/src/views/blog/overview.vue
similarity index 91%
rename from src/views/mobile-home/blog/overview.vue
rename to src/views/blog/overview.vue
index 8c91cc3..97ecd9c 100644
--- a/src/views/mobile-home/blog/overview.vue
+++ b/src/views/blog/overview.vue
@@ -24,7 +24,7 @@
diff --git a/src/views/mobile-home/food/detail[id].vue b/src/views/food/detail[id].vue
similarity index 66%
rename from src/views/mobile-home/food/detail[id].vue
rename to src/views/food/detail[id].vue
index cd890eb..d165906 100644
--- a/src/views/mobile-home/food/detail[id].vue
+++ b/src/views/food/detail[id].vue
@@ -24,11 +24,11 @@
import { useFoodStore } from '@/store/food.ts'
import { useAppStore } from '@/store/app.ts'
import { useRoute } from 'vue-router'
-import FoodBasicData from '@/components/Home/Food/Data/FoodBasicData.vue'
-import FoodMaterialData from '@/components/Home/Food/Data/FoodMaterialData.vue'
-import FoodStepData from '@/components/Home/Food/Data/FoodStepData.vue'
-import FoodOthersData from '@/components/Home/Food/Data/FoodOthersData.vue'
-import FoodRecordData from '@/components/Home/Food/Data/FoodRecordData.vue'
+import FoodBasicData from '@/components/Food/Data/FoodBasicData.vue'
+import FoodMaterialData from '@/components/Food/Data/FoodMaterialData.vue'
+import FoodStepData from '@/components/Food/Data/FoodStepData.vue'
+import FoodOthersData from '@/components/Food/Data/FoodOthersData.vue'
+import FoodRecordData from '@/components/Food/Data/FoodRecordData.vue'
import { onMounted } from 'vue'
const foodStore = useFoodStore()
@@ -42,5 +42,5 @@ onMounted(() => {
diff --git a/src/views/mobile-home/food/recipe.vue b/src/views/food/recipe.vue
similarity index 86%
rename from src/views/mobile-home/food/recipe.vue
rename to src/views/food/recipe.vue
index 9ce5ca5..a80022c 100644
--- a/src/views/mobile-home/food/recipe.vue
+++ b/src/views/food/recipe.vue
@@ -16,9 +16,9 @@
diff --git a/src/views/mobile-home/food/record.vue b/src/views/food/record.vue
similarity index 67%
rename from src/views/mobile-home/food/record.vue
rename to src/views/food/record.vue
index 4706b17..8293f4d 100644
--- a/src/views/mobile-home/food/record.vue
+++ b/src/views/food/record.vue
@@ -9,9 +9,9 @@
diff --git a/src/views/mobile-home/food/recordForm.vue b/src/views/food/recordForm.vue
similarity index 98%
rename from src/views/mobile-home/food/recordForm.vue
rename to src/views/food/recordForm.vue
index e994436..7ededec 100644
--- a/src/views/mobile-home/food/recordForm.vue
+++ b/src/views/food/recordForm.vue
@@ -55,7 +55,7 @@ import { UploadImage } from 'vue3-common'
import { useFoodStore } from '@/store/food.ts'
import { ref, reactive } from 'vue'
import { FormRules } from 'element-plus'
-import { foodRecordRules } from '@/utils/element/elRules'
+import { foodRecordRules } from '@/utils/element/elRules.ts'
import { fileServiceUrl, serviceFileRootPath } from '@/utils'
import { commonElMessageBox } from 'vue3-common/utils/elUtil'
diff --git a/src/views/home/calendar/date.vue b/src/views/home/calendar/date.vue
deleted file mode 100644
index 6ba5833..0000000
--- a/src/views/home/calendar/date.vue
+++ /dev/null
@@ -1,20 +0,0 @@
-
-
-
-
-
-
-
diff --git a/src/views/home/calendar/plan.vue b/src/views/home/calendar/plan.vue
deleted file mode 100644
index 0474a1b..0000000
--- a/src/views/home/calendar/plan.vue
+++ /dev/null
@@ -1,52 +0,0 @@
-
-
-
-
-
-
-
diff --git a/src/views/mobile/index.vue b/src/views/home/index.vue
similarity index 83%
rename from src/views/mobile/index.vue
rename to src/views/home/index.vue
index fd96557..54a9a13 100644
--- a/src/views/mobile/index.vue
+++ b/src/views/home/index.vue
@@ -22,59 +22,59 @@
+ router="/blog/overview"/>
+ router="/bill/data"/>
+ router="/food/recipe"/>
+ router="/travel/spot"/>
+ router="/product/list"/>
+ router="/plan/calendar"/>
+ router="/anniversary/list"/>
+ router="/period/calendar"/>
+ router="/journal/record"/>
+ router="/kpi/record"/>
+ router="/asset/list"/>
+ router="/ledger/list"/>
+ router="/password/list"/>
+ router="/server/monitor"/>
@@ -91,8 +91,8 @@
-
-
diff --git a/src/views/home/life/food[id].vue b/src/views/home/life/food[id].vue
deleted file mode 100644
index 80be1d8..0000000
--- a/src/views/home/life/food[id].vue
+++ /dev/null
@@ -1,50 +0,0 @@
-
-
-
{{ foodStore.currentFoodRecipe.name }}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
返回
-
-
-
-
-
-
diff --git a/src/views/home/life/travel.vue b/src/views/home/life/travel.vue
deleted file mode 100644
index bb16584..0000000
--- a/src/views/home/life/travel.vue
+++ /dev/null
@@ -1,58 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/views/home/life/travel[id].vue b/src/views/home/life/travel[id].vue
deleted file mode 100644
index 2043430..0000000
--- a/src/views/home/life/travel[id].vue
+++ /dev/null
@@ -1,44 +0,0 @@
-
-
-
{{ travelStore.currentTravelSpot.name }}
-
-
-
-
返回
-
-
-
-
-
-
diff --git a/src/views/home/meta.ts b/src/views/home/meta.ts
deleted file mode 100644
index 44d60d1..0000000
--- a/src/views/home/meta.ts
+++ /dev/null
@@ -1,63 +0,0 @@
-import { IRouteMetaConfig } from 'vue3-common/types'
-
-export const homeMeta: IRouteMetaConfig = {
- '/home/property': {
- title: '家庭资产',
- icon: 'home-property',
- order: 1,
- redirect: '/home/property/bill'
- },
- '/home/property/bill': {
- title: '收支记录',
- icon: ''
- },
- '/home/life': {
- title: '生活记录',
- icon: 'home-life',
- order: 2,
- redirect: '/home/life/food'
- },
- '/home/life/food': {
- title: '美食记录',
- icon: ''
- },
- '/home/life/food/:id': {
- title: '美食展示',
- icon: '',
- hidden: true
- },
- '/home/life/travel': {
- title: '旅行记录',
- icon: ''
- },
- '/home/life/travel/:id': {
- title: '旅行展示',
- icon: '',
- hidden: true
- },
- '/home/calendar': {
- title: '时程印记',
- icon: 'home-calendar',
- order: 3,
- redirect: '/home/calendar/plan'
- },
- '/home/calendar/plan': {
- title: '日程计划',
- icon: ''
- },
- '/home/calendar/date': {
- title: '纪念日',
- icon: ''
- },
- '/home/others': {
- title: '友情链接',
- icon: 'home-link',
- order: 4,
- redirect: '/home/others/admin'
- },
- '/home/others/blog': {
- title: '个人博客',
- icon: '',
- redirect: '/blog'
- }
-}
diff --git a/src/views/home/others/blog.vue b/src/views/home/others/blog.vue
deleted file mode 100644
index eeb5956..0000000
--- a/src/views/home/others/blog.vue
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
-
diff --git a/src/views/home/property/bill.vue b/src/views/home/property/bill.vue
deleted file mode 100644
index 9fad8fa..0000000
--- a/src/views/home/property/bill.vue
+++ /dev/null
@@ -1,56 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/views/mobile-home/journal/detail[id].vue b/src/views/journal/detail[id].vue
similarity index 98%
rename from src/views/mobile-home/journal/detail[id].vue
rename to src/views/journal/detail[id].vue
index 1fa66fb..596cbbd 100644
--- a/src/views/mobile-home/journal/detail[id].vue
+++ b/src/views/journal/detail[id].vue
@@ -99,7 +99,7 @@ import { Location } from '@element-plus/icons-vue'
import { useJournalStore } from '@/store/journal.ts'
import { useAppStore } from '@/store/app.ts'
import { FormRules } from 'element-plus'
-import { journalRules } from '@/utils/element/elRules'
+import { journalRules } from '@/utils/element/elRules.ts'
import { onMounted, reactive, ref } from 'vue'
import { commonElMessageBox } from 'vue3-common/utils/elUtil'
import { fileServiceUrl, serviceFileRootPath } from '@/utils'
diff --git a/src/views/mobile-home/journal/record.vue b/src/views/journal/record.vue
similarity index 81%
rename from src/views/mobile-home/journal/record.vue
rename to src/views/journal/record.vue
index d766611..c3de534 100644
--- a/src/views/mobile-home/journal/record.vue
+++ b/src/views/journal/record.vue
@@ -7,8 +7,8 @@
diff --git a/src/views/mobile-home/journal/timeline.vue b/src/views/journal/timeline.vue
similarity index 95%
rename from src/views/mobile-home/journal/timeline.vue
rename to src/views/journal/timeline.vue
index fcdbf0f..5a11b22 100644
--- a/src/views/mobile-home/journal/timeline.vue
+++ b/src/views/journal/timeline.vue
@@ -19,7 +19,7 @@
diff --git a/src/views/mobile-home/ledger/detail[id].vue b/src/views/ledger/detail[id].vue
similarity index 97%
rename from src/views/mobile-home/ledger/detail[id].vue
rename to src/views/ledger/detail[id].vue
index 30017d9..376c302 100644
--- a/src/views/mobile-home/ledger/detail[id].vue
+++ b/src/views/ledger/detail[id].vue
@@ -74,10 +74,10 @@
diff --git a/src/views/login/index.vue b/src/views/login/index.vue
index 8e83522..c56bdc1 100644
--- a/src/views/login/index.vue
+++ b/src/views/login/index.vue
@@ -18,9 +18,9 @@
-
-
diff --git a/src/views/mobile-home/password/detail[id].vue b/src/views/password/detail[id].vue
similarity index 98%
rename from src/views/mobile-home/password/detail[id].vue
rename to src/views/password/detail[id].vue
index f8c37af..0c108a5 100644
--- a/src/views/mobile-home/password/detail[id].vue
+++ b/src/views/password/detail[id].vue
@@ -72,7 +72,7 @@
import { usePasswordStore } from '@/store/password.ts'
import { useAppStore } from '@/store/app.ts'
import { FormRules } from 'element-plus'
-import { passwordRules } from '@/utils/element/elRules'
+import { passwordRules } from '@/utils/element/elRules.ts'
import { onMounted, reactive, ref } from 'vue'
const formRef = ref()
diff --git a/src/views/mobile-home/password/list.vue b/src/views/password/list.vue
similarity index 79%
rename from src/views/mobile-home/password/list.vue
rename to src/views/password/list.vue
index 43a5b86..d0ce7e3 100644
--- a/src/views/mobile-home/password/list.vue
+++ b/src/views/password/list.vue
@@ -14,9 +14,9 @@
diff --git a/src/views/mobile-home/period/calendar.vue b/src/views/period/calendar.vue
similarity index 95%
rename from src/views/mobile-home/period/calendar.vue
rename to src/views/period/calendar.vue
index 25d9e0a..3e25c1b 100644
--- a/src/views/mobile-home/period/calendar.vue
+++ b/src/views/period/calendar.vue
@@ -11,14 +11,14 @@
diff --git a/src/views/mobile-home/plan/detail[id].vue b/src/views/plan/detail[id].vue
similarity index 98%
rename from src/views/mobile-home/plan/detail[id].vue
rename to src/views/plan/detail[id].vue
index c976f38..4256077 100644
--- a/src/views/mobile-home/plan/detail[id].vue
+++ b/src/views/plan/detail[id].vue
@@ -93,9 +93,9 @@
diff --git a/src/views/mobile-home/product/detail[id].vue b/src/views/product/detail[id].vue
similarity index 97%
rename from src/views/mobile-home/product/detail[id].vue
rename to src/views/product/detail[id].vue
index 9cf2fd5..b288e7b 100644
--- a/src/views/mobile-home/product/detail[id].vue
+++ b/src/views/product/detail[id].vue
@@ -78,10 +78,10 @@
diff --git a/src/views/profile/index.vue b/src/views/profile/index.vue
index 025ea20..f0052da 100644
--- a/src/views/profile/index.vue
+++ b/src/views/profile/index.vue
@@ -1,154 +1,226 @@
-
-
-
-
-
{{ userStore.userInfo.accountName }}
-
{{ userStore.userInfo.description }}
-
+
+
+
+
+
+
+
-
-
-
- {{ userStore.userInfo.username }}
-
-
-
+
{{ userStore.userInfo.accountName }}
+
+
+
+
{{ userStore.userInfo.area.join('-') }}
-
-
- {{ userStore.userInfo.address }}
-
-
-
- {{ userStore.userInfo.gender === 0 ? '女' : '男' }}
-
-
-
+
+
{{ userStore.userInfo.birthDate }}
-
-
-
{{ userStore.userInfo.description }}
+
+
+
+ {{ userStore.userInfo.job }}
+
+
+
+
+ {{ userStore.userInfo.phoneNumber }}
+
+
+
+ {{ userStore.userInfo.email }}
+
+
+
+
+ {{ item }}
+
+
+
{{ userStore.userInfo.description }}
+
+
+
-
+
版本号 {{ appStore.version }}
diff --git a/src/views/mobile-home/profile/info.vue b/src/views/profile/info.vue
similarity index 100%
rename from src/views/mobile-home/profile/info.vue
rename to src/views/profile/info.vue
diff --git a/src/views/mobile-home/profile/password.vue b/src/views/profile/password.vue
similarity index 100%
rename from src/views/mobile-home/profile/password.vue
rename to src/views/profile/password.vue
diff --git a/src/views/mobile-home/server/file.vue b/src/views/server/file.vue
similarity index 97%
rename from src/views/mobile-home/server/file.vue
rename to src/views/server/file.vue
index 7cb3ec5..17c077c 100644
--- a/src/views/mobile-home/server/file.vue
+++ b/src/views/server/file.vue
@@ -35,10 +35,10 @@
diff --git a/src/views/mobile-home/travel/record.vue b/src/views/travel/record.vue
similarity index 67%
rename from src/views/mobile-home/travel/record.vue
rename to src/views/travel/record.vue
index 247581c..6a441fa 100644
--- a/src/views/mobile-home/travel/record.vue
+++ b/src/views/travel/record.vue
@@ -9,9 +9,9 @@
diff --git a/src/views/mobile-home/travel/recordForm.vue b/src/views/travel/recordForm.vue
similarity index 97%
rename from src/views/mobile-home/travel/recordForm.vue
rename to src/views/travel/recordForm.vue
index beac203..2ba0392 100644
--- a/src/views/mobile-home/travel/recordForm.vue
+++ b/src/views/travel/recordForm.vue
@@ -63,10 +63,10 @@
diff --git a/src/views/mobile-home/travel/spotForm.vue b/src/views/travel/spotForm.vue
similarity index 98%
rename from src/views/mobile-home/travel/spotForm.vue
rename to src/views/travel/spotForm.vue
index 9744c35..f094fef 100644
--- a/src/views/mobile-home/travel/spotForm.vue
+++ b/src/views/travel/spotForm.vue
@@ -79,7 +79,7 @@