diff --git a/src/components/LayoutHeader/index.vue b/src/components/LayoutHeader/index.vue index 179d3b9..392c5a8 100644 --- a/src/components/LayoutHeader/index.vue +++ b/src/components/LayoutHeader/index.vue @@ -1,13 +1,28 @@ diff --git a/src/pages/login/Login.vue b/src/pages/login/Login.vue index 7b3875d..bcb4b3a 100644 --- a/src/pages/login/Login.vue +++ b/src/pages/login/Login.vue @@ -42,7 +42,8 @@ const mode = ref(MODE.PHONE);
- 登陆 + 登陆商户端 + 登陆管理端 diff --git a/src/pages/manage/pages/account-management /index.vue b/src/pages/manage/pages/account-management /index.vue deleted file mode 100644 index db480c8..0000000 --- a/src/pages/manage/pages/account-management /index.vue +++ /dev/null @@ -1,11 +0,0 @@ - - - - - diff --git a/src/pages/manage/pages/account-management /blackout-records.vue b/src/pages/manage/pages/account-management/blackout-records.vue similarity index 85% rename from src/pages/manage/pages/account-management /blackout-records.vue rename to src/pages/manage/pages/account-management/blackout-records.vue index 1f5c634..484afd8 100644 --- a/src/pages/manage/pages/account-management /blackout-records.vue +++ b/src/pages/manage/pages/account-management/blackout-records.vue @@ -4,6 +4,7 @@ diff --git a/src/pages/manage/pages/account-management /merchant-account.vue b/src/pages/manage/pages/account-management/merchant-account.vue similarity index 85% rename from src/pages/manage/pages/account-management /merchant-account.vue rename to src/pages/manage/pages/account-management/merchant-account.vue index 8c8646c..2485547 100644 --- a/src/pages/manage/pages/account-management /merchant-account.vue +++ b/src/pages/manage/pages/account-management/merchant-account.vue @@ -4,6 +4,7 @@ diff --git a/src/pages/manage/pages/fund/financial-overview.vue b/src/pages/manage/pages/fund/financial-overview.vue index 34aa80e..5821d17 100644 --- a/src/pages/manage/pages/fund/financial-overview.vue +++ b/src/pages/manage/pages/fund/financial-overview.vue @@ -4,6 +4,7 @@ diff --git a/src/pages/manage/pages/fund/payment-management.vue b/src/pages/manage/pages/fund/payment-management.vue index d5bd833..40272f9 100644 --- a/src/pages/manage/pages/fund/payment-management.vue +++ b/src/pages/manage/pages/fund/payment-management.vue @@ -4,6 +4,7 @@ diff --git a/src/pages/manage/pages/expert-management/task-sorting.vue b/src/pages/manage/pages/manage-expert-management/task-sorting.vue similarity index 85% rename from src/pages/manage/pages/expert-management/task-sorting.vue rename to src/pages/manage/pages/manage-expert-management/task-sorting.vue index 6cbdfda..e1dd676 100644 --- a/src/pages/manage/pages/expert-management/task-sorting.vue +++ b/src/pages/manage/pages/manage-expert-management/task-sorting.vue @@ -4,6 +4,7 @@ diff --git a/src/pages/manage/pages/reward-mission/subtask-review.vue b/src/pages/manage/pages/manage-reward-mission/subtask-review.vue similarity index 84% rename from src/pages/manage/pages/reward-mission/subtask-review.vue rename to src/pages/manage/pages/manage-reward-mission/subtask-review.vue index 27b98f4..bdafcc1 100644 --- a/src/pages/manage/pages/reward-mission/subtask-review.vue +++ b/src/pages/manage/pages/manage-reward-mission/subtask-review.vue @@ -4,6 +4,7 @@ diff --git a/src/pages/manage/pages/message-center/message-review.vue b/src/pages/manage/pages/message-center/message-review.vue index 8d45b8d..9a93d01 100644 --- a/src/pages/manage/pages/message-center/message-review.vue +++ b/src/pages/manage/pages/message-center/message-review.vue @@ -4,6 +4,7 @@ diff --git a/src/pinia/SystemStore/index.js b/src/pinia/SystemStore/index.js index 967f5b6..64dd36b 100644 --- a/src/pinia/SystemStore/index.js +++ b/src/pinia/SystemStore/index.js @@ -1,6 +1,6 @@ import {defineStore} from "pinia"; import {ref} from "vue"; -import mockRoutes from './mock.js'; +import {mockRoutes1, mockRoutes2} from './mock.js'; import router from "../../router/index.js"; import generateRouter from "../../router/generateRouter.js"; @@ -21,19 +21,36 @@ export const useSystemStore = defineStore("SystemStore", () => { await router.replace(router.currentRoute.value.fullPath); } - const setRouter = async () => { + const setRouter = async (_isRoot) => { + isRoot.value = _isRoot; + RoutesTemp.value.length = 0; // 请求资源 mockRoutes - const routes = generateRouter(mockRoutes); - RoutesTemp.value.push(...mockRoutes); + const routes = generateRouter(isRoot.value ? mockRoutes2 : mockRoutes1); + RoutesTemp.value.push(...(isRoot.value ? mockRoutes2 : mockRoutes1)); await installRoute(); } + const clearRouter = async () => { + const routes = generateRouter(RoutesTemp.value); + RoutesTemp.value.length = 0; + router.removeRoute('home'); + router.addRoute({ + path: '/home', + name: 'home', + component: () => import('../../pages/layout/index.vue'), + redirect: `/home/${routes[0].path}`, + children: [] + }); + await router.replace(router.currentRoute.value.fullPath); + } + return { isRoot, RoutesTemp, setRouter, installRoute, + clearRouter, } }, { persist: { diff --git a/src/pinia/SystemStore/mock.js b/src/pinia/SystemStore/mock.js index 80b9118..c9453e1 100644 --- a/src/pinia/SystemStore/mock.js +++ b/src/pinia/SystemStore/mock.js @@ -1,4 +1,4 @@ -const mockRoutes = [ +const mockRoutes1 = [ { path: 'task-center', name: 'task-center', @@ -102,7 +102,8 @@ const mockRoutes = [ title: '数据看板', icon: '', meta: { - name: '数据看板' + name: '数据看板', + hidden: true, }, component: 'data-board', }, @@ -204,4 +205,240 @@ const mockRoutes = [ } ]; -export default mockRoutes; +const mockRoutes2 = [ + { + path: 'manage-reward-mission', + name: 'manage-reward-mission', + title: '悬赏任务', + icon: '', + meta: { + name: '悬赏任务' + }, + component: 'manage-reward-mission', + children: [ + { + path: 'task-review', + name: 'task-review', + title: '任务审核', + icon: '', + meta: { + name: '任务审核' + }, + component: 'task-review', + }, + { + path: 'subtask-review', + name: 'subtask-review', + title: '子任务审核', + icon: '', + meta: { + name: '子任务审核' + }, + component: 'subtask-review', + }, + ] + }, + { + path: 'message-center', + name: 'message-center', + title: '消息中心', + icon: '', + meta: { + name: '消息中心' + }, + component: 'message-center', + children: [ + { + path: 'message-review', + name: 'message-review', + title: '消息审核', + icon: '', + meta: { + name: '消息审核' + }, + component: 'message-review', + }, + { + path: 'exemption-from-audit-review', + name: 'exemption-from-audit-review', + title: '免审审核', + icon: '', + meta: { + name: '免审审核' + }, + component: 'subtask-review', + }, + { + path: 'platform-intervention', + name: 'platform-intervention', + title: '平台介入', + icon: '', + meta: { + name: '平台介入' + }, + component: 'platform-intervention', + }, + ] + }, + { + path: 'fund', + name: 'fund', + title: '资金', + icon: '', + meta: { + name: '资金' + }, + component: 'fund', + children: [ + { + path: 'fund-management-business', + name: 'fund-management-business', + title: '资金管理(商)', + icon: '', + meta: { + name: '资金管理(商)' + }, + component: 'fund-management-business', + }, + { + path: 'fund-management-expert', + name: 'fund-management-expert', + title: '资金管理(达)', + icon: '', + meta: { + name: '资金管理(达)' + }, + component: 'fund-management-expert', + }, + { + path: 'withdrawal-information', + name: 'withdrawal-information', + title: '提现信息', + icon: '', + meta: { + name: '提现信息' + }, + component: 'withdrawal-information', + }, + { + path: 'financial-overview', + name: 'financial-overview', + title: '资金概览', + icon: '', + meta: { + name: '资金概览' + }, + component: 'financial-overview', + }, + { + path: 'payment-management', + name: 'payment-management', + title: '打款管理', + icon: '', + meta: { + name: '打款管理' + }, + component: 'payment-management', + }, + ] + }, + { + path: 'account-management', + name: 'account-management', + title: '账号管理', + icon: '', + meta: { + name: '账号管理' + }, + component: 'account-management', + children: [ + { + path: 'merchant-account', + name: 'merchant-account', + title: '商家账号', + icon: '', + meta: { + name: '商家账号' + }, + component: 'merchant-account', + }, + { + path: 'expert-account', + name: 'expert-account', + title: '达人账号', + icon: '', + meta: { + name: '达人账号' + }, + component: 'expert-account', + }, + { + path: 'promoted-accounts', + name: 'promoted-accounts', + title: '推广账号', + icon: '', + meta: { + name: '推广账号' + }, + component: 'promoted-accounts', + }, + { + path: 'blackout-records', + name: 'blackout-records', + title: '拉黑记录', + icon: '', + meta: { + name: '拉黑记录' + }, + component: 'blackout-records', + }, + ] + }, + { + path: 'manage-expert-management', + name: 'manage-expert-management', + title: '资金', + icon: '', + meta: { + name: '达人端管理' + }, + component: 'manage-expert-management', + children: [ + { + path: 'expert-end-materials', + name: 'expert-end-materials', + title: '达人端物料', + icon: '', + meta: { + name: '达人端物料' + }, + component: 'expert-end-materials', + }, + { + path: 'task-sorting', + name: 'task-sorting', + title: '任务排序', + icon: '', + meta: { + name: '任务排序' + }, + component: 'task-sorting', + }, + { + path: 'team-complaints', + name: 'team-complaints', + title: '团队投诉', + icon: '', + meta: { + name: '团队投诉' + }, + component: 'team-complaints', + }, + ] + } +]; + +export { + mockRoutes1, + mockRoutes2 +}; diff --git a/src/pinia/UserStore/index.js b/src/pinia/UserStore/index.js index 3cfcc64..73ac011 100644 --- a/src/pinia/UserStore/index.js +++ b/src/pinia/UserStore/index.js @@ -7,19 +7,26 @@ export const useUserStore = defineStore("UserStore", () => { const isLogin = ref(false); const userInfo = ref(null); - const login = async (from) => { + const login = async (isRoot = false) => { // 请求 isLogin.value = true; // 获取并安装路由 const { setRouter } = useSystemStore(); - await setRouter(); + await setRouter(isRoot); // 跳转 await router.push('/home'); } + + const logout = async () => { + isLogin.value = false; + const { clearRouter } = useSystemStore(); + await clearRouter(); + } return { isLogin, userInfo, login, + logout, } }, { persist: { diff --git a/src/router/routes-map.js b/src/router/routes-map.js index d1db0de..840a92d 100644 --- a/src/router/routes-map.js +++ b/src/router/routes-map.js @@ -1,4 +1,8 @@ const routesMap = { + /** + * 商户端 + */ + 'task-center': () => import('../pages/merchant/pages/task-center/index.vue'), 'reward-mission': () => import('../pages/merchant/pages/task-center/reward-mission.vue'), 'appointed-task': () => import('../pages/merchant/pages/task-center/appointed-task.vue'), @@ -22,6 +26,37 @@ const routesMap = { 'get-help': () => import('../pages/merchant/pages/get-help/index.vue'), 'problem-teaching': () => import('../pages/merchant/pages/get-help/problem-teaching.vue'), 'contact-customer-service': () => import('../pages/merchant/pages/get-help/contact-customer-service.vue'), + + /** + * 达人端 + */ + + 'manage-reward-mission': () => import('../pages/manage/pages/manage-reward-mission/index.vue'), + 'task-review': () => import('../pages/manage/pages/manage-reward-mission/task-review.vue'), + 'subtask-review': () => import('../pages/manage/pages/manage-reward-mission/subtask-review.vue'), + + 'message-center': () => import('../pages/manage/pages/message-center/index.vue'), + 'message-review': () => import('../pages/manage/pages/message-center/message-review.vue'), + 'exemption-from-audit-review': () => import('../pages/manage/pages/message-center/exemption-from-audit-review.vue'), + 'platform-intervention': () => import('../pages/manage/pages/message-center/platform-intervention.vue'), + + 'fund': () => import('../pages/manage/pages/fund/index.vue'), + 'fund-management-business': () => import('../pages/manage/pages/fund/fund-management-business.vue'), + 'fund-management-expert': () => import('../pages/manage/pages/fund/fund-management-expert.vue'), + 'withdrawal-information': () => import('../pages/manage/pages/fund/withdrawal-information.vue'), + 'financial-overview': () => import('../pages/manage/pages/fund/financial-overview.vue'), + 'payment-management': () => import('../pages/manage/pages/fund/payment-management.vue'), + + 'account-management': () => import('../pages/manage/pages/account-management/index.vue'), + 'merchant-account': () => import('../pages/manage/pages/account-management/merchant-account.vue'), + 'expert-account': () => import('../pages/manage/pages/account-management/expert-account.vue'), + 'promoted-accounts': () => import('../pages/manage/pages/account-management/promoted-accounts.vue'), + 'blackout-records': () => import('../pages/manage/pages/account-management/blackout-records.vue'), + + 'manage-expert-management': () => import('../pages/manage/pages/manage-expert-management/index.vue'), + 'expert-end-materials': () => import('../pages/manage/pages/manage-expert-management/expert-end-materials.vue'), + 'task-sorting': () => import('../pages/manage/pages/manage-expert-management/task-sorting.vue'), + 'team-complaints': () => import('../pages/manage/pages/manage-expert-management/team-complaints.vue'), }; export default routesMap;