Files
xk-of-api/AGENTS.md
2026-07-18 05:58:41 +08:00

44 lines
3.9 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 项目协作规则
## 全局规则
- 代码方法结构体接口关键业务分支复杂判断和关键配置都需要编写清晰的中文注释
- 注释要说明业务意图输入输出边界条件和注意事项避免只重复代码字面含义
- 模块职责要清晰避免跨层调用重复实现和无关逻辑混入
- 新增或修改功能时优先遵循项目已有目录结构命名方式封装习惯和错误处理方式
- 公共能力应沉淀为可复用模块或组件避免在多个页面控制器或服务中复制粘贴
## 前端规则
- 项目名称为萧康云医官网定位为面向诊所赋能业务的 SaaS 平台
- 产品端形态包含小程序患者端医生端门店老板端推广员端以及 PC 管理后台和官网相关页面
- 页面设计要体现 SaaS 平台的专业清晰高效优先服务信息扫描业务转化和多角色理解
- 必须注意多端适配兼容移动端平板端和桌面端不允许出现文字溢出布局重叠关键按钮不可触达等问题
- 必须提供暗色模式适配暗色模式以灰黑体系为主文字按钮卡片图表和状态提示都要保持可读
- 采用模块化组件化设计页面由清晰的业务模块和可复用 UI 组件组成
- 组件职责保持单一状态事件属性和插槽设计清楚避免单个组件承担过多页面逻辑
- 表单列表筛选弹窗空状态加载状态错误状态成功状态等常见状态要完整设计
- 视觉风格要克制现代可信适合医疗和诊所经营场景避免过度营销化装饰化或单一色系堆叠
## 后端规则
- 后端使用 GoFrame GF 框架必须遵循 GF 的项目结构路由注册控制器服务模型配置和错误处理规范
- 分层链路固定为路由 -> 控制器 -> service 服务层 -> 模型层
- 路由层只负责请求路径HTTP 方法中间件和控制器绑定不编写业务逻辑
- 控制器层负责获取请求信息参数验证用户信息解析调用 service并返回统一响应
- 控制器层不编写核心业务逻辑不直接操作数据库不绕过 service 调用模型
- service 层是业务逻辑层负责业务流程编排权限判断事务控制数据处理和外部服务调用
- 模型层只用于定义表结构表关系字段映射和数据承载不编写业务逻辑
- 数据库访问事务缓存队列第三方接口等能力应按 GF 推荐方式封装并放在合适的服务或基础设施模块中
- 参数校验错误码日志上下文传递和用户身份解析要保持统一规范
- 不准使用数据库迁移自动删除或破坏已有数据结构调整必须提供可审查的 SQL
## API 响应与字段命名规则
- 所有 HTTP API HTTP 状态码统一返回 200不用 4xx/5xx 直接表达业务失败前端必须通过响应体 `code` 判断成功或失败
- 统一响应结构固定为 `{ "code": 0, "message": "ok", "result": ... }`
- 业务错误返回 `code != 0``message` 必须给出清晰中文错误信息`result` 默认返回 `null`
- 控制器返回错误时必须调用统一响应封装禁止出现无错误信息的 500空响应或框架默认错误页
- JSON 请求字段和响应字段统一使用下划线命名 `snake_case`例如 `order_no``tenant_name``contact_name``plan_code``billing_cycle``menu_layout``global_layout``final_layout`
- Go 结构体字段可以保持 Go 命名规范 `json` tag 必须写成 `snake_case`map 返回值的 key 也必须使用 `snake_case`
- 使用 GF 时避免统一响应被二次包装如果控制器已经写出 `{ code, message, result }`不要再叠加响应中间件造成 500 或嵌套响应