# 小程序二维码
import urllib.request
import urllib.parse
import json
import uuid
# 获取TOKEN
def getToken():
appid = \'wx7ff20c012aba1cee\'
appsecret = \'33afc5b6958cde9a540cf96a3122adba\'
# 这个是微信获取小程序码的接口
url = \'https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid={appid}&secret={appsecret}\'.format(appid=appid,
appsecret=appsecret)
# 准备一下头
headers = {
\'User-Agent\': \'Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)\'
}
request = urllib.request.Request(url, headers=headers)
response = urllib.request.urlopen(request)
readData = response.read()
readData = readData.decode(\'utf-8\')
obj = json.loads(readData)
print(obj)
print(obj[\'access_token\'])
return obj[\'access_token\']
# 获取小程序码
def getACodeImage(device_id):
token = getToken()
# 这个是微信获取小程序码的接口
url = \'https://api.weixin.qq.com/wxa/getwxacode?access_token={token}\'.format(token=token)
# 准备一下头
headers = {
\'User-Agent\': \'Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)\'
}
# 用Post传值,这里值用JSON的形式
values = {"path": "pages/addEquipment/addEquipment?device_id=" + device_id}
# 将字典格式化成能用的形式,urlencode不能用
# data = urllib.parse.urlencode(values).encode(\'utf-8\')
# 使用json.dumps的方式序列化为字符串,然后bytes进行编码
data = json.dumps(values)
data = bytes(data, \'utf8\')
# 创建一个request,放入我们的地址、数据、头
request = urllib.request.Request(url, data, headers)
# 将获取的数据存在本地文件
readData = urllib.request.urlopen(request).read()
random = str(uuid.uuid4())
f = open(settings.BASE_DIR + \'/\'+\'static/qr_code\' + \'/\' + random + \'.jpg\', \'wb\')
f.write(readData)
f.close()
path = \'static/qr_code\' + \'/\' + random + \'.jpg\'
return path
# token = getToken()
# device_id = \'2323\'
# getACodeImage(device_id)
相关文章: