借鉴文章
http://www.mrfangge.com/weixin-jssdk-use-flow/ 微信jssdk使用流程
jssdk的使用流程介绍很详细,这里不再赘述,重点是如何在flask下完成签名
上源码:
#配置 签名(官方给的)
class Sign:
def __init__(self, jsapi_ticket, url):
self.ret = {
'nonceStr': self.__create_nonce_str(),
'jsapi_ticket': jsapi_ticket,
'timestamp': self.__create_timestamp(),
'url': url
}
def __create_nonce_str(self):
return ''.join(random.choice(string.ascii_letters + string.digits) for _ in range(15))
def __create_timestamp(self):
return int(time.time())
def sign(self):
string = '&'.join(['%s=%s' % (key.lower(), self.ret[key]) for key in sorted(self.ret)])
print (string)
self.ret['signature'] = hashlib.sha1(string.encode('utf-8')).hexdigest()
return self.ret
#flask请求路由方法
@app.route('/jssdkconfig', methods=['GET'])
def jssdk_config():
HTML_URL = "你的url"
ticket =" 你的jsapi_ticket"#具体获取方法见最上方连接文章
sign = Sign(ticket, HTML_URL)
result = {
"result":sign.sign()
}
#响应头 允许跨域访问
response_heade = {
'Access-Control-Allow-Origin' : '*'
}
return make_response(json.dumps(result).encode("utf-8"),200,response_heade)
网友评论