163 lines
4.3 KiB
JavaScript
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
|