浠艾福 (XAF) - Agent 工作指南
重要工作流(易错点)
数据库迁移(Unknown column 错误处理流程)
错误日志 → 查 entity 类 → 查 schema.sql → DatabaseInitializer 加迁移 → 同步 schema.sql → mvn compile
- 唯一入口:
DatabaseInitializer.runMigrations() — 所有 DDL 迁移写在这里
- 首选:
ensureColumn(table, column, definition) — 自动忽略"列已存在"异常
- 必须同步 schema.sql: 每次迁移后 schema.sql 的
CREATE TABLE 也必须同步更新
- 迁移编号: 搜索
// 迁移 找最新编号,递增
- 幂等: 所有迁移可重复执行
Git 工作流(易踩坑)
git checkout -- file 会丢弃工作区和已 staged 的改动(不可恢复)
git stash pop 会将 stash 内容合并到工作区,可能带入不相关的改动
- 多模块同时修改时:用
git add -p 或分次 git add 精确控制 staged 范围
- 提交前:
git diff --cached --stat 检查 staged 内容是否仅包含目标文件
新增 Controller/Service 前必做
mvn clean compile — 验证无编译冲突
- 检查路由重复:
grep -rn '@Mapping' cfc-backend/src/.../controller/ | grep -oP '@\w+Mapping\("\K[^"]*' | sort -u
- 检查 Bean 命名冲突:Spring 默认 Bean Name 为类名首字母小写,不同包的同名类会冲突
项目结构
| 模块 |
技术栈 |
端口 |
cfc-backend/ |
Spring Boot 2.7.18 + MyBatis-Plus + Java 8 |
9082 |
cfc-frontend/ |
uni-app 微信小程序 (Vue 2, Options API) |
— |
cfc-web/ |
Vue 2 + Element UI 管理端 |
8082 |
dan/danshop/ |
独立商城 Spring Boot |
8888 |
常用命令
# 后端
cd cfc-backend && mvn clean compile # 唯一验证方式
mvn spring-boot:run # 启动 (localhost:9082)
# Web管理端
cd cfc-web && npm run serve # 开发 (localhost:8082)
npm run build # 生产构建 → rsync 到 192.168.16.251:/var/www/cfc-admin/
# 小程序:npm install 后用微信开发者工具导入根目录
# 管理端部署服务器脚本: bash /home/iwt/cfc-auto-deploy.sh
# 数据迁移 (sfms → zxyj)
curl -X POST http://localhost:9082/api/migration/run
数据库
- 地址:
192.168.16.251:3306/zxyj(账号 zxyj / zxyj@123)
- 只读源库:
bianwoyou.mysql.rds.aliyuncs.com:3305/sfms(SfmsDataSourceConfig 配置)
- 建表定义:
cfc-backend/src/main/resources/schema.sql(完整快照)
- 迁移入口:
cfc-backend/src/main/java/com/etotem/cfc/config/DatabaseInitializer.java
核心框架约定
- 接口: 统一
@PostMapping,禁止 @GetMapping/@PutMapping/@DeleteMapping
- ORM: MyBatis-Plus
@TableName + @TableId(type = IdType.AUTO)
- 响应:
Result<T> (code/message/data)
- 认证: JWT Bearer Token,
JwtInterceptor 拦截 /api/**(8个公开路径除外)
- DI:
@Resource,字段名必须与类型默认 Bean Name 一致
- 角色控制: 控制器内手动检查
@RequestAttribute("role")
小程序限制
- 禁止可选链
?.(用 && 替代)
- 禁止 CSS Grid(用 flexbox)
- Vue 2 Options API,禁止 Composition API
子模块详细规范
| 文件 |
内容 |
cfc-backend/AGENTS.md |
后端详细规范 + 数据库迁移工作流 |
cfc-frontend/AGENTS.md |
小程序前端规范 |
cfc-web/AGENTS.md |
Web管理端规范 |
tests/AGENTS.md |
分层测试策略 |