# 获取用的token
from common.wechat.token import getToken
# 这个是上传到腾讯云的COS
from common.qcloudcos.qcloudstorage import QcloudStorage
from django.conf import settings
from django.http import HttpResponse, JsonResponse
from django.views.decorators.csrf import csrf_exempt
import requests, json
@csrf_exempt
def Poster(request):
# 获取小程序的token
token = getToken(settings.OPSTOOL_ID, settings.OPSTOOL_SECRET)
# 定义传参的类型
headers = {"Content-type": "application/json"}
if token:
# 这个url生成的二维码是无限个
url = "https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=" + token
data=json.loads(request.body)
# 生成小程序的传参
scene = str(data.get('postid'))
# 生成小程序的路径
page = data.get('path')
data = dict(scene=scene, page=page)
# 不报错res.content是二进制的图片信息保存就行了
res = requests.post(url, data=json.dumps(data), headers=headers)
cos = QcloudStorage()
# 定义个保存路径
name='/weapp/poster/qr-blog-' + scene + '.png'
# 存储到cos,这里可以换成本地
cos.save(name=name, content=res.content)
# 返回
return JsonResponse({"qr_url": settings.MEDIA_URL+'weapp/poster/qr-blog-' + scene + '.png','errcode':0},safe=False)
return JsonResponse({"errcode":"1","errmessage":"没有token"})
如果需要我写的getToken方法,访问下面这个小程序。