- 🔥 完全重写 .cursor/cursorrules-mobile.md (940行) * 基于实际mobile工程Vue 3.4.21+uniapp+uview-plus架构 * 移除所有JeeSite相关内容,精准匹配实际项目 * 新增11个完整章节:技术栈、项目结构、页面开发、组件规范等 - 📚 创建完整规范文档 docs/开发文档/移动端开发规范总结.md (800+行) * 涵盖从项目架构到部署的全流程指导 * 提供可直接使用的页面和组件模板 * 包含现代CSS变量设计系统和用户体验优化 - 🔄 同步更新主配置文件 .cursorrules * 更新移动端技术栈描述 * 调整为Vue 3.4.21+uniapp+uview-plus 3.4.45架构 - 📝 完善变更记录 * 详细记录规范更新背景和技术价值 * 为后续维护提供完整历史记录 核心价值:解决规范与实际项目不匹配问题,为Cursor AI提供准确的移动端开发上下文,确保生成代码完全符合实际项目架构。
2.7 KiB
2.7 KiB
VO 类基础字段规范总结
🎯 核心要求
所有 VO 类必须包含四个基础字段:
/**
* 创建者
*/
private Long createBy;
/**
* 创建时间
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@ExcelProperty(value = "创建时间")
private Date createTime;
/**
* 更新者
*/
private Long updateBy;
/**
* 更新时间
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date updateTime;
🔧 规范背景
| 查询方式 | 基础字段处理 | VO 类要求 | 问题 |
|---|---|---|---|
| MyBatis-Plus 自动查询 | 不包含继承字段 | 无需基础字段 | 未来可能需要 |
| 自定义 SQL 查询 | 明确包含字段 | 必须有对应字段 | 缺失导致运行时错误 |
统一解决方案:所有 VO 类都包含基础字段,确保兼容性!
🚨 强制要求
- 字段完整性:createBy、createTime、updateBy、updateTime
- 类型统一:createBy/updateBy 为 Long,时间字段为 Date
- 注解规范:时间字段使用
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") - Excel 支持:createTime 可选导出,updateTime 通常不导出
🛠️ 快速修复流程
# 1. 发现MyBatis映射错误
grep "Could not set property" logs/error.log
# 2. 编辑VO类,添加缺失字段
# 使用上述标准模板
# 3. 重新构建模块
cd ruoyi-modules/[模块名]
mvn clean install -U -Dmaven.test.skip=true
# 4. 重新构建主应用
cd ../../ruoyi-admin
mvn clean compile -U -Dmaven.test.skip=true
# 5. 触发热重启
echo "reload" > src/main/resources/.reloadtrigger
📊 实际案例
修复成功案例:
- ✅
HqVenueInfoVo- 场地管理界面正常加载 - ✅
HqVenueReservationVo- 场地预约界面正常加载
预防性案例:
- 💡
HqSatCategoryVo- 建议添加基础字段保证一致性
📋 检查清单
新增 VO 类:
- 是否包含四个基础字段?
- 字段类型是否正确?
- 时间字段是否有 JSON 格式化注解?
现有 VO 类修复:
- 检查 MyBatis 映射错误日志
- 补全缺失的基础字段
- 重新构建验证修复效果
🎯 规范价值
- 🔄 兼容性:支持所有查询方式
- 📊 一致性:统一的 VO 类结构
- 🚀 可维护性:减少运行时错误
- 📈 可扩展性:支持未来功能扩展
📚 详细规范
完整规范见:.cursor/cursorrules-backend.md → "VO 类基础字段规范(强制性)"
⚠️ 记住:宁可多加字段保证兼容性,也不要因为字段缺失导致系统异常!