sae flask微信公众号开发

sae 部分

创建应用

我们选择 python 空应用


sae flask微信公众号开发_第1张图片

代码部署选git


sae flask微信公众号开发_第2张图片

然后在本地添加git仓库

sae flask微信公众号开发_第3张图片

sae应用可以有10个版本

python

本地建立vendor文件夹,需要安装flask等第三方包

 pip install -t vendor flask

建立一个index.wsgi文件

  import sae
  sae.add_vendor_dir('vendor')
  from wxtest import app #flask
  application = sae.create_wsgi_app(app)

然后建个wxtest.py

 # -*- coding:utf8 -*-
 import hashlib
 import time
 from flask import Flask, request, make_response, g,render_template
 import xml.etree.ElementTree as ET

 app = Flask(__name__)
 app.debug = True
#微信验证
@app.route('/wx', methods=['GET','POST'])
def wechat_auth():
    if request.method == 'GET':
        token = '输入自己喜欢的'
        query = request.args
        signature = query.get('signature','')
        timestamp = query.get('timestamp', '')
        nonce = query.get('nonce', '')
        echostr = query.get('echostr', '')
        s = [timestamp, nonce, token]
        s.sort()
        s = ''.join(s)
        if (hashlib.sha1(s).hexdigest() == signature):
            response = make_response(echostr)
            response.headers['content-type'] = 'text'#这步很关键,不然会出错
            return response
 else:  ###这里就是处理用户发来的消息了
    rec = request.stream.read()
    xml_rec = ET.fromstring(rec)
    toUser= xml_rec.find('ToUserName').text
    fromUser = xml_rec.find('FromUserName').text
    reply = "%s0"
    reply_news_temp_head = "%s%s"
    reply_news_temp_body = "<![CDATA[%s]]>"
    reply_news_temp_foot = ""
    msgType = xml_rec.find('MsgType').text
    if msgType == 'text':   #根据msgType来处理信息(text,image...)
          pass

接下去,就可以自己发挥想象了,比如写天气啊什么的了

sae flask微信公众号开发_第4张图片

然后我们就可以部署到sae上去

微信公众平台

sae flask微信公众号开发_第5张图片

开发->基本配置
url填入刚刚我们建立的sae,wxtest1111.applinzi.com/wx
token 填的和 wxtest.py里的一致

这样就全部结束了

sae flask微信公众号开发_第6张图片

你可能感兴趣的:(sae flask微信公众号开发)