aslan-h5/src/router/index.js
2026-06-03 18:03:12 +08:00

480 lines
14 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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/LandingPage/LoadingView.vue'),
meta: { requiresAuth: false, isPublic: true },
},
{
path: '/loading',
name: 'loading',
component: () => import('../views/LandingPage/LoadingView.vue'),
meta: { requiresAuth: false, isPublic: true },
},
{
path: '/about',
name: 'about',
component: () => import('../views/LandingPage/AboutView.vue'),
},
{
path: '/apply',
name: 'apply',
component: () => import('../views/ApplyHost/ApplyView.vue'),
meta: { requiresAuth: false },
},
{
path: '/not_app',
name: 'not-app',
component: () => import('../views/LandingPage/NotAppView.vue'),
meta: { requiresAuth: false },
},
{
path: '/platform-policy',
name: 'platform-policy',
component: () => import('../views/PlatformPolicy/PlatformPolicy.vue'),
meta: { requiresAuth: true },
},
{
path: '/:pathMatch(.*)*',
name: 'not-found',
redirect: '/apply',
}, // 404 页面
// 管理员中心
{
path: '/admin-center',
name: 'admin-center',
component: () => import('../views/AdminCenter/index.vue'),
meta: { requiresAuth: true },
},
{
path: '/item-distribution',
name: 'item-distribution',
component: () => import('../views/AdminCenter/ItemDistribution.vue'),
meta: { requiresAuth: true },
},
{
path: '/my-BDLeader-teams',
name: 'my-BDLeader-teams',
component: () => import('../views/AdminCenter/MyBDLeaderTeams.vue'),
meta: { requiresAuth: true },
},
{
path: '/my-BD-teams',
name: 'my-BD-teams',
component: () => import('../views/AdminCenter/MyBDTeams.vue'),
meta: { requiresAuth: true },
},
{
path: '/my-agency-teams',
name: 'my-agency-teams',
component: () => import('../views/AdminCenter/MyAgencyTeams.vue'),
meta: { requiresAuth: true },
},
{
path: '/my-recharge-agency',
name: 'my-recharge-agency',
component: () => import('../views/AdminCenter/MyRechargeAgency.vue'),
meta: { requiresAuth: true },
},
{
path: '/admin-policy',
name: 'admin-policy',
component: () => import('../views/AdminCenter/policy.vue'),
meta: { requiresAuth: true },
},
// BDLeader中心
{
path: '/bd-leader-center',
name: 'bd-leader-center',
component: () => import('../views/BDLeaderCenter/index.vue'),
meta: { requiresAuth: true },
},
// BD中心
{
path: '/bd-center',
name: 'bd-center',
component: () => import('../views/BDCenter/index.vue'),
meta: { requiresAuth: true },
},
{
path: '/income-details',
name: 'income-details',
component: () => import('../views/BDCenter/incomeDetails.vue'),
meta: { requiresAuth: true },
},
{
path: '/policy',
name: 'policy',
component: () => import('../views/BDCenter/policy.vue'),
meta: { requiresAuth: true },
},
{
path: '/bd-item-distribution',
name: 'bd-item-distribution',
component: () => import('../views/BDCenter/ItemDistribution.vue'),
meta: { requiresAuth: true },
},
// 金币代理页面
{
path: '/coin-seller',
name: 'coin-seller',
component: () => import('../views/RechargeAgency/index.vue'),
meta: { requiresAuth: true },
},
{
path: '/coin-seller-search',
name: 'coin-seller-search',
component: () => import('../views/RechargeAgency/SearchUser.vue'),
meta: { requiresAuth: true },
},
{
path: '/seller-records',
name: 'seller-records',
component: () => import('../views/RechargeAgency/SellerRecordsView.vue'),
meta: { requiresAuth: true },
},
{
path: '/recharge-agency-recruit',
name: 'recharge-agency-recruit',
component: () => import('../views/RechargeAgency/Recruit.vue'),
meta: { requiresAuth: true },
},
// 代理中心
{
path: '/agency-center',
name: 'agency-center',
component: () => import('../views/AgencyCenter/index.vue'),
meta: { requiresAuth: true },
},
{
path: '/message',
name: 'message',
component: () => import('../views/AgencyCenter/Message.vue'),
meta: { requiresAuth: true },
},
{
path: '/agency-setting',
name: 'agency-setting',
component: () => import('../views/AgencyCenter/AgencySetting.vue'),
meta: { requiresAuth: true },
},
{
path: '/team-bill',
name: 'team-bill',
component: () => import('../views/AgencyCenter/TeamBill.vue'),
meta: { requiresAuth: true },
},
{
path: '/team-member',
name: 'team-member',
component: () => import('../views/AgencyCenter/TeamMember.vue'),
meta: { requiresAuth: true },
},
{
path: '/invite-members',
name: 'invite-members',
component: () => import('../views/AgencyCenter/InviteMembersProcess.vue'),
meta: { requiresAuth: true },
},
// 主播中心
{
path: '/host-center',
name: 'host-center',
component: () => import('../views/HostCenter/index.vue'),
meta: { requiresAuth: true },
},
{
path: '/host-setting',
name: 'host-setting',
component: () => import('../views/HostCenter/HostSetting.vue'),
meta: { requiresAuth: true },
},
// 靓号
{
path: '/good-ID',
name: 'good-ID',
component: () => import('../views/GoodID/index.vue'),
meta: { requiresAuth: true },
},
// 收支相关页面
{
path: '/available-income',
name: 'available-income',
component: () => import('../views/Wallet/availableIncome.vue'),
meta: { requiresAuth: true },
},
{
path: '/transfer',
name: 'transfer',
component: () => import('../views/Wallet/Transfer/Transfer.vue'),
meta: { requiresAuth: true },
},
{
path: '/search-payee',
name: 'search-payee',
component: () => import('../views/Wallet/Transfer/SearchPayee.vue'),
meta: { requiresAuth: true },
},
{
path: '/exchange-gold-coins',
name: 'exchange-gold-coins',
component: () => import('../views/Wallet/Exchange/ExchangeGoldCoins.vue'),
meta: { requiresAuth: true },
},
{
path: '/information-details',
name: 'information-details',
component: () => import('../views/Wallet/Detail/InformationDetails.vue'),
meta: { requiresAuth: true },
},
{
path: '/history-salary',
name: 'history-salary',
component: () => import('../views/Wallet/Detail/HistorySalary.vue'),
meta: { requiresAuth: true },
},
{
path: '/pay-result',
name: 'pay-result',
component: () => import('../views/Wallet/PayResult/payResult.vue'),
meta: { requiresAuth: true },
},
{
path: '/cash-withdraw',
name: 'cash-withdraw',
component: () => import('../views/Wallet/CashOut/CashWithdraw.vue'),
meta: { requiresAuth: true },
},
{
path: '/cash-out',
name: 'cash-out',
component: () => import('../views/Wallet/CashOut/CashOut.vue'),
meta: { requiresAuth: true },
},
{
path: '/cash-out-details',
name: 'cash-out-details',
component: () => import('../views/Wallet/CashOut/Details.vue'),
meta: { requiresAuth: true },
},
{
path: '/KYC',
name: 'KYC',
component: () => import('../views/Wallet/CashOut/KYC.vue'),
meta: { requiresAuth: true },
},
{
path: '/bank-card',
name: 'bank-card',
component: () => import('../views/Wallet/CashOut/BankCard.vue'),
meta: { requiresAuth: true },
},
// 充值页面
{
path: '/recharge',
name: 'recharge',
component: () => import('../views/Recharge/index.vue'),
meta: { requiresAuth: true },
},
{
path: '/recharge-pay-way',
name: 'recharge-pay-way',
component: () => import('../views/Recharge/payWay.vue'),
meta: { requiresAuth: true },
},
{
path: '/map',
name: 'map',
component: () => import('../views/Recharge/map.vue'),
meta: { requiresAuth: true },
},
{
path: '/recharge-guide',
name: 'recharge-guide',
component: () => import('../views/Recharge/guide.vue'),
meta: { requiresAuth: true },
},
// 邀请页面
// {
// path: '/invitation-to-register',
// name: 'invitation-to-register',
// component: () => import('../views/Invitation/InviteToRegister.vue'),
// meta: { requiresAuth: true },
// },
{
path: '/invitation/invite-new-user',
name: 'invitation-invite-new-user',
component: () => import('../views/Invitation/inviteNewUser.vue'),
meta: { requiresAuth: true },
},
{
path: '/invite-bd-leader',
name: 'invite-bd-leader',
component: () => import('../views/Invitation/inviteBDLeader.vue'),
meta: { requiresAuth: true },
},
{
path: '/invite-bd',
name: 'invite-bd',
component: () => import('../views/Invitation/inviteBD.vue'),
meta: { requiresAuth: true },
},
{
path: '/invite-recharge-agency',
name: 'invite-recharge-agency',
component: () => import('../views/Invitation/inviteRechargeAgency.vue'),
meta: { requiresAuth: true },
},
{
path: '/invite-agency',
name: 'invite-agency',
component: () => import('../views/Invitation/inviteAgency.vue'),
meta: { requiresAuth: true },
},
// 固定排行榜活动
{
path: '/couple',
name: 'couple',
component: () => import('../views/Ranking/Couple/index.vue'),
meta: { requiresAuth: true },
}, // 沙特每周一早上0点北京时间5点刷新
{
path: '/top-list',
name: 'top-list',
component: () => import('../views/Ranking/KingAndQueen/TopList.vue'),
meta: { requiresAuth: true },
}, // 沙特每周一早上0点北京时间5点刷新
{
path: '/weekly-star',
name: 'weekly-star',
component: () => import('../views/Ranking/WeeklyStar/WeeklyStar.vue'),
meta: { requiresAuth: true },
}, // 沙特每周一早上0点北京时间5点刷新
{
path: '/ranking',
name: 'ranking',
component: () => import('../views/Ranking/Overall/Ranking.vue'),
meta: { requiresAuth: true },
},
{
path: '/games-king',
name: 'games-king',
component: () => import('../views/Ranking/GamesKing/index.vue'),
meta: { requiresAuth: true },
}, //北京时间每周一早上5点刷新
{
path: '/cp-reward',
name: 'cp-reward',
component: () => import('../views/CPReward/index.vue'),
meta: { requiresAuth: true },
},
// 固定活动
{
path: '/recharge-reward',
name: 'recharge-reward',
component: () => import('../views/Activities/Reward/RechargeReward.vue'),
meta: { requiresAuth: true },
},
{
path: '/login-reward',
name: 'login-reward',
component: () => import('../views/Activities/LoginReward/index.vue'),
meta: { requiresAuth: true },
},
{
path: '/daily-recharge',
name: 'daily-recharge',
component: () => import('../views/Activities/DailyRecharge/index.vue'),
meta: { requiresAuth: true },
},
// 限时活动
{
path: '/activities/gulben-festival',
name: 'gulben-festival',
component: () => import('../views/Activities/GulbenFestival/index.vue'),
meta: { requiresAuth: true },
}, // 古尔邦节活动2026年6月7日上午5点结束
{
path: '/activities/lucky-dollars-season5',
name: 'lucky-dollars-season5',
component: () => import('../views/Activities/LuckyDollars/Season5/index.vue'),
meta: { requiresAuth: true },
}, //2026年x月x日上午5点结束
{
path: '/activities/lucky-dollars-season4',
name: 'lucky-dollars-season4',
component: () => import('../views/Activities/LuckyDollars/Season4/index.vue'),
meta: { requiresAuth: true },
}, //2026年5月1日上午5点结束
{
path: '/activities/lesser-bairam',
name: 'lesser-bairam',
component: () => import('../views/Activities/LesserBairam/index.vue'),
meta: { requiresAuth: true },
}, //2026年4月4日上午5点结束
{
path: '/activities/lucky-dollars-season3',
name: 'lucky-dollars-season3',
component: () => import('../views/Activities/LuckyDollars/Season3/index.vue'),
meta: { requiresAuth: true },
}, //2026年3月19日上午5点结束每周倒计时直到最后一周截止时间
{
path: '/activities/spring-festival',
name: 'spring-festival',
component: () => import('../views/Activities/SpringFestival/index.vue'),
meta: { requiresAuth: true },
}, //2026年3月14日上午5点结束
//游戏活动
{
path: '/activities/world-cup',
name: 'world-cup',
component: () => import('../views/Activities/WorldCup/index.vue'),
meta: { requiresAuth: false },
}, // WorldCup
{
path: '/activities/games/the-greedy-king',
name: 'games-the-greedy-king',
component: () => import('../views/Activities/Games/TheGreedyKing/index.vue'),
meta: { requiresAuth: true },
}, //2025年xx月xx日上午5点结束
{
path: '/activities/bounty-football',
name: 'bounty-football',
component: () => import('../views/Activities/Games/BountyFootball/index.vue'),
meta: { requiresAuth: false },
}, //2026年6月12日上午5点结束
{
path: '/activities/poker-ace',
name: 'pokerAce',
component: () => import('../views/Activities/Games/PokerAce/index.vue'),
meta: { requiresAuth: true },
}, //2026年5月1日上午5点结束
],
})
// 安装路由守卫
installRouteGuard(router)
export default router