前言
该项目实现了后台管理类项目的前后端,管理的是自己写的商城类微信小程序
- 前端:HTML、JS、Vue、ElementUI
- 后端:Go、Gin、GORM
- 数据库:MySQL、Redis
项目仓库地址
前端仓库链接:后台管理项目前端
后端仓库链接:后台管理项目后端
项目介绍
实现的功能点:
- 权限管理
- 管理员注册
- 管理员登录
- 用户权限修改(普通管理员、超级管理员)
- 商品管理
- 商品列表(修改、删除)
- 添加商品
- 商品统计(图表统计)
- 分类管理
- 商品分类列表(修改、删除)
- 商城普通用户管理
- 用户管理(用户信息查看、修改)
- 添加用户
该项目致力于打造一个简易实现的后台管理系统,采用现阶段流行技术实现,欢迎大家相互交流学习、欢迎点赞 👍 和 start✨。
技术选型
后端技术
| 技术 | 说明 | 官网 |
|---|---|---|
| Go | Go 语言 | go.dev/ |
| Gin | Go (Golang) 编写的 Web 框架 | github.com/gin-gonic/g… |
| GORM | Golang 的 ORM框架 | gorm.io/index.html |
| Swagger-UI | 文档生成工具 | github.com/swagger-api… |
前端技术
| 技术 | 说明 | 官网 |
|---|---|---|
| JavaScript | JavaScript语言 | www.javascript.com/ |
| Vue | 前端框架 | vuejs.org/ |
| Axios | 前端HTTP框架 | github.com/axios/axios |
| ElementUI | UI组件库 | element.eleme.cn/#/zh-CN |
| Sass | 样式拓展语言 | sass-lang.com/ |
容器技术
| 技术 | 说明 | 官网 |
|---|---|---|
| Docker | 容器 | www.docker.com/ |
| Kubernetes | 容器编排引擎 | kubernetes.io/ |
数据库
| 技术 | 说明 | 官网 |
|---|---|---|
| MySql | 关系型数据库 | www.mysql.com/ |
| Redis | 非关系型数据库 | redis.io/ |
运行结果展示
管理员注册
实现了管理员的登录注册功能。每次用户登录,将用户信息缓存至 Redis 中,保证该用户的 24h 不用重新登录。
管理员信息管理,此部分为超级管理员的功能,允许超级管理员对普通管理员进行权限的修改、新增及删除操作。
商品管理
管理普通用户的所有商品,包含商品名称、商品分类、商品现价、商品原价、封面图等信息,并且能对信息进行修改和删除。其中的商品查询用到了分页功能。
上架商品功能,能给商品数据库中添加一件商品。
统计用户加购数量前十的商品。商品被加购的次数缓存在 Redis 中。
分类管理
商品分类信息管理,允许管理员对小程序首页的分类信息进行修改和删除。
商城普通用户管理
对于所有在微信小程序商城注册的用户,在管理员平台都能对其编辑、管理。
提供手动添加普通用户的功能。
数据库设计
管理员信息表:
| admin_id | username | password |
|---|---|---|
| 管理员用户id | 管理员用户名 | 登录密码 |
| int | String | String |
角色表:
| id | role_id | role_name |
|---|---|---|
| id | 管理员角色对应的角色 id | 管理员角色 |
| int | int | String |
管理员-角色表(描述管理员与角色的对应情况):
| id | role_id | admin_name |
|---|---|---|
| id | 管理员角色对应的角色 id | 管理员 id |
| int | int | int |
用户表:
| uid | username | address | phone | receiver |
|---|---|---|---|---|
| 用户id | 用户名 | 收货地址列表 | 联系电话 | 收件人 |
| int | String | String | String | String |
商品表:
| product_id | banner | price | old_price | category_id | unit | title | sub_title |
|---|---|---|---|---|---|---|---|
| 商品id | 主图 | 价格 | 原价 | 分类 | 单位 | 商品名 | 次标题 |
| int | String | Double | Double | int | String | String | String |
商品分类表:
| category_id | category |
|---|---|
| 商品分类id | 商品种类名 |
| int | String |
订单表:
| orderId | address | order | order_time | uid | status |
|---|---|---|---|---|---|
| 订单id | 收货地址(可以在用户表中取) | 具体货物和数量 | 下单时间(时间戳) | 对应的userId | 订单状态(0:待付款;1:待配送;2:待评价) |
| int | String | List | String | int | int |
商品-订单表:(用处:能记录商品被加购的次数,以及已经被出售的次数)
| id | product_id | order_id |
|---|---|---|
| 主键 | 商品id | 订单id |
| int | int | int |
数据库表结构如下: