1. 程式人生 > >Django生成小程式碼

Django生成小程式碼

# 獲取用的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方法,訪問下面這個小程式。