feat(router): 更新路由结构并优化页面组件
- 移除经营范围按钮,精简导航栏 - 实现文章标题链接功能,提升用户体验 - 添加商品详情页面包屑导航,支持分类跳转 - 引入配送管理相关页面(区域、接单台、配送员、派单) - 替换控制台布局为站点头部和底部组件 - 重构商品分类页面,集成CMS导航功能 - 新增文章详情页面,支持多种访问方式 - 删除已迁移的创建应用和空应用页面 - 优化样式和组件导入,提升代码质量
This commit is contained in:
@@ -5,8 +5,8 @@
|
||||
<a-breadcrumb-item>
|
||||
<NuxtLink to="/">首页</NuxtLink>
|
||||
</a-breadcrumb-item>
|
||||
<a-breadcrumb-item>
|
||||
<span>商品</span>
|
||||
<a-breadcrumb-item v-if="Number.isFinite(categoryId)">
|
||||
<NuxtLink :to="`/product/${categoryId}`">{{ categoryTitle || `分类 ${categoryId}` }}</NuxtLink>
|
||||
</a-breadcrumb-item>
|
||||
<a-breadcrumb-item>{{ title }}</a-breadcrumb-item>
|
||||
</a-breadcrumb>
|
||||
@@ -117,6 +117,8 @@
|
||||
<script setup lang="ts">
|
||||
import { getShopGoods } from '@/api/shop/shopGoods'
|
||||
import type { ShopGoods } from '@/api/shop/shopGoods/model'
|
||||
import { getCmsNavigation } from '@/api/cms/cmsNavigation'
|
||||
import type { CmsNavigation } from '@/api/cms/cmsNavigation/model'
|
||||
|
||||
const route = useRoute()
|
||||
const router = useRouter()
|
||||
@@ -207,6 +209,27 @@ const categoryIdText = computed(() => {
|
||||
return typeof n === 'number' ? String(n) : '-'
|
||||
})
|
||||
|
||||
const categoryId = computed(() => {
|
||||
const g = goods.value as unknown as Record<string, unknown> | null
|
||||
const n = g ? pickNumber(g, 'categoryId') : undefined
|
||||
return typeof n === 'number' && Number.isFinite(n) ? n : NaN
|
||||
})
|
||||
|
||||
const { data: categoryNav } = await useAsyncData<CmsNavigation | null>(
|
||||
() => `cms-navigation-${String(categoryId.value)}`,
|
||||
async () => {
|
||||
if (!Number.isFinite(categoryId.value)) return null
|
||||
return await getCmsNavigation(categoryId.value).catch(() => null)
|
||||
},
|
||||
{ watch: [categoryId] }
|
||||
)
|
||||
|
||||
const categoryTitle = computed(() => {
|
||||
const nav = categoryNav.value as unknown as Record<string, unknown> | null
|
||||
if (!nav) return ''
|
||||
return pickString(nav, 'title') || pickString(nav, 'label')
|
||||
})
|
||||
|
||||
const createTime = computed(() => {
|
||||
const g = goods.value as unknown as Record<string, unknown> | null
|
||||
return g ? pickString(g, 'createTime') || '-' : '-'
|
||||
@@ -396,4 +419,3 @@ useHead(() => ({
|
||||
font-weight: 700;
|
||||
}
|
||||
</style>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user