微信點(diǎn)餐平臺(tái)開發(fā) (一)

微信點(diǎn)餐平臺(tái)開發(fā) (一)

接下來我們將一步一步學(xué)習(xí)Flask+微信公眾平臺(tái)+新浪SAE平臺(tái)開發(fā)一個(gè)點(diǎn)餐平臺(tái)。

功能介紹

此點(diǎn)餐平臺(tái)有以下功能:
1、預(yù)約管理
2、菜單管理
3、線路導(dǎo)航

微信平臺(tái)接口

主要用到微信公眾平臺(tái)的以下接口:
1、信息接口,用來輸出用戶服務(wù)信息
2、地理位置信息服務(wù)
3、自定義菜單
4、事件推送

功能實(shí)現(xiàn)

首先在微信的公眾平臺(tái)與新浪SAE平臺(tái)上注冊(cè)賬戶。

此處不作詳細(xì)介紹

在SAE上搭建Python應(yīng)用

在新浪云中選擇云應(yīng)用SAE,創(chuàng)建新應(yīng)用。為了方便開發(fā)調(diào)試,我們需要安裝SAE本地開發(fā)環(huán)境。
1、安裝
直接使用pip或者easy_install安裝sae-python-dev即可

2、基本使用
進(jìn)入應(yīng)用的本地開發(fā)目錄,也就是index.wsgi和config.yaml所在的目錄。運(yùn)行dev_server.py命令啟動(dòng)測(cè)試server
3、使用MySQL服務(wù)
首先配置好MySQL本地開發(fā)server。然后使用-mysql參數(shù)運(yùn)行dev_server.py

dev_server.py --mysql=user:password@host:port
配置SAE與微信公眾平臺(tái)互通

公眾號(hào)消息服務(wù)器網(wǎng)址接入驗(yàn)證,在開發(fā)目錄下新建myapp.py

from flask import Flask, request

# 公眾號(hào)消息服務(wù)器網(wǎng)址接入驗(yàn)證
# 需要在公眾帳號(hào)管理臺(tái)手動(dòng)提交, 驗(yàn)證后方可接收微信服務(wù)器的消息推送
@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'

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

    token = 'xxxxxx' #注意要與微信公眾帳號(hào)平臺(tái)上填寫一致
    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云,

微信接口配置

登錄公眾平臺(tái),點(diǎn)擊高級(jí)功能。將會(huì)看到需要提供一個(gè)接入信息:



接口配置信息:URL為我們與微信交互的地址,Token相當(dāng)于我們和微信之間約定的密碼。
輸入U(xiǎn)RL,Token點(diǎn)擊提交,驗(yàn)證通過后方可接收微信服務(wù)器的消息推送。


各位如需要SAE云,可以使用我的邀請(qǐng)鏈接申請(qǐng)。各得100云豆,謝謝!
注冊(cè)地址:http://t.cn/R4jxHGe

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 134,991評(píng)論 19 139
  • 【MySQL】Linux下MySQL 5.5、5.6和5.7的RPM、二進(jìn)制和源碼安裝 1.1BLOG文檔結(jié)構(gòu)圖 ...
    小麥苗DB寶閱讀 10,620評(píng)論 0 31
  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 173,556評(píng)論 25 708
  • Top_Chenxi閱讀 100評(píng)論 0 0
  • 當(dāng)一個(gè)男人不愛你的時(shí)候,你哭鬧是錯(cuò),靜默也是錯(cuò),呼吸是錯(cuò),就是死了也是錯(cuò)。 今天在簡(jiǎn)書里翻文章,看到這一段時(shí),正好...
    默寒霖閱讀 674評(píng)論 0 0