# 架构设计 ## 前后端关系 ```text Vue 3 移动端 / 管理端 | | /api/v1 v Spring Boot 2.7.18 | +-- MyBatis-Plus -- MySQL 8 | +-- 钉钉 JS API / 服务端开放能力(后续接入) ``` ## 后端分层 每个业务模块按 `controller`、`service`、`mapper`、`entity`、`dto`、`vo` 划分。Controller 仅处理 HTTP 协议,Service 承载业务规则,Mapper 只负责数据访问。跨模块能力放在 `common`、`config`、`integration`。 ## API 约定 所有 API 返回以下结构: ```json { "code": 0, "message": "成功", "data": {} } ``` 业务错误使用 `40002`,参数校验错误使用 `40001`,系统异常使用 `50000`。接口路径以 `/api/v1` 为前缀。 ## 身份与权限 钉钉用户标识是系统身份主键。系统只保存用户与角色、数据范围的映射,不保存密码。真实免登和服务端签名校验完成前,模拟 Header 只可用于本地开发。