| 字段 | 值 |
|---|---|
| 史诗 | Epic 010: 统一广告管理系统 |
| 状态 | 已完成 |
| 优先级 | 高 |
| 故事类型 | 修复 (Bug Fix) |
| 工作量 | 2小时 |
| 负责人 | James (Claude Code) |
| 创建日期 | 2026-01-03 |
| 完成日期 | 2026-01-03 |
故事010.001实施时违反了后端模块开发规范,在模块路由定义中添加了/api/v1前缀。按照规范,该前缀应该在server包注册路由时添加,而非模块内部。
故事010.001实施时未仔细参考项目现有模块的路由定义方式,错误地包含了/api/v1前缀。正确的方式是模块内部使用相对路径(如 /),由server包在注册时添加完整前缀。
/api/v1 前缀/api/v1 前缀unified-advertisements.admin.routes.ts
/api/v1/admin/unified-advertisements → //api/v1/admin/unified-advertisements → //api/v1/admin/unified-advertisements/:id → /:id/api/v1/admin/unified-advertisements/:id → /:idunified-advertisement-types.admin.routes.ts
/api/v1/admin/unified-advertisement-types → //api/v1/admin/unified-advertisement-types → //api/v1/admin/unified-advertisement-types/:id → /:id/api/v1/admin/unified-advertisement-types/:id → /:idunified-advertisement-types.routes.ts
/api/v1/advertisement-types → /unified-advertisements.integration.test.ts 中的API调用方式
adminClient['path'].$get() → adminClient.$get()adminClient['path/:id'].$put() → adminClient[':id'].$put()userClient['path'].$get() → userClient.$get()对比项目其他模块(如 delivery-address-module),正确的路由路径定义方式:
正确示例(delivery-address-module):
const createDeliveryAddressRoute = createRoute({
method: 'post',
path: '/', // ✅ 使用相对路径,不包含完整路径
middleware: [authMiddleware],
// ...
});
错误示例(修复前的unified-advertisements-module):
const listRoute = createRoute({
method: 'get',
path: '/api/v1/admin/unified-advertisements', // ❌ 包含完整路径
middleware: [tenantAuthMiddleware] as const,
// ...
});
正确示例(修复后的unified-advertisements-module):
const listRoute = createRoute({
method: 'get',
path: '/', // ✅ 使用相对路径
middleware: [tenantAuthMiddleware] as const,
// ...
});
packages/unified-advertisements-module/src/routes/admin/unified-advertisements.admin.routes.tspackages/unified-advertisements-module/src/routes/admin/unified-advertisement-types.admin.routes.tspackages/unified-advertisements-module/src/routes/unified-advertisement-types.routes.tspackages/unified-advertisements-module/tests/integration/unified-advertisements.integration.test.tsdocs/prd/epic-010-unified-ad-management.mdpnpm --filter @d8d/unified-advertisements-module test
修复完成。所有路由路径现在符合后端模块开发规范,使用相对路径(/),不再包含完整路径前缀。
关键变更:
/api/v1/admin/unified-advertisements 改为 /api.route('/api/v1/admin/unified-advertisements', unifiedAdvertisementAdminRoutes)adminClient['/admin/unified-advertisements'].$get() 改为 adminClient.$get()额外修复:在修复过程中发现史诗010文档中Story 2丢失,已将其恢复并重新编号后续故事。