generated from chenhao/template-h5
- 恢复 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>
201 lines
4.5 KiB
JavaScript
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 }
|