---
description: 若依微服务前后端协作规范（Vue管理后台 + UniApp APP双端，无会议/BPM）
globs: ["**/*.java","**/*.vue","**/*.ts","**/*.sql","**/*.js"]
alwaysApply: true
---
# 冲突优先级声明
达梦数据库、Java编码、信创部署规则优先级高于本文件；若依微服务专项架构规则冲突时以专项文件为准。

# 若依微服务全栈协作规范
## 一、前后端字段映射标准（统一适配达梦8）
### TS类型 → Java类型 → 达梦8字段映射
| 前端TS类型 | Java实体类型 | 达梦8列类型 | 说明 |
| ---- | ---- | ---- | ---- |
| string（雪花ID） | String | VARCHAR(20) | 主键，防止精度丢失 |
| number（状态枚举） | Integer | INT | 业务状态、字典值 |
| string（名称文本） | String | VARCHAR(100) | 名称、标题 |
| string（长描述） | String | VARCHAR(500) | 备注、描述 |
| string（ISO时间） | LocalDateTime | TIMESTAMP | 统一时间类型 |
| boolean | Boolean | BIT | 布尔标识 |
| string[] | List<String> | TEXT | JSON数组存储，JacksonTypeHandler |

## 二、前端页面推导后端代码流程
1. 管理后台Vue页面、UniApp APP页面，先提取全部表单字段、列表查询条件、接口请求；
2. 区分双端接口隔离：管理后台接口、APP移动端独立接口，禁止复用同一套Controller；
3. 后端分层严格遵循：SQL DDL（达梦语法）→ DO → Mapper → VO → Controller → Service；
4. 跨模块查询使用Feign远程调用，不直接操作其他业务Mapper；
5. 字典、枚举前后端同步，后端存数字code，前端通过若依字典组件自动翻译中文；
6. 分页统一PageResult返回，前端PageReqVO继承若依PageParam。

## 三、微服务接口路径规范
1. 管理后台接口前缀：`/api/admin/{module}/{business}`
2. APP移动端接口前缀：`/api/app/{module}/{business}`
3. 公共基础模块接口：`/api/common/{function}`
4. CRUD固定后缀：/create /update /delete /get /page /export-excel

## 四、双端代码产出区分
1. Vue管理后台：基于Element Plus，SqSearchTableFrame标准列表框架；
2. UniApp APP端：uni-form、uni-data-select、uni-list等原生组件，适配移动端触控；
3. 公共类型统一抽离api/types.ts，后台与APP类型文件隔离，不共用；
4. APP端不展示复杂后台管理字段（租户ID、创建人、操作日志等）。

## 五、数据库字段对齐强制要求
1. DO驼峰字段 ↔ 达梦表下划线字段完全一一对应；
2. SaveReqVO覆盖前端所有可编辑字段，不含框架内置字段；
3. RespVO增加富化展示字段（关联名称、字典中文），DO不存储；
4. 新增字段必须同步：达梦ALTER脚本、DO实体、前后端VO类型。

## 六、信创前后端适配要求
1. 前端打包产物无海外CDN资源，静态资源本地化；
2. UniApp打包支持国产安卓系统、国产芯片设备；
3. 前端加密、工具类使用国产加密算法（SM2/SM3/SM4），禁用RSA国际算法；
4. 接口日志脱敏手机号、身份证等敏感信息，满足信创等保规范。
