代码拉取完成,页面将自动刷新
本系统后台开发采用的是flask框架。项目结构如下:
├── application.py:应用程序全局对象
├── common:公有库以及model数据结构
│ ├── libs:公有库
│ └── models:数据结构
├── config:配置文件
│ ├── base_settings.json:基础配置
│ ├── local_settings.json:本地配置
│ └── production_setting.json: 线上配置
├── docs:数据库变更记录
│ └── Mysql.md
├── jobs:定时任务
│ ├── launcher:定时任务的分发器
│ ├── bin:定时任务的脚本
│ └── tasks:crontab
├── manager.py:启动入口
├── readme.md
├── release.sh:系统自己的脚本,更新,重启等
├── requirements.txt:需要的扩展依赖
├── uwsgi.ini:生产环境的uwsgi
├── web:http相关代码
│ ├── controllers:controller控制层
│ ├── intercetor:拦截器相关
│ ├── static:静态文件
│ └── template:模板文件
└── www.py:http相关初始化,如:注册蓝图,url等
小程序端主要参考微信官方的Api文档:https://developers.weixin.qq.com/miniprogram/dev/api/
安装相关的依赖包:
pip install -r requirements.txt
windows环境下运行
先执行:set opt_config=local 或者 set opt_config=production (local为本地开发配置,production为生产开发配置)
在执行:python manage.py runserver
Linux环境下运行
export opt_config=local && python manage.py runserver (根据需要自行切换环境)
数据库
本项目所用相关的sql文件保存在项目的docs文件夹下
第一步:pip install flask-sqlacodegen
第二步:mysql数据库中导入并执行sql文件生成数据库表,然后使用flask-sqlacodegen反向生成model文件
flask-sqlacodegen 使用说明:
根据数据库名迁移:
flask-sqlacodegen "mysql://root:pwd@127.0.0.1/db_name" --outfile "common/models/Model.py" --flask
根据数据库表名迁移:
flask-sqlacodegen mysql://root:pwd@127.0.0.1/db_name --tables user --outfile "models/Model.py" --flask
本项目异步Job的编写主要有两部分,分为小程序回调的订阅消息处理和统计处理,统计分为每日会员统计、每日美餐统计和每日全站统计:
自定义执行命令介绍:
消息队列处理
python manager.py runjob -m queue/index
会员统计:
python manage.py runjob -m statistics/daily -a member -p yyyy-mm-dd
美餐统计:
python manage.py runjob -m statistics/daily -a food -p yyyy-mm-dd
全站统计:
python manage.py runjob -m statistics/daily -a site -p yyyy-mm-dd
后台部分展示
注:仪表盘为Job模拟数据
小程序部分展示
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。