微信点餐平台开发 (一)

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

微信接口配置

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

接口配置信息:URL为我们与微信交互的地址,Token相当于我们和微信之间约定的密码。

输入URL,Token点击提交,验证通过后方可接收微信服务器的消息推送。

各位如需要SAE云,可以使用我的邀请链接申请。各得100云豆,谢谢!

注册地址:http://t.cn/R4jxHGe

python开发微信点餐_微信点餐平台开发 (一)相关推荐

  1. 视频教程-微信小程序系统教程python版[3/3阶段]_微信小程序支付-手游开发

    微信小程序系统教程python版[3/3阶段]_微信小程序支付 微信企业号星级会员.10多年软件从业经历,国家级软件项目负责人,主要从事软件研发.软件企业员工技能培训.已经取得计算机技术与软件资格考试 ...

  2. 微信公众号_订阅号+服务号开发工具包-翟东平-专题视频课程

    微信公众号_订阅号+服务号开发工具包-15114人已学习 课程介绍         "微信公众平台深度开发Java版 v2.0"系列课程共有6季,使用JAVA语言,系统讲解微信公众 ...

  3. 如何微信链接自定义_微信链接自定义

    微信在分享第三方网站是不显示缩略图和描述的,如下图所示 微信链接自定义_微信链接自定义 要解决这个问题必须调用微信JS-SDK接口,下面讲一下如何调用接口. 第一部分 准备步骤 注册微信公众号. 通过 ...

  4. python能开发小程序吗_微信小程序用什么语言开发?Python能开发小程序么

    小程序是什么语言开发设计的那麼微信小程序的编程语言用的什么,许多 官方网站都会微信上有微信小程序,不用下载手机软件就可以享有一样的服务项目,还无需占运行内存,棒极了有么有?下边给大伙儿产生小程序語言开 ...

  5. 微信小程序云开发用户身份登录_微信小程序+云开发实现欢迎登录注册

    前段时间和同学一起做了一个小程序,用来参加学校的比赛,完成后把项目内容分割一下,贴到博客上面,算是学习记录和总结吧. 因为是学生党,而且并没有很大的需要,所以选择了微信小程序为开发者提供的" ...

  6. 怎么开发联机小游戏_微信小游戏创意大赛火热进行中,小游戏联机对战引擎免费用...

    腾讯云为小游戏开发者升级工具箱 小游戏联机对战引擎免费用 由微信小游戏举办的"微信小游戏创意大赛"正在火热进行中.12月23日,腾讯云宣布,除了给创意大赛的参赛者提供基础云资源,还 ...

  7. java推送微信消息换行_微信公众平台开发教程之文本消息如何换行(第十二课)

    上两节课介绍了微信公众平台开发工具类的开发,这节课呢就用到了,没有读前两节课程的读者建议看前两节课程,当然你可以可以去下载实例代码直接运行 . 使用"\n"换行 回复用户的文本消息 ...

  8. 微信 SHA1 签名_微信公众号自动回复功能开发

    微信公众号自动回复功能开发 本篇主要讲解 微信公众号自动回复功能开发,让我们自己去托管公众号回复的功能,这样可以更加灵活的根据公众号收到的信息来制定特定的回复信息,一起来了解吧! 1.注册公众号 如果 ...

  9. 微信小程序python解析获取用户手机号_微信小程序获取用户手机号

    获取微信用户绑定的手机号,需先调用wx.login接口. 小程序获取code. 后台得到session_key,openid. 组件触发getPhoneNumber 因为需要用户主动触发才能发起获取手 ...

  10. jsp页面微信支付接口_微信支付 JSAPI 开发中的问题

    前言:这篇文章讲的是利用微信官方提供的JSPAI接口,实现微信网页支付.希望在看之前,要确认一下几件事情,否则会让您在解决问题是很费解. ① 接口文档版本号是V3.3(在官方提供的PHP DEMO中的 ...

最新文章

  1. HA03-fence设置
  2. python100个必背知识-学Python必须背的42个常见单词,看看你都会吗?
  3. A Data Access Layer to persist business objects using attributes and reflection - Part II [无常译]...
  4. 手动清空Element Select选择框内容 v-model 和 option下拉框选项 导致无法select选中,或者选中视图不渲染问题,
  5. Git添加为远程仓库
  6. oracle运维平台开发,Oracle数据库运维
  7. 敏捷开发智慧敏捷系列之五:定不定流程和模板?
  8. 百度Q1营收241亿,李彦宏挥刀改革:“尽力了”没用,要确保在必须赢的战场上胜利...
  9. python三维图怎么显示_如何在python中绘制多个回归3D图
  10. HighCharts:plotLines基准线与数据相差过大不显示
  11. java_home not found in your enviroment 问题解决方法
  12. uva 1339 题解
  13. 更改Wamp下网站地址栏图标的显示
  14. 基于python的网络聊天室论文_Python基于Socket实现简单聊天室
  15. 【暗时间】摘录 - 为什么你应该从现在开始就写博客
  16. mac os下 Ruby环境安装方法
  17. 计算机网络—— DNS和CDN那些事
  18. wpf 响应键盘按键
  19. Unable to delete file/directory
  20. adb 删除文件时提示Read-only file system问题【not in /proc/mounts】

热门文章

  1. 用python批量下载modis数据的速度怎么样_MODIS数据下载与处理-pymodis的使用(持续更新...)...
  2. heic格式转化jpg方法
  3. vue项目实现文字转换成语音播放功能
  4. flask + websocket
  5. load west0479 matlab,matlab矩阵详解 - Matlab 资料库 视频 教程 讲义 代码 - 数学建模社区-数学中国...
  6. 《嵌入式 – GD32开发实战指南》第10章 串口通信
  7. 非极大值抑制算法详解
  8. Linux Spark安装教程
  9. 在文档阅读器上为 PDF 文档生成多级目录
  10. Android--BRVAH官方使用指南