From cfe0749affa4c2cf7eeb64b2657af07deb76eaa1 Mon Sep 17 00:00:00 2001 From: "weicw1996@qq.com" Date: Tue, 29 Sep 2026 03:36:04 +0800 Subject: [PATCH] =?UTF-8?q?feat(cms):=20=E6=A1=88=E4=BE=8B/=E6=96=87?= =?UTF-8?q?=E7=AB=A0=E5=88=97=E8=A1=A8=E4=B8=8E=E8=AF=A6=E6=83=85=E6=94=B9?= =?UTF-8?q?=E8=AF=BB=20publishTime?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 配合后端拆出独立的 publish_time 列(见 ADR 0016)。 - 案例列表/详情、文章列表/详情统一取 publishTime,不再回退 createTime (createTime 是系统记录时间,运营没设过,展示它等于显示错误值) - 案例详情页标签由「项目时间」更正为「发布时间」,并补 dayjs 格式化 (原先直出 2026-09-23 19:06:37 完整时间戳) - server/utils/case.ts 废弃 projectTime,改为输出 publishTime - CaseItem 类型同步 仅改 template-07:其余 9 套模板的 CaseDetail 仍读已废弃的 projectTime, 因 CaseItem 带索引签名不会报编译错误,只会在换模板时静默显示创建时间。 该技术债已记入 docs/adr/0016 的「后果」一节,换模板前须先补这 9 套。 --- app/templates/template-07/pages/CaseDetail.vue | 8 +++++++- app/templates/template-07/pages/CaseList.vue | 2 +- app/templates/template-07/pages/NewsDetail.vue | 2 +- app/templates/template-07/pages/NewsList.vue | 2 +- app/types/index.ts | 4 +++- server/utils/case.ts | 5 +++-- 6 files changed, 16 insertions(+), 7 deletions(-) diff --git a/app/templates/template-07/pages/CaseDetail.vue b/app/templates/template-07/pages/CaseDetail.vue index 34d5af8..3075d67 100644 --- a/app/templates/template-07/pages/CaseDetail.vue +++ b/app/templates/template-07/pages/CaseDetail.vue @@ -12,7 +12,7 @@ {{ caseItem.clientName }} - 项目时间:{{ caseItem.projectTime }} + 发布时间:{{ formatDate(caseItem.publishTime) }} 行业:{{ caseItem.categoryName }} @@ -41,6 +41,7 @@ diff --git a/app/templates/template-07/pages/CaseList.vue b/app/templates/template-07/pages/CaseList.vue index 21c6d76..7431960 100644 --- a/app/templates/template-07/pages/CaseList.vue +++ b/app/templates/template-07/pages/CaseList.vue @@ -17,7 +17,7 @@
- {{ formatDate(item.projectTime || item.createTime) }} + {{ formatDate(item.publishTime) }}

{{ item.title }} diff --git a/app/templates/template-07/pages/NewsDetail.vue b/app/templates/template-07/pages/NewsDetail.vue index 24af93f..38a268d 100644 --- a/app/templates/template-07/pages/NewsDetail.vue +++ b/app/templates/template-07/pages/NewsDetail.vue @@ -14,7 +14,7 @@ {{ article.categoryName }} - 发布时间:{{ formatDate(article.publishTime || article.createTime) }} + 发布时间:{{ formatDate(article.publishTime) }} 作者:{{ article.author }}

diff --git a/app/templates/template-07/pages/NewsList.vue b/app/templates/template-07/pages/NewsList.vue index d7eb589..990b26c 100644 --- a/app/templates/template-07/pages/NewsList.vue +++ b/app/templates/template-07/pages/NewsList.vue @@ -22,7 +22,7 @@ class="flex items-baseline gap-4 py-4 group" > - {{ formatDate(item.publishTime || item.createTime) }} + {{ formatDate(item.publishTime) }} {{ item.title }} diff --git a/app/types/index.ts b/app/types/index.ts index da28a3d..0a59a8a 100644 --- a/app/types/index.ts +++ b/app/types/index.ts @@ -417,7 +417,8 @@ export interface CaseItem { categoryId?: number categoryName?: string clientName?: string - projectTime?: string + /** 发布时间:运营可见的对外时间,列表与详情展示、排序的锚点 */ + publishTime?: string tags?: string[] sortNumber?: number status?: number @@ -425,6 +426,7 @@ export interface CaseItem { top?: number /** 推荐标识:1=推荐(当前上游 cms-case 表暂无此字段,预留以便后续版本自动生效) */ recommend?: number + /** 创建时间:系统记录时间,官网不展示 */ createTime?: string updateTime?: string [key: string]: unknown diff --git a/server/utils/case.ts b/server/utils/case.ts index f2176ea..7fb0b52 100644 --- a/server/utils/case.ts +++ b/server/utils/case.ts @@ -26,9 +26,10 @@ export function normalizeCaseItem(raw: any): CaseItem { categoryName: raw.categoryName ?? '', // 客户(后端字段名 customer)→ 前端 clientName clientName: raw.customer ?? raw.clientName ?? '', - // 行业 / 项目时间(后端无 projectTime 字段,回退到创建时间) industry: raw.industry ?? '', - projectTime: raw.projectTime ?? raw.createTime ?? '', + // 发布时间:运营可见的对外时间,官网展示与排序的锚点(后端 cms_case.publish_time)。 + // 不再回退 createTime——那是系统记录时间,运营没设过,展示它等于显示错误值。 + publishTime: raw.publishTime ?? '', // 关联产品(后端 productUsed)作为标签兜底 tags: raw.productUsed ? [raw.productUsed] : (raw.tags ?? []), // 排序 / 状态 / 浏览量