4.md 3.3 KB

4 litemall管理后台

这里的后台管理业务参考了platform.

目前管理后台的设计存在一个关键问题:

  • 是允许管理员拥有最大权限,直接对数据库内的数据进行任何CRUD操作;

好处是:

  • 管理员可以伪造一些数据、篡改一些数据。。。
  • 维护成本低,不会因为业务调整而需要调整管理后台代码
  • 开发快,不需要设计具体的后台操作业务。

坏处是:

  • 安全低,万一管理员密码泄露,用户可以得到所有数据。
  • 管理员操作数据,需要对数据关系有一定的了解。 如果操作不当,可能造成数据关系混乱,甚至系统崩溃。

  • 还是仅允许管理员按照所设计的业务只能操作部分数据。

好处是:

  • 安全高,用户在设计好的业务下不会破坏后台数据。 如果密码泄露,带来的损失相对前者较小。
  • 操作性好, 坏处是:

当然从项目本身来说后者应该更实际,但是对于小型用户来说, 前者的好处也是存在的。

目前本项目开发方案是第一种,在后面开发阶段(例如v2.0.0)应该会切换到第二种。

项目技术架构:

  • 后台管理前端,即litemall-admin模块
    • vue
    • vuex
    • vue-router
    • axios
    • element-ui
    • vue-element-admin
    • 其他,见package.json
  • 后台管理后端, 即litemall-admin-api模块
    • Spring Boot 1.5.10
    • Spring MVC

目前存在的问题:

  • 严重富文本编辑器
  • 严重业务功能重新设计,例如即使是管理员也不能删除修改用户的相关数据
  • 严重进一步区分商品和货品的关系
  • 严重商品和货品管理,特别是添加一个商品
  • 缺失支持微信登录
  • 缺失后台采用事务
  • 缺失用户密码加盐存储
  • 缺失首页中实现一些小组件,同时点击能够跳转相应页面
  • 缺失商品评价中管理员回复功能
  • 改善大部分页面仅仅是一个表CRUD的效果,交互性一般。 例如,显示商品的时候,只是简单显示表中保存的类目ID和品牌商ID, 更好的效果可能是显示对应的类目名称和品牌商名称, 同时能够显示更详细的类目信息和品牌商信息。
  • 改善页面中图片数据目前是显示地址,更好地做法应该是显示小图片, 同时支持点击放大的效果
  • 改善地址优化,目前每一次点击都会请求后台,应该缓存已有的数据
  • 改善查询时排序功能
  • 改善vue和vue-element-admin等及时更新
  • 功能系统角色和权限
  • 功能系统日志功能
  • 功能系统数据字典功能
  • 功能系统栏目管理功能
  • 功能支持国际化???
  • 功能支持数据库备份

4.1 litemall-admin-api

4.1.1 业务

4.1.2 安全配置

4.1.3 CROS配置

4.2 litemall-admin

litemall-admin模块的代码基于vue-element-admin

4.2.1

4.2.2

4.2.3

4.2.4

4.2.5

4.2.6

4.2.7

4.2.8

4.2.9

4.2.10 系统基础功能

4.2.10.1 数据字典

4.2.10.2 角色权限

4.2.10.3 国际化

4.2.10.4 菜单

4.2.10.5 日志

4.3 开发新组件

这里介绍开发一个新的组件的流程。