后台: node + express + mongodb + redis 前台: vue 微信小程序 完整商城单店模式

203 阅读2分钟
原文链接: segmentfault.com

项目完整代码 github地址:singleStore

效果图:

index
balance
orderList
order
addrList
mine
addr

说明:

主要功能点:
1、菜单功能(菜单后台自定义,菜品状态后台可控(售完、在售))
2、定点统计(商品总量实时计算,商品单品、所有商品月售月售每天定点更新)
3、下单功能(地址自动加载默认,送达时间根据营业时间自动调整)
4、评价功能(文字、图片、5星,下单用户才能评价,且一单只能评一次)
5、地址
6、历史订单(再来一单)
7、订单状态扫码更改
8、打印订单(下完单自动打印订单)
9、商家休息功能+长链接(商家除了设定营业时间外,还可随时更改休息状态来决定是否营业)
10、ssl(https是在上线后在服务器直接弄的,window直接忽略)
11、其它等等。。。

项目情况
1、技术选型:
后台:node(express) + mongodb(mongoose) + redis
后台前端页面:vue
微信小程序:(依赖weapp.socket.io.js)
注:package.json里面都有,自行查看

2、注意事项及问题说明:
1)、开发时间比较短,细节东西处理不是很好,回调都是直接写里面,没有用promise,await等处理
2)、默认单店,前台没有注册入口,需后台注册功能先放开权限,才能注册
3)、mongodb的目录名为test
4)、redis的需要设置密码启动,密码为ecp
5)、token存redis,中间没有请求操作时间默认是5分钟,有任何请求操作都会重新刷新时间
6)、项目下下来要改动的地方:

后台config/default.js里 host
vue页面src/mixins/index.js里面的IP
有部服务器,自动跳转https需要改src/views/login.vue里的created
小程序的app.js里面host

7)、由于小程序是个人注册的,也没有公司载体,目前支付功能没加
8)、打印用的是热敏打印机,如有需要请自行购买,开发版即可
9)、前端校验没加,有需要自己补充
10)、后台只是实现功能,安全过滤有需要自己补充

3、项目启动说明:
项目下完,需要在backEnd目录下执行npm install下载依赖的包; 在frontEnd目录下执行npm install下载依赖的包,weixinSmall需要拷到自己的小程序底下。
mongodb和redis要先打开,再在backEnd目录下执行supervisor index,和在frontEnd目录下执行npm run dev
注:supervisor index启动,后台代码更改才会实时响应

有问题可发qq邮箱(790226245@qq.com),有看到有空会回