aslan-h5/src/router/index.js
2025-08-22 19:05:17 +08:00

163 lines
4.3 KiB
JavaScript

import { createRouter, createWebHistory } from 'vue-router'
import { installRouteGuard } from '../utils/routeGuard.js'
const router = createRouter({
history: createWebHistory(import.meta.env.BASE_URL),
routes: [
{
path: '/',
redirect: '/loading' // 默认跳转到加载页面
},
{
path: '/loading',
name: 'loading',
component: () => import('../views/LoadingView.vue'),
meta: { requiresAuth: false, isPublic: true }
},
{
path: '/host-center',
name: 'host-center',
component: () => import('../views/HostCenterView.vue'),
meta: { requiresAuth: true }
},
{
path: '/agency-center',
name: 'agency-center',
component: () => import('../views/AgencyCenterView.vue'),
meta: { requiresAuth: true }
},
{
path: '/bd-center',
name: 'bd-center',
component: () => import('../views/BDCenterView.vue'),
meta: { requiresAuth: true }
},
{
path: '/coin-seller',
name: 'coin-seller',
component: () => import('../views/CoinSellerView.vue'),
meta: { requiresAuth: true }
},
{
path: '/apply',
name: 'apply',
component: () => import('../views/ApplyView.vue'),
meta: { requiresAuth: false }
},
{
path: '/message',
name: 'message',
component: () => import('../views/MessageView.vue'),
meta: { requiresAuth: true }
},
{
path: '/transfer',
name: 'transfer',
component: () => import('../views/TransferView.vue'),
meta: { requiresAuth: true }
},
{
path: '/exchange-gold-coins',
name: 'exchange-gold-coins',
component: () => import('../views/ExchangeGoldCoinsView.vue'),
meta: { requiresAuth: true }
},
// 辅助页面
{
path: '/about',
name: 'about',
component: () => import('../views/AboutView.vue'),
},
{
path: '/host-setting',
name: 'host-setting',
component: () => import('../views/HostSettingView.vue'),
meta: { requiresAuth: true }
},
{
path: '/search-payee',
name: 'search-payee',
component: () => import('../views/SearchPayeeView.vue'),
meta: { requiresAuth: true }
},
{
path: '/information-details',
name: 'information-details',
component: () => import('../views/InformationDetailsView.vue'),
meta: { requiresAuth: true }
},
{
path: '/invite-members',
name: 'invite-members',
component: () => import('../views/InviteMembersView.vue'),
meta: { requiresAuth: true }
},
{
path: '/team-bill',
name: 'team-bill',
component: () => import('../views/TeamBillView.vue'),
meta: { requiresAuth: true }
},
{
path: '/team-member',
name: 'team-member',
component: () => import('../views/TeamMemberView.vue'),
meta: { requiresAuth: true }
},
{
path: '/platform-policy',
name: 'platform-policy',
component: () => import('../views/PlatformPolicyView.vue'),
meta: { requiresAuth: true }
},
{
path: '/coin-seller-search',
name: 'coin-seller-search',
component: () => import('../views/CoinSellerSearchView.vue'),
meta: { requiresAuth: true }
},
{
path: '/seller-records',
name: 'seller-records',
component: () => import('../views/SellerRecordsView.vue'),
meta: { requiresAuth: true }
},
{
path: '/bd-setting',
name: 'bd-setting',
component: () => import('../views/BDSettingView.vue'),
meta: { requiresAuth: true }
},
// 公共页面
{
path: '/not_app',
name: 'not-app',
component: () => import('../views/NotAppView.vue'),
meta: { requiresAuth: false }
},
// 404 页面
{
path: '/:pathMatch(.*)*',
name: 'not-found',
redirect: '/apply'
},
{
path: '/history-salary',
name: 'history-salary',
component: () => import('../views/HistorySalaryView.vue'),
meta: { requiresAuth: true }
},
{
path: '/platform-salary',
name: 'platform-salary',
component: () => import('../views/PlatformPolicyView.vue'),
meta: { requiresAuth: true }
}
],
})
// 安装路由守卫
installRouteGuard(router)
export default router