不同的路由模块对应不同的url路径
接口列表:
-
sendCanteenNotice
给指定餐厅绑定的所有手机发送短信提醒
-
phoneVerificationCode
给指定手机号发送验证码
-
removeCanteenBindPhone
从指定餐厅绑定手机号移除指定手机号
-
getCanteenBindPhone
获取指定餐厅绑定的所有手机号
-
bindCanteen
绑定指定手机号到指定餐厅
接口列表:
-
bind
通过账号密码爬取用户基本信息,储存至mysql数据库
-
login
读取mysql数据库,返回用户基本信息
接口列表:
-
shopInfo
通过微信数据库,统计指定餐厅,指定日期范围内的营业额、销量等信息
-
riderInfo
通过微信数据库,统计骑手的配送费信息
接口列表:
-
addPrinter
添加指定云打印机,并绑定到指定餐厅
-
getPrinterState
获取指定餐厅绑定的所有云打印机的状态信息
-
printAcceptOrder
调用指定餐厅绑定的所有云打印机,打印指定订单的接单小票
-
printOrderNotice
调用指定餐厅绑定的所有云打印机,打印指定语音提醒(新订单、取消订单、申请退款)
对云打印机各种功能的封装
- 飞鹅云打印机api接口封装
- 根据纸张大小格式化打印内容(
class LineFormat
)
接口列表:
-
canteen
通过微信数据库刷新同步mysql的canteen表
- 本地缓存微信access_token的维护(调用时若已过期则自动更新)
-
微信数据库相关操作封装
-
根据微信数据库,更新mysql数据库中部分内容(用于定时任务模块)
封装了常用的自定义数据类型,自定义异常
-
.env配置文件的读取
-
通过
@classmethod
,实现配置信息全局化(class GlobalSettings
)
- mysql数据库连接池封装
- mysql数据库
execute
封装,通过sql语句预编译避免sql注入问题
fastapi
依赖注入
- 简单验证请求是否合法
- 通过AES验证请求是否合法
loguru
二次封装,实现不同名称的logger
对应不同的消息前缀
不同模块使用不同名称的logger
,方便日志输出,增强日志的可读性
apscheduler
二次封装,封装了添加定时任务和移除定时任务
使用logger
,为不同定时任务添加前缀,增强可读性
AES加密解密封装(CBC模式)