front/src/router/routes/newModules/user.ts
2026-09-23 11:29:53 +08:00

148 lines
3.6 KiB
TypeScript

import { DEFAULT_LAYOUT } from '../base';
import { AppRouteRecordRaw } from '../types';
const PORTAL_MENU_STUB = () => import('@/views/user/portal-drawer/PortalMenuStub.vue');
const USER: AppRouteRecordRaw = {
path: '/user',
name: 'user',
component: DEFAULT_LAYOUT,
meta: {
locale: 'menu.user',
icon: 'icon-user',
requiresAuth: true,
order: 7,
},
children: [
{
path: 'profile',
name: 'UserProfile',
component: PORTAL_MENU_STUB,
meta: {
locale: 'menu.user.profile',
requiresAuth: true,
roles: ['*'],
hideInMenu: true,
customerPortalOnly: true,
},
},
{
path: 'customer',
name: 'UserCustomer',
component: () => import('@/views/user/customer/index.vue'),
meta: {
locale: 'menu.user.customer',
requiresAuth: true,
roles: ['*'],
},
},
{
path: 'sub-account',
name: 'UserSubAccount',
component: () => import('@/views/user/sub-account/index.vue'),
meta: {
locale: 'menu.user.subAccount',
requiresAuth: true,
roles: ['*'],
},
},
{
path: 'senderAddress',
name: 'UserSenderAddress',
component: () => import('@/views/user/senderAddress/index.vue'),
meta: {
locale: 'menu.user.senderAddress',
requiresAuth: true,
roles: ['*'],
order: 3,
permission: 'Order.SenderAddress.Query',
},
},
{
path: 'exportQualification',
name: 'UserExportQualification',
component: () => import('@/views/user/exportQualification/index.vue'),
meta: {
locale: 'menu.user.exportQualification',
requiresAuth: true,
roles: ['*'],
order: 4,
permission: 'User.ExportQualification.Query',
},
},
{
path: 'recharge',
name: 'VipRechargeDeposit',
component: () => import('@/views/user/recharge/deposit.vue'),
meta: {
locale: 'menu.user.recharge',
requiresAuth: true,
roles: ['*'],
hideInMenu: true,
},
},
{
path: 'marketing/invite',
name: 'UserMarketingInvite',
component: PORTAL_MENU_STUB,
meta: {
locale: 'menu.user.marketing.invite',
requiresAuth: true,
roles: ['*'],
hideInMenu: true,
syncInMenu: true,
menuPermission: 'User.Marketing.Invite',
order: 10,
customerPortalOnly: true,
},
},
{
path: 'marketing/member',
name: 'UserMarketingMember',
component: PORTAL_MENU_STUB,
meta: {
locale: 'menu.user.marketing.member',
requiresAuth: true,
roles: ['*'],
hideInMenu: true,
syncInMenu: true,
menuPermission: 'User.Marketing.Member',
order: 11,
customerPortalOnly: true,
},
},
{
path: 'marketing/coupons',
name: 'UserMarketingCoupons',
component: PORTAL_MENU_STUB,
meta: {
locale: 'menu.user.marketing.coupons',
requiresAuth: true,
roles: ['*'],
hideInMenu: true,
syncInMenu: true,
menuPermission: 'User.Marketing.Coupons',
order: 12,
customerPortalOnly: true,
},
},
{
path: 'marketing/commission',
name: 'UserMarketingCommission',
component: PORTAL_MENU_STUB,
meta: {
locale: 'menu.user.marketing.commission',
requiresAuth: true,
roles: ['*'],
hideInMenu: true,
syncInMenu: true,
menuPermission: 'User.Marketing.Commission',
order: 13,
customerPortalOnly: true,
},
},
],
};
export default USER;