بدون توضیح

yourname dc7a88bcc1 ✨ feat(policy-news): 优化政策资讯图片展示逻辑 9 ماه پیش
.gitea d371fbaefa init 11 ماه پیش
.roo 1f2ec706a8 📝 docs(generic-crud): add documentation for relationFields configuration 9 ماه پیش
docs bf2d65c1c3 ✨ feat(ui): 实现管理后台科技感UI升级 9 ماه پیش
public 177f14be70 📝 docs(component): 完善组件文档并优化图片加载功能 9 ماه پیش
scripts d371fbaefa init 11 ماه پیش
src dc7a88bcc1 ✨ feat(policy-news): 优化政策资讯图片展示逻辑 9 ماه پیش
test 0e408fdccb 首页 10 ماه پیش
.env.example 74802b857e ✨ feat(ai): 集成AI智能体功能 9 ماه پیش
.gitignore d371fbaefa init 11 ماه پیش
.npmrc d371fbaefa init 11 ماه پیش
.rooignore d371fbaefa init 11 ماه پیش
.roomodes fc86bd71d7 ✨ feat(mobile): 实现移动端图标分类左右滑动布局 9 ماه پیش
AVATAR_UPLOAD_FIX.md 5228194611 ✨ feat(mobile): 实现移动端头像上传功能 9 ماه پیش
Dockerfile.release d371fbaefa init 11 ماه پیش
Dockerfile.test d371fbaefa init 11 ماه پیش
MOBILE_UPLOAD_MIGRATION.md 77f1ac1a3b ✨ feat(mobile): 实现移动端头像上传MinIO迁移 9 ماه پیش
README.md 166f6a3073 📝 docs: add common error troubleshooting guide 10 ماه پیش
USER_PREFERENCE_GUIDE.md f11c414ec8 字体大小 10 ماه پیش
debug-avatar-upload.js 5228194611 ✨ feat(mobile): 实现移动端头像上传功能 9 ماه پیش
docker-compose.yml d371fbaefa init 11 ماه پیش
home-icon-management-implementation-plan.md 7c983d7a4b ✨ feat(home-icon): 新增首页图标管理功能 10 ماه پیش
mobile-header-logo-implementation-plan.md 08c3c6ae3e ✨ feat(header): 统一移动端一级页面HeaderLogo组件 9 ماه پیش
mobile-smart-assistant-implementation-plan.md f8b3ba6c61 ✨ feat(mobile): implement ink painting style smart assistant 9 ماه پیش
package.json 3453605b3c 🔧 chore(deps): replace react-quill with react-quill-new 9 ماه پیش
pnpm-lock.yaml 3453605b3c 🔧 chore(deps): replace react-quill with react-quill-new 9 ماه پیش
policy-news-implementation-plan.md 67e04a8919 ✨ feat(policy-news): 实现水墨风格政策资讯移动页面 10 ماه پیش
server.js e14d2d91be 📦 build(deps): add compression and sirv packages 9 ماه پیش
silver-knowledge-admin-code-guide.md 508b8727fe ✨ feat(admin): 新增银龄智库管理后台功能 9 ماه پیش
silver-knowledge-admin-implementation-plan.md 508b8727fe ✨ feat(admin): 新增银龄智库管理后台功能 9 ماه پیش
silver-knowledge-quick-setup.md 508b8727fe ✨ feat(admin): 新增银龄智库管理后台功能 9 ماه پیش
silver-knowledge-upload-plan.md 33ccb18d65 ✨ feat(silver-knowledge): add file upload functionality for silver knowledge management 9 ماه پیش
silver-knowledge-upload-usage.md 33ccb18d65 ✨ feat(silver-knowledge): add file upload functionality for silver knowledge management 9 ماه پیش
start-dev.sh 5228194611 ✨ feat(mobile): 实现移动端头像上传功能 9 ماه پیش
tailwind.config.js bf2d65c1c3 ✨ feat(ui): 实现管理后台科技感UI升级 9 ماه پیش
test-home-api.http 0e408fdccb 首页 10 ماه پیش
test-mobile-avatar-upload.html 77f1ac1a3b ✨ feat(mobile): 实现移动端头像上传MinIO迁移 9 ماه پیش
test-smart-assistant.md f8b3ba6c61 ✨ feat(mobile): implement ink painting style smart assistant 9 ماه پیش
tsconfig.json d371fbaefa init 11 ماه پیش
tsconfig.tsbuildinfo 5676743618 增加了轮播 10 ماه پیش
vite.config.ts c6e4086dc2 📦 build(scripts): refactor build and dev scripts 9 ماه پیش
实体创建字段规范.md c994cf2d2e 银龄库实体 10 ماه پیش
测试移动端页面修复.md 6f005f1430 ✨ feat(mobile): 完善移动端功能与用户体验 10 ماه پیش
移动端页面加载问题修复方案.md 6f005f1430 ✨ feat(mobile): 完善移动端功能与用户体验 10 ماه پیش
银龄平台移动端及平台端-完善版.md 18bcc9cb23 ✨ feat(mobile): 完善移动端个人中心功能模块 10 ماه پیش
银龄平台移动端及平台端.md 18bcc9cb23 ✨ feat(mobile): 完善移动端个人中心功能模块 10 ماه پیش
银龄平台移动端重构技术方案.md 0029820fe4 ✨ feat(member): add footer component to member page 10 ماه پیش
银龄库实体实施指南.md c994cf2d2e 银龄库实体 10 ماه پیش
银龄库实体设计方案.md c994cf2d2e 银龄库实体 10 ماه پیش
银龄智库实体完善方案.md 36052c4240 知识库实体 10 ماه پیش

README.md

常见错误排查指南

前端常见错误

日期组件错误

错误表现:
date4.isValid is not a function
TypeError: date4.isValid is not a function

错误原因:
使用原生Date对象而非dayjs对象初始化日期组件

错误示例:

// 错误示例 - 使用原生Date对象
form.setFieldsValue({
  noteDate: new Date(record.noteDate) // 导致验证失败
});

正确做法:

// 正确示例 - 使用dayjs对象
form.setFieldsValue({
  noteDate: dayjs(record.noteDate) // 正常支持验证方法
});

后端常见错误

OpenAPI路由定义错误

1. 路径参数定义错误

错误表现:
路径参数无法正确解析,接口调用404

错误原因:
使用冒号:定义路径参数而非花括号{}

错误示例:

// 错误方式
path: '/:id'

正确做法:

// 正确方式
path: '/{id}'

2. 参数类型转换错误

错误表现:
数字/布尔型URL参数验证失败,提示类型错误

错误原因:
未使用z.coerce处理URL字符串参数到目标类型的转换

错误示例:

// 错误方式 - 直接使用z.number()
z.number().int().positive() // 无法处理字符串参数

// 错误方式 - 直接使用z.boolean()
z.boolean() // 无法处理字符串参数

正确做法:

// 正确方式 - 使用z.coerce.number()
z.coerce.number().int().positive() // 自动转换字符串参数

// 正确方式 - 使用z.coerce.boolean()
z.coerce.boolean() // 自动转换字符串参数

实体定义错误

1. 创建/更新Schema缺少coerce

错误表现:
日期/数字类型参数验证失败,接口返回400错误

错误原因:
实体的创建/更新Schema中,日期、数字等类型未使用z.coerce进行类型转换

正确做法:

export const UpdateEntityDto = z.object({
  price: z.coerce.number().multipleOf(0.01).optional().openapi({
    description: '价格',
    example: 89.99
  }),
  isActive: z.coerce.boolean().optional().openapi({
    description: '是否激活',
    example: false
  }),
  expireDate: z.coerce.date().optional().openapi({
    description: '过期日期',
    example: '2025-12-31T23:59:59Z'
  })
});

RPC调用错误

InferResponseType使用错误

错误表现:
TypeScript类型推断失败,提示属性不存在

错误原因:
访问带参数的路由类型时未正确使用数组语法

错误示例:

// 错误方式
InferResponseType<typeof zichanClient[':id'].$get, 200>

正确做法:

// 正确方式 - $get要加中括号
InferResponseType<typeof zichanClient[':id']['$get'], 200>

前后端交互错误

表单验证规则不匹配

错误表现:
前端表单提交后后端验证失败,或前端验证通过但后端返回400

错误原因:
前端表单的必填/选填规则与后端实体的create/update schema不一致

正确做法:

  1. 前端表单验证规则必须与后端保持一致
  2. 后端实体schema变更时需同步更新前端表单验证
  3. 创建操作使用CreateXXXDto,更新操作使用UpdateXXXDto