import requests from django.core.files.storage import default_storage from django.core.files.uploadedfile import InMemoryUploadedFile from django.core.handlers.wsgi import WSGIRequest from rest_framework import status from rest_framework.decorators import action from rest_framework.request import Request from rest_framework.response import Response from rest_framework.routers import SimpleRouter, DefaultRouter from rest_framework.viewsets import ViewSet from sixGuoDjango import ResData, BaseResponse from wechat_token.token工具包 import sixToken class URLLinkViewSets(ViewSet): @action(detail=False, methods=["get", "post", "put", "delete"], url_path="generate_urllink") def 获取加密URLLink(self, request: Request): """""" self_mini_openid = request.data.get("self_mini_openid", None) self_mini_unionid = request.data.get("self_mini_unionid", None) mini_token = sixToken.get_mini_token() linkData = requests.post(url="https://api.weixin.qq.com/wxa/generate_urllink", params={"access_token": mini_token, }, json={ "path": "/pageTabBar/Home/Home", "query": f"superior_unionid={self_mini_unionid}", "expire_type": 1, # 类型 "expire_interval": 30, # 多少天后失效 "env_version": "develop", # 默认值"release"。要打开的小程序版本。正式版为 "release",体验版为"trial",开发版为"develop",仅在微信外打开时生效。 }, ) print(linkData.json()) httpResData = BaseResponse(resData=ResData(listData=[""], dictData={"demo": "xiaozizi"}), ).model_dump() return Response(data=httpResData, status=status.HTTP_200_OK)