Python开发微信点餐系统(一)

微信点餐平台开发 (一)

接下来我们将一步一步学习Flask+微信公众平台+新浪SAE平台开发一个点餐平台。

功能介绍

此点餐平台有以下功能:
1、预约管理
2、菜单管理
3、线路导航

微信平台接口

主要用到微信公众平台的以下接口:
1、信息接口,用来输出用户服务信息
2、地理位置信息服务
3、自定义菜单
4、事件推送

功能实现

首先在微信的公众平台与新浪SAE平台上注册账户。

此处不作详细介绍

在SAE上搭建Python应用

在新浪云中选择云应用SAE,创建新应用。为了方便开发调试,我们需要安装SAE本地开发环境。
1、安装
直接使用pip或者easy_install安装sae-python-dev即可

2、基本使用
进入应用的本地开发目录,也就是index.wsgi和config.yaml所在的目录。运行dev_server.py命令启动测试server
3、使用MySQL服务
首先配置好MySQL本地开发server。然后使用-mysql参数运行dev_server.py

1
dev_server.py --mysql=user:password@host:port

配置SAE与微信公众平台互通

公众号消息服务器网址接入验证,在开发目录下新建myapp.py

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
from flask import Flask, request

# 公众号消息服务器网址接入验证
# 需要在公众帐号管理台手动提交, 验证后方可接收微信服务器的消息推送
@app.route('/weixin', methods=['GET'])
def weixin_access_verify():
echostr = request.args.get('echostr')
if verification(request) and echostr is not None:
return echostr
return 'access verification fail'

# 接入和消息推送都需要做校验
def verification(request):
signature = request.args.get('signature')
timestamp = request.args.get('timestamp')
nonce = request.args.get('nonce')

token = 'xxxxxx' #注意要与微信公众帐号平台上填写一致
tmplist = [token, timestamp, nonce]
tmplist.sort()
tmpstr = ''.join(tmplist)
hashstr = hashlib.sha1(tmpstr).hexdigest()

if hashstr == signature:
return True
return False

if __name__ == '__main__':
app.run()

上传SAE云,

微信接口配置

登录公众平台,点击高级功能。将会看到需要提供一个接入信息:

接口配置信息:URL为我们与微信交互的地址,Token相当于我们和微信之间约定的密码。
输入URL,Token点击提交,验证通过后方可接收微信服务器的消息推送。


各位如需要SAE云,可以使用我的邀请链接申请。各得100云豆,谢谢!
注册地址:http://t.cn/R4jxHGe

文章目录
  1. 1. 微信点餐平台开发 (一)
    1. 1.0.1. 功能介绍
    2. 1.0.2. 微信平台接口
    3. 1.0.3. 功能实现
      1. 1.0.3.0.1. 首先在微信的公众平台与新浪SAE平台上注册账户。
      2. 1.0.3.0.2. 在SAE上搭建Python应用
      3. 1.0.3.0.3. 配置SAE与微信公众平台互通
      4. 1.0.3.0.4. 微信接口配置
,