import { createRouter, createWebHashHistory } from 'vue-router' import { installRouteGuard } from '../utils/routeGuard.js' const router = createRouter({ history: createWebHashHistory(import.meta.env.BASE_URL), routes: [ { path: '/', name: 'root', component: () => import('../views/LoadingView.vue'), meta: { requiresAuth: false, isPublic: true }, }, { 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: '/agency-setting', name: 'agency-setting', component: () => import('../views/Agency/AgencySettingView.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 }, }, { path: '/admin-center', name: 'admin-center', component: () => import('../views/AdminCenter.vue'), meta: { requiresAuth: true }, }, { path: '/item-distribution', name: 'item-distribution', component: () => import('../views/ItemDistribution.vue'), meta: { requiresAuth: true }, }, { path: '/recharge', name: 'recharge', component: () => import('../views/Recharge.vue'), meta: { requiresAuth: true }, }, { path: '/recharge-standard', name: 'recharge-standard', component: () => import('../views/RechargeStandard.vue'), meta: { requiresAuth: true }, }, { path: '/recharge-freight-agent', name: 'recharge-freight-agent', component: () => import('../views/RechargeFreightAgent.vue'), meta: { requiresAuth: true }, }, { path: '/map', name: 'map', component: () => import('../views/map.vue'), meta: { requiresAuth: true }, }, { path: '/pay-result', name: 'pay-result', component: () => import('../views/payResult.vue'), meta: { requiresAuth: true }, }, { path: '/top-list', name: 'top-list', component: () => import('../views/TopList/TopList.vue'), meta: { requiresAuth: true }, }, { path: '/weekly-star', name: 'weekly-star', component: () => import('../views/WeeklyStar/WeeklyStar.vue'), meta: { requiresAuth: true }, }, { path: '/ranking', name: 'ranking', component: () => import('../views/Ranking/Ranking.vue'), meta: { requiresAuth: true }, }, { path: '/halloween', name: 'halloween', component: () => import('../views/Activities/Halloween/Halloween.vue'), meta: { requiresAuth: true }, }, { path: '/invite-agency', name: 'invite-agency', component: () => import('../views/BDCenter/inviteAgency.vue'), meta: { requiresAuth: true }, }, ], }) // 安装路由守卫 installRouteGuard(router) export default router