All checks were successful
Build and Deploy Front / deploy (push) Successful in 6m56s
官网换 GradientWaves/TextType 并做性能减负;模块指南拆开发/运营;含营销指南、轨迹单与 H5 价格等改动。 Co-authored-by: Cursor <cursoragent@cursor.com>
131 lines
3.6 KiB
TypeScript
131 lines
3.6 KiB
TypeScript
import { DEFAULT_LAYOUT } from '../base';
|
|
import { AppRouteRecordRaw } from '../types';
|
|
|
|
const MARKETING: AppRouteRecordRaw = {
|
|
path: '/marketing',
|
|
name: 'Marketing',
|
|
component: DEFAULT_LAYOUT,
|
|
meta: {
|
|
locale: 'menu.marketing',
|
|
icon: 'icon-gift',
|
|
requiresAuth: true,
|
|
order: 7,
|
|
},
|
|
children: [
|
|
{
|
|
path: 'guide',
|
|
name: 'MarketingGuide',
|
|
component: () => import('@/views/marketing/marketingGuide/index.vue'),
|
|
meta: {
|
|
locale: 'menu.marketing.marketingGuide',
|
|
requiresAuth: true,
|
|
// 与渠道/订单/轨迹指引一致:独立 Guide 权限码,供「同步子菜单」写入 RBAC
|
|
menuPermission: 'Marketing.Guide',
|
|
order: 0,
|
|
icon: 'icon-book',
|
|
},
|
|
},
|
|
{
|
|
path: 'memberLevel',
|
|
name: 'MarketingMemberLevel',
|
|
component: () => import('@/views/marketing/memberLevel/index.vue'),
|
|
meta: {
|
|
locale: 'menu.marketing.memberLevel',
|
|
requiresAuth: true,
|
|
permission: 'Marketing.Level.View',
|
|
order: 1,
|
|
},
|
|
},
|
|
{
|
|
path: 'pointsRule',
|
|
name: 'MarketingPointsRule',
|
|
component: () => import('@/views/marketing/pointsRule/index.vue'),
|
|
meta: {
|
|
locale: 'menu.marketing.pointsRule',
|
|
requiresAuth: true,
|
|
permission: 'Marketing.PointsRule.Edit',
|
|
order: 2,
|
|
},
|
|
},
|
|
{
|
|
path: 'pointsFlow',
|
|
name: 'MarketingPointsFlow',
|
|
component: () => import('@/views/marketing/pointsFlow/index.vue'),
|
|
meta: {
|
|
locale: 'menu.marketing.pointsFlow',
|
|
requiresAuth: true,
|
|
permission: 'Marketing.Points.View',
|
|
order: 3,
|
|
},
|
|
},
|
|
{
|
|
path: 'couponTemplate',
|
|
name: 'MarketingCouponTemplate',
|
|
component: () => import('@/views/marketing/couponTemplate/index.vue'),
|
|
meta: {
|
|
locale: 'menu.marketing.couponTemplate',
|
|
requiresAuth: true,
|
|
permission: 'Marketing.Coupon.Template.View',
|
|
order: 4,
|
|
},
|
|
},
|
|
{
|
|
path: 'couponGrant',
|
|
name: 'MarketingCouponGrant',
|
|
component: () => import('@/views/marketing/couponGrant/index.vue'),
|
|
meta: {
|
|
locale: 'menu.marketing.couponGrant',
|
|
requiresAuth: true,
|
|
permission: 'Marketing.Coupon.Grant',
|
|
order: 5,
|
|
},
|
|
},
|
|
{
|
|
path: 'commissionRule',
|
|
name: 'MarketingCommissionRule',
|
|
component: () => import('@/views/marketing/commissionRule/index.vue'),
|
|
meta: {
|
|
locale: 'menu.marketing.commissionRule',
|
|
requiresAuth: true,
|
|
permission: 'Marketing.Commission.Rule.Edit',
|
|
order: 6,
|
|
},
|
|
},
|
|
{
|
|
path: 'commissionDetail',
|
|
name: 'MarketingCommissionDetail',
|
|
component: () => import('@/views/marketing/commissionDetail/index.vue'),
|
|
meta: {
|
|
locale: 'menu.marketing.commissionDetail',
|
|
requiresAuth: true,
|
|
permission: 'Marketing.Commission.View',
|
|
order: 7,
|
|
},
|
|
},
|
|
{
|
|
path: 'commissionWithdraw',
|
|
name: 'MarketingCommissionWithdraw',
|
|
component: () => import('@/views/marketing/commissionWithdraw/index.vue'),
|
|
meta: {
|
|
locale: 'menu.marketing.commissionWithdraw',
|
|
requiresAuth: true,
|
|
permission: 'Marketing.Commission.Withdraw.View',
|
|
order: 8,
|
|
},
|
|
},
|
|
{
|
|
path: 'referralTree',
|
|
name: 'MarketingReferralTree',
|
|
component: () => import('@/views/marketing/referralTree/index.vue'),
|
|
meta: {
|
|
locale: 'menu.marketing.referralTree',
|
|
requiresAuth: true,
|
|
permission: 'Marketing.Referral.View',
|
|
order: 9,
|
|
},
|
|
},
|
|
],
|
|
};
|
|
|
|
export default MARKETING;
|