feat(web-admin): register /m/crm/product static routes.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
wuzilongandCursor committed 2026-10-15 09:43:35 +08:00
1 parent d3a7e3d3fd
commit a2769c86dc
6 files changed
+96

No files matched your search

@@ -165,6 +165,36 @@ export const staticRoutes: AppRouteRecordRaw[] = [
component: () => import('@views/m/pl/plan/detail.vue'),
meta: { title: '计划详情', isHideTab: true, isMpWebview: true }
},
{
path: '/m/crm/product',
name: 'MpCrmProductList',
component: () => import('@views/m/crm/product/index.vue'),
meta: { title: '产品管理', isHideTab: true, isMpWebview: true }
},
{
path: '/m/crm/product/new',
name: 'MpCrmProductNew',
component: () => import('@views/m/crm/product/form.vue'),
meta: { title: '新增产品', isHideTab: true, isMpWebview: true }
},
{
path: '/m/crm/product/categories',
name: 'MpCrmProductCategories',
component: () => import('@views/m/crm/product/categories.vue'),
meta: { title: '产品分类', isHideTab: true, isMpWebview: true }
},
{
path: '/m/crm/product/:id/edit',
name: 'MpCrmProductEdit',
component: () => import('@views/m/crm/product/form.vue'),
meta: { title: '编辑产品', isHideTab: true, isMpWebview: true }
},
{
path: '/m/crm/product/:id',
name: 'MpCrmProductDetail',
component: () => import('@views/m/crm/product/detail.vue'),
meta: { title: '产品详情', isHideTab: true, isMpWebview: true }
},
{
path: '/:pathMatch(.*)*',
name: 'Exception404CatchAll',
+1
View File
@@ -1,5 +1,6 @@
export const MP_WEBVIEW_PATH_PREFIX = '/m/'
export const MP_PLAN_LIST_PATH = '/m/pl/plan'
export const MP_CRM_PRODUCT_LIST_PATH = '/m/crm/product'
export const MINI_WORKBENCH_PATH = '/pages/workbench/workbench'
/** H5 iframe / uni 壳页约定:内嵌页请求返回工作台 */
export const MP_WEBVIEW_GO_WORKBENCH = 'MP_WEBVIEW_GO_WORKBENCH'
@@ -0,0 +1,16 @@
<template>
<MpWebviewShell>
<header class="mp-wv-header">
<div class="mp-wv-header__row">
<h1 class="mp-wv-header__title">{{ title }}</h1>
</div>
</header>
<div class="mp-wv-empty">页面建设中</div>
</MpWebviewShell>
</template>
<script setup lang="ts">
import MpWebviewShell from '@/layouts/MpWebviewShell.vue'
import '@/styles/mp-webview.scss'
const title = '产品分类'
</script>
@@ -0,0 +1,16 @@
<template>
<MpWebviewShell>
<header class="mp-wv-header">
<div class="mp-wv-header__row">
<h1 class="mp-wv-header__title">{{ title }}</h1>
</div>
</header>
<div class="mp-wv-empty">页面建设中</div>
</MpWebviewShell>
</template>
<script setup lang="ts">
import MpWebviewShell from '@/layouts/MpWebviewShell.vue'
import '@/styles/mp-webview.scss'
const title = '产品详情'
</script>
@@ -0,0 +1,17 @@
<template>
<MpWebviewShell>
<header class="mp-wv-header">
<div class="mp-wv-header__row">
<h1 class="mp-wv-header__title">{{ title }}</h1>
</div>
</header>
<div class="mp-wv-empty">页面建设中</div>
</MpWebviewShell>
</template>
<script setup lang="ts">
import MpWebviewShell from '@/layouts/MpWebviewShell.vue'
import '@/styles/mp-webview.scss'
const route = useRoute()
const title = computed(() => String(route.meta.title || '产品'))
</script>
@@ -0,0 +1,16 @@
<template>
<MpWebviewShell>
<header class="mp-wv-header">
<div class="mp-wv-header__row">
<h1 class="mp-wv-header__title">{{ title }}</h1>
</div>
</header>
<div class="mp-wv-empty">页面建设中</div>
</MpWebviewShell>
</template>
<script setup lang="ts">
import MpWebviewShell from '@/layouts/MpWebviewShell.vue'
import '@/styles/mp-webview.scss'
const title = '产品管理'
</script>