/gxgk-wechat-server

校园微信公众号,使用 Python、Flask、Redis、MySQL、Celery

Primary LanguagePythonMIT LicenseMIT

This code is no longer being maintained.

项目已经不再维护,开源的目的更多是给新手一个参考 Demo

gxgk-wechat-server

校园微信公众号后端,为在校学生提供一系列信息查询与便民服务。

预览"预览"

主要功能

  • 期末成绩查询
    • 手动查询
    • 微信分享成绩单
  • 快递查询
    • 单号查询
    • 扫码查询
    • 包裹动态,自动提醒
  • 校内图书馆
    • 图书搜索
    • 借书记录
    • 一键续借
    • 还书提醒
  • 签到排行榜
  • 机器人陪聊

其他

  • 天气查询
  • 常用电话
  • 公交路线
  • 校历查询
  • 学校新闻
  • 四六级查询
  • 明信片查询
  • 随机音乐
  • 气象雷达
  • 网页游戏
  • 莞香广科论坛
  • 客服留言
  • 合作信息

补充说明:

  • 依赖外部 API 的操作使用客服接口异步回复,需要通过微信认证
  • 正方教务系统与图书馆查询均使用模拟登陆
  • 字典、正则匹配关键词,避免过多的条件语句嵌套
  • 场景状态,支持上下文回复
  • 全局保存、刷新微信 access_token
  • 关键词兼容繁体、全角空格
  • 长文本的回复使用图文信息进行排版
  • 前端 UI 使用 WeUI 统一风格

快速开始

安装 MySQL、Redis

安装依赖

pip install -r requirements.txt

创建配置文件

cp instance/config.example instance/config.py
vi instance/config.py

初始化数据库

# into Python shell
>>> from main.models import db
>>> db.create_all()

运行

python run.py

运行队列任务

celery -A main.celery worker --beat -l info

测试

这个开发者很懒,暂时没写下什么测试……

部署

# using gunicorn
pip install gunicorn

# run
gunicorn -w 3 run:app -p wechat.pid -b 127.0.0.1:8000 -D --log-level warning --error-logfile gunicorn-error.log

# reload
kill -HUP `cat wechat.pid`

License

MIT