193 lines
5.1 KiB
JavaScript
193 lines
5.1 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 },
|
|
},
|
|
{
|
|
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 },
|
|
},
|
|
],
|
|
});
|
|
|
|
// 安装路由守卫
|
|
installRouteGuard(router);
|
|
|
|
export default router;
|