项目架构与模块划分
描述后端分层、前端目录、模块地图,帮助快速定位代码。
后端分层(RuleApiPro)
web/ Controller(REST 入口,一个 Java 文件对应一个大模块)
annotation/ @LoginRequired 等自定义注解
aop/ 切面(登录校验 LoginAspect)
common/ 通用工具(baseFull、ResultAll、RedisHelp、UserStatus)
service/ 业务层(接口 + impl)
dao/ MyBatis Dao 接口
entity/ 实体(对应数据库表)
resources/mapper/*.xml SQL 映射
resources/*.sql 建表脚本(幂等)
关键约定:
- 所有 Controller 方法返回 JSON 字符串,格式统一
Result.getResultJson(code,msg,data);code=1成功、code=0失败。 - 登录校验:方法标
@LoginRequired(purview="0");-1为公开(isLogin=1 时强制登录)、0需登录、2超管。 - 参数传递:单值用
@RequestParam;复杂对象用params或searchParams(JSON 字符串,XssCleanIgnore标注后由 Controller 内jsonToMap.toJavaObject(...)解析)。 - Redis 缓存:统一经
redisHelp(setRedis/getRedis/delete/setList/getList/deleteKeysWithPattern),键前缀dataprefix_。 - 事务:扣费/下单等多表写操作加
@Transactional(rollbackFor=Exception.class),catch 中throw new RuntimeException(...)触发回滚(对齐 ShopController 模式)。
前端目录(RuleAppRro)
pages/ 页面(tabPage 为底部 tab;其余按模块分目录:user/soft/shop/contents/forum/space/chat/manage…)
components/ 公共组件(articleItem/commentItem/spaceItem/shopMountCard…)
utils/api.js 全部接口函数(functionName(){ return API_URL + 'path'; })
utils/request.js / $Net 网络请求封装
static/base.css 公共样式(含主题变量与黑夜适配)
store/index.js vuex(AppStyle 换肤状态等)
模块地图
| 模块 | 后端 Controller | 前端目录 | 说明 |
|---|---|---|---|
| 用户会员 | UsersController | pages/user、tabPage/user | 资料/资产/荣誉/绑定/注销 |
| 内容 | ContentsController | pages/contents | 文章/付费/图集 |
| 动态空间 | SpaceController | pages/space | 动态/转发/评论 |
| 论坛圈子 | ForumController | pages/forum | 版块/帖子/付费圈子 |
| 商城 | ShopController | pages/shop、tabPage/cart | 商品/购物车/订单/卖单 |
| 软件库 | SoftController | pages/soft | 软件/付费下载/投稿 |
| 支付财务 | PayController | pages/user/* | 充值/提现/流水/返利 |
| AI/GPT | GptController | pages/gpt | 多渠道 AI 会话 |
| 荣誉 | HonorController | pages/user/honor* | 头衔/徽章/头像框 |
| 小游戏 | MinigameController | pages/minigame | 刮刮乐/老虎机等 |
| 安装/升级 | InstallController | RuleApiVisible | 建表/补列迁移 |
| 系统配置 | SystemController | RuleApiVisible | 轮播/导航/商城配置 |
代码定位技巧
- 找接口:
grep "RequestMapping(value = \"/xxx\")" web/。 - 找前端调用:
grep "api.xxx()" pages/。 - 找数据表:按实体名在
resources/*.sql或InstallController查建表/迁移。 - 文档对照:本站在线接口文档(
docs/api)与源码一一对应。