- users 表添加 nickname、avatar_url 字段 - 用户信息 API(GET/PUT /me)+ 头像上传(multer) - 头像通过 API 路由获取(公开,不经过 auth) - 登录接口返回用户昵称和头像 - 用户信息 Store + 个人资料编辑页面 - 我的页面和首页显示真实用户信息 - 群组表(groups、group_members)+ transactions 添加 group_id - 群组 API(创建/加入/退出/解散) - 交易和统计 API 支持 group_id 视图切换 - 群组客户端 Store + 身份切换 - 群组管理页面 - App 初始化群组 Store - UPLOAD_DIR 配置化 - Node.js 备份替代 mysqldump - 统一前端 BASE_URL(config.ts) - uploads 加入 .gitignore - 修复 trust proxy 警告
2.2 KiB
2.2 KiB
通用原则
- 优先保持现有代码风格与架构模式,不要无理由重构。
- 任何功能或修复变更,需确保现有测试通过,必要时补充新测试。
- 所有输出(代码、注释、文档、提交信息)默认使用简体中文,专有名词或技术术语可保留英文。
编码规范
文件与编码
- 所有文件必须保持 UTF-8编码。
- 修改包含中文的文件时,不得造成中文注释、中文文案、错误提示乱码。
- 如果发现文件已有乱码,不要擅自猜测业务含义,应标记出来让人工确认。
测试要求
- 新增功能必须编写对应的单元测试或集成测试。
- 修复 Bug 时,先添加能复现问题的测试用例,再修复。
- 测试覆盖率不应低于当前项目基线(若未设置,尽量保持 ≥80%)。
- 测试命名清晰,能描述场景,如 should return error when user not found。
注释与文档
注释要求
- 保留已有的重要注释(如文件头说明、JSDoc、业务解释)。
- 新增复杂逻辑、公共 API、关键算法时,必须补充简洁的中文注释,解释“为什么这么做”而非“做了什么”。
- 不要为了注释而注释,避免冗余的废话(例如
i++; // 自增 i)。 - 多行 JSDoc/文档注释保持可读性,不要压缩成单行。
小程序适配要点
- 页面顶部右侧有元素时,使用
capsuleRight避开胶囊按钮 - 新页面需要加载数据时,在
onMounted中先await waitForReady()再请求 - API 地址统一在
config.ts中配置,不要在各文件中硬编码 - 头像等用户文件 URL 只存文件名,前端拼接
API_BASE + 路径 + 文件名
Never 规则
- Never 修改 dist/ 目录
- Never 使用内联样式,除非需要动态计算(胶囊 padding 等除外)
- Never 在渲染路径中执行耗时操作
- Never 在列表渲染中省略 key 属性
- Never 修改 lock 文件
- Never 使用 git stash
- Never 切换分支
- Never 过度封装,保持代码简洁明了
Requirements
- 代码提交前必须检查代码,包括但不限于代码格式、注释、测试覆盖率、文档更新等。
- 影响到历史数据吧,必须要准备好数据迁移方案。