ch-xymy-h5/src/router.js
chenhao 7083c8d27e 恢复提现入口、abort 请求不再弹 toast、其他小修
- 恢复 Cashout/CashoutRecord/CashoutAccount 路由及 My/Balance 提现入口,去掉 VIP 校验
- 请求被 abort 时保持 pending,不再触发 caller 的 catch 弹 toast
- App.vue 未登录不请求微信分享配置
- ResetPwd 手机号校验改用 cellphone 字段并统一 showFailToast
- Team 页 active=1 走 referrer 单条数据分支
- 忽略 AGENTS.md

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-07-21 16:18:49 +08:00

201 lines
4.5 KiB
JavaScript

const routes = [
{
path: '/',
name: 'Index',
component: () => import('./views/Index.vue'),
redirect: '/Home',
children: [
{
path: '/Home',
name: 'Home',
parentName: 'Index',
component: () => import('./views/Tabbars/Home.vue'),
meta: { title: '主页', cache: true }
},
{
path: '/Mall',
name: 'Mall',
parentName: 'Index',
component: () => import('./views/Tabbars/Mall.vue'),
meta: { title: '商城', cache: true }
},
{
path: '/My',
name: 'My',
parentName: 'Index',
component: () => import('./views/User/My.vue'),
meta: { title: '我的' }
},
],
meta: { noLogin: true, cache: true }
},
{
path: '/WxCallback',
name: 'WxCallback',
component: () => import('./views/Account/WxCallback.vue'),
meta: {
noLogin: true,
}
},
{
path: '/Login',
name: 'Login',
component: () => import('./views/Account/Login.vue'),
meta: {
title: '登录',
noLogin: true,
noRefresh: true,
}
},
{
path: '/ResetPwd',
name: 'ResetPwd',
component: () => import('./views/Account/ResetPwd.vue'),
meta: {
title: '找回密码',
noLogin: true,
}
},
{
path: '/Balance',
name: 'Balance',
component: () => import('./views/User/Wallet/Balance.vue'),
meta: {
title: '余额',
}
},
{
path: '/Address',
name: 'Address',
component: () => import('./views/User/Address.vue'),
meta: { title: '收货地址' }
},
{
path: '/Invite',
name: 'Invite',
component: () => import('./views/User/Invite.vue'),
meta: { title: '邀请码', cache: true }
},
{
path: '/Service',
name: 'Service',
component: () => import('./views/User/Service.vue'),
meta: { title: '客服中心' }
},
{
path: '/Team',
name: 'Team',
component: () => import('./views/User/Team.vue'),
meta: { title: '我的好友' }
},
{
path: '/Cashout',
name: 'Cashout',
component: () => import('./views/User/Wallet/Cashout/Cashout.vue'),
meta: {
title: '提现',
}
},
{
path: '/CashoutRecord',
name: 'CashoutRecord',
component: () => import('./views/User/Wallet/Cashout/CashoutRecord.vue'),
meta: {
title: '提现记录',
}
},
{
path: '/CashoutAccount',
name: 'CashoutAccount',
component: () => import('./views/User/Wallet/Cashout/CashoutAccount.vue'),
meta: { title: '提现账号' }
},
{
path: '/Category',
name: 'Category',
component: () => import('./views/Goods/Category.vue'),
meta: { title: '全部分类', noLogin: true }
},
{
path: '/GoodsDetail',
name: 'GoodsDetail',
component: () => import('./views/Goods/GoodsDetail.vue'),
meta: { title: '商品详情', noLogin: true, }
},
{
path: '/TradeList',
name: 'TradeList',
component: () => import('./views/Trade/TradeList.vue'),
meta: { title: '订单列表' }
},
{
path: '/TradeDetail',
name: 'TradeDetail',
component: () => import('./views/Trade/TradeDetail.vue'),
meta: { title: '订单详情' }
},
{
path: '/TradeConfirm',
name: 'TradeConfirm',
component: () => import('./views/Trade/TradeConfirm.vue'),
meta: { title: '确认订单' }
},
{
path: '/Pay',
name: 'Pay',
component: () => import('./views/Trade/Pay.vue'),
meta: { title: '支付' }
},
{
path: '/Column',
name: 'Column',
component: () => import('./views/Platform/Column.vue'),
meta: { title: '栏目列表', noLogin: true }
},
{
path: '/ColumnDetail',
name: 'ColumnDetail',
component: () => import('./views/Platform/ColumnDetail.vue'),
meta: { title: '栏目详情', noLogin: true }
},
{
path: '/BusinessSchool',
name: 'BusinessSchool',
component: () => import('./views/Platform/BusinessSchool.vue'),
meta: { title: '商学院', noLogin: true }
},
{
path: '/SchoolDetail',
name: 'SchoolDetail',
component: () => import('./views/Platform/SchoolDetail.vue'),
meta: { title: '商学院详情', noLogin: true, }
},
{
path: '/SyncAuth',
name: 'SyncAuth',
component: () => import('./views/SyncAuth.vue'),
meta: {
noLogin: true,
}
},
{
path: '/404',
name: 'NotFound',
component: () => import('./views/NotFound.vue'),
meta: {
title: '404',
noLogin: true,
}
},
{
path: '/:pathMatch(.*)',
redirect: '/404'
}
]
export { routes }