Git Product home page Git Product logo

gxgk-wechat-server's Introduction

This code is no longer being maintained.

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

gxgk-wechat-server

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

预览gxgk

主要功能

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

其他

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

补充说明:

  • 依赖外部 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

gxgk-wechat-server's People

Contributors

inuyasha2012 avatar paicha avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

gxgk-wechat-server's Issues

能不能提供一个完整版

看介绍 涉及到很多界面和功能 但是下载后发现只有两个界面和部分功能 能不能提供一个完整版或起码70-80%的版本 以便更好的学习 谢谢

Python 'tuple' cannot be converted to a MySQL type

冒犯打扰, 我在运行程序的时候发生如下错误:
sqlalchemy.exc.ProgrammingError: (mysql.connector.errors.ProgrammingError) Failed processing pyformat-parameters; Python 'tuple' cannot be converted to a MySQL type.
我用的是MySQL引擎是: mysql-connetctor-python-rf==2.2.1

调试时的问题

作者你好,首先非常感谢您分享源码
我的部署环境是VM ubuntu,安装好mysql,redis 和依赖包(无错误)后,走到

into Python shell

from main.models import db
这一步时出现错误,错误如下
from main.models import db
Traceback (most recent call last):
File "", line 1, in
File "main/init.py", line 12, in
app.config.from_object('config')
File "/usr/local/lib/python2.7/dist-packages/flask/config.py", line 162, in from_object
obj = import_string(obj)
File "/usr/local/lib/python2.7/dist-packages/werkzeug/utils.py", line 443, in import_string
sys.exc_info()[2])
File "/usr/local/lib/python2.7/dist-packages/werkzeug/utils.py", line 418, in import_string
import(import_name)
werkzeug.utils.ImportStringError: import_string() failed for 'config'. Possible reasons are:

  • missing init.py in a package;
  • package or module path not included in sys.path;
  • duplicated package or module name taking precedence in sys.path;
  • missing module, class, function or variable;

Debugged import:

  • 'config' not found.

Original exception:

ImportError: No module named config
希望得到帮助

数据库创建

我把手动操作的db.create_all()方法放到route里面,写了一个/install的route,再启动服务然后访问localhost/install,调用是成功的,但是数据库表并没有创建起来。这是为什么呢?反之如果python命令行手动create就可以

global变量问题

reponse.py
16行使用全局变量message,在多线程情况下可能会导致线程安全问题,请问代码经过测试吗?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.