微信点餐平台开发 (一)

微信点餐平台开发 (一)

接下来我们将一步一步学习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

dev_server.py --mysql=user:password@host:port
配置SAE与微信公众平台互通

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

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云,

微信接口配置

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


微信点餐平台开发 (一)_第1张图片

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


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

你可能感兴趣的:(微信点餐平台开发 (一))