目前在整理做过的一个大型电商项目代码,发现好多技术点和业务思考如果不记下来真的会忘. 所以开个坑, 一方面方便自己记录技术点和业务, 另一方面看这样边记边写的方式, 能否整理出一个小型的开源电商产品. 全部代码开源大概是不行的了, 这个系统涉及公司的很多实际处理业务, 并不具备行业通用性, 放一些通用的功能就行了.
我做项目的习惯是从后台开始, 因此会先写后台网站系统.
后台网站系统的主要功能
后台网站系统是给商城的运营人员使用的系统, 功能主要包括:
- 系统管理: 包括菜单管理, 角色管理和用户管理, 定义后台系统的菜单, 允许哪些用户访问.
- 基础信息: 包括省市区数据定义等.
- 商品管理: 包括商品参数设置, 规格属性设置, 商品模型设置, 商品发布等功能.
- 后台下单: 此系统包括一些模拟前台操作的功能, 主要目的在前台网站没有出来之前, 可以让运营人员对后台功能进行真实的试运营测试, 达到前后台网站并行开发的效果.
- 订单管理: 对已下单的订单进行付款/退货/处理 ... 等一系列处理.
- 报表统计: 对业务数据进行呈现和下载.
- 前台配置: 和前台网站的联通功能, 在后台设置logo, 广告位, 楼层... 等, 在前台可以看到效果, 从而达到配置前台网站的目的.
这部分功能会边写边改, 到时候请参考最新功能点.
技术架构
电商网站的技术架构就是SSM了(springboot + springmvc + mybatis) , 数据库用mysql. 这方面并不标新立异. 以前曾经用过mongodb 做过一个电商系统, 后来发现对于复杂型的业务系统, 用mongodb 并不比mysql 好用多少, 没有关联表做查询搞得代码很复杂. 所以这次还是遵循老套路吧.
页面系统会使用VUE, 配合element-ui 很方便做一些通用控件.
至于其他技术点边写边说.
系统管理
![](https://img.haomeiwen.com/i4074593/61fef0edfcadf7b4.png)
系统管理主要包括3部分, 按照开发的顺序依次是菜单管理, 角色管理和用户管理.
菜单管理
菜单管理大概长这样:
![](https://img.haomeiwen.com/i4074593/94e2b8a102f948c9.png)
对应后台的左侧菜单:
![](https://img.haomeiwen.com/i4074593/90c582b7e061de7b.png)
业务点
每一个菜单记录对应着后台网站左侧的功能, 如果用户的权限拥有此菜单, 他才能看到并使用这个菜单. 通过这种方式, 可以灵活地定义用户和网站业务使用权限的配置关系. 为了方便使用, 菜单管理一般做成树形结构, 方便直观地进行增减.
技术点
菜单管理的技术点主要在于:
- 将树形结构定义成适合sql表的数据格式
- 增删改查代码
- 上移/下移业务功能的实现
- 删除功能要注意的地方
- element-ui 树控件的使用.
业务点和技术点大概就这么多了, 下一篇开始撸代码.
网友评论