3.3 KiB
3.3 KiB
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 开发新组件
这里介绍开发一个新的组件的流程。