Files
mall4j/doc/5-二次开发/1-二开总览.md
T

2.1 KiB

二开总览

这一篇先建立完整地图。你不需要记住所有细节,只要知道新增一个后台功能要经过哪些层、每层产出什么。

新增后台管理功能时,优先复制并调整现有简单模块的模式,比如:

公告管理: shop/notice
热搜管理: shop/hotSearch
商品分组: prod/prodTag

标准步骤

  1. 先读一个现有简单模块,例如公告管理 shop/notice。
  2. 设计表结构。
  3. 新增实体 Model。
  4. 新增 Mapper。
  5. 新增 Service。
  6. 新增 Controller。
  7. 新增前端 CRUD 配置。
  8. 新增前端页面。
  9. 新增菜单和按钮权限。
  10. 给角色分配权限。
  11. 本地验证列表、新增、修改、删除。

学习路径

建议分四次完成,不要一口气把所有文件都写完:

阶段 目标 完成后应该看到
1 读懂一个现有模块。 能说出 shop/notice 的 Controller、页面、菜单权限在哪里。
2 只完成后端 CRUD。 接口能返回 code=00000,数据库能看到新增数据。
3 接上前端列表和表单。 页面能分页展示、能打开新增和修改弹窗。
4 补菜单、按钮、角色权限。 正确角色能看到菜单和按钮,无权限角色看不到按钮。

后端文件位置

yami-shop-bean/src/main/java/com/yami/shop/bean/model/
yami-shop-service/src/main/java/com/yami/shop/dao/
yami-shop-service/src/main/java/com/yami/shop/service/
yami-shop-service/src/main/resources/mapper/
yami-shop-admin/src/main/java/com/yami/shop/admin/controller/

前端文件位置

front-end/mall4v/src/crud/
front-end/mall4v/src/views/modules/

权限配置

菜单和按钮权限来自 tz_sys_menu。新增页面后,需要给角色分配对应菜单和按钮权限,否则页面或按钮可能不可见。

本文依据

  • yami-shop-admin/src/main/java/com/yami/shop/admin/controller/NoticeController.java
  • front-end/mall4v/src/views/modules/shop/notice/index.vue
  • front-end/mall4v/src/crud/shop/notice.js
  • db/yami_shop.sql 中 shop/notice 和 shop:notice:* 菜单权限数据。