本系统为前后端分离系统。
前端使用 vue3 构建,涉及 pinia, vue-router, element-plus, axios。
后端采用了django框架,引入了 mailer 组件进行发送邮件,并采用了 redis 缓存方案优化数据库性能。
项目涉及四个容器,需要占用宿主机的四个端口,考虑到常用端口占用,本项目默认绕开了这些端口,如果仍发生了冲突需要自定义端口,可以考虑修改 docker-compose.yml
文件,且需要同步更新 canteenb/Canteen/config.py
。
- 88:前端nginx容器端口
- 8001:后端django容器端口
- 3305:mysql容器端口
- 6378:redis容器端口
部署环境:docker + docker-compose v2
打包环境:基于 vite 的 vue3 环境
-
在 Releases 中下载部署包,解压。
-
进入目录,运行
docker-compose up -d
。 -
服务启动后访问
http://127.0.0.1:88/
即可进入系统。
-
根据
canteenb/Canteen/config_example.py
模板在同一级目录下创建config.py
配置文件,对系统进行配置。 -
修改
canteenf/nginx.conf
文件,定义前端服务配置。 -
修改
canteenf-unpack/src/config/main.js
文件,定义前后端的接口地址。 -
在
canteenf-unpack
下运行安装和构建命令,将前端进行打包。
npm install
npm run build
-
将
canteenf-unpack/dist
中的所有内容移动到canteenf/
目录下。 -
使用命令构建镜像并启动服务:
docker-compose up -d
-
在宿主机防火墙中开启对应端口,默认至少开启 88 端口。
-
访问您定义的前端地址即可进入系统。
为方便开箱即用,本系统数据库并非为空。系统提供了以下测试账号,若需要进行上线,请考虑删除这些账号。
顾客端:
> URL:/
> 账号:123
> 密码:123456
商户端:
> URL:/shop
> 账号:456
> 密码:123456
管理员端:
> URL:/super
> 账号:789
> 密码:123456
账户管理员(仅用于管理管理员账号,无其它权限,请谨慎删除此账号):
> URL:/super
> 账号:SuperAdminForSystem
> 密码:SuperAdmin