feat(backend): 增强名片高保真种子数据与 SEO 微官网服务端渲染能力

这个提交包含在:
wikiboss
2026-09-21 16:28:09 +08:00
父节点 61b89395b6
当前提交 72d9cc7ad6
共有 6 个文件被更改,包括 908 次插入 和 130 次删除

查看文件

@@ -12,6 +12,7 @@ import {
GeoHeaderMap,
resolveSuggestedLocale,
} from '../../../../comm/i18n/geo';
import { MOCK_CARDS_DATA } from '../../mock/seed-cards';
export interface PortalRequestContext {
headers?: GeoHeaderMap;
@@ -89,6 +90,23 @@ export class OpenCardPortalController extends BaseController {
}
}
/**
* 获取全部高保真名片预览清单 (供前端预览体验与免登录快速切换)
* 接口地址: GET /open/card/portal/mock-cards
*/
@CoolTag(TagTypes.IGNORE_TOKEN)
@Get('/mock-cards', { summary: '获取高保真名片预览清单' })
async mockCards() {
return this.ok(
MOCK_CARDS_DATA.map(item => ({
...item.card,
bentoBlocksCount: item.bentoBlocks.length,
casesCount: item.cases.length,
articlesCount: item.articles.length,
}))
);
}
/**
* 导出国际商务日程预约排期 ICS 日历订阅文件
* 接口地址: GET /open/card/portal/meeting-ics
@@ -260,7 +278,8 @@ export class OpenCardPortalController extends BaseController {
!slugOrId ||
slugOrId === 'detail' ||
slugOrId === 'meeting-ics' ||
slugOrId === 'preview-html'
slugOrId === 'preview-html' ||
slugOrId === 'mock-cards'
) {
return this.fail('缺少名片标识参数~', 1001);
}