from pathlib import Path import requests 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.viewsets import ViewSet from sixGuoDjango import BaseResponse, ResData, settings from wechat_token.token工具包 import sixToken class 素材管理接口列表ViewSets(ViewSet): media_id: str | None = "35EgYWaFHZN6Uk5pAbF4ZiGIk7NV-A7osJgK4CET3zCrbt42GM_nU4N3DNoK3vs9SxuZOZNRk7jZGqSZKJjFxjg" @action(detail=False, methods=["post"], url_path="上传临时素材") def 上传临时素材(self, request: Request): """""" wecom_token = sixToken.get_wecom_token() TYPE = request.data.get("TYPE", "image") uri = f"https://qyapi.weixin.qq.com/cgi-bin/media/upload?access_token={wecom_token}&type={TYPE}" imgPath = Path(settings.BASE_DIR).joinpath("django_static_directory/media/app.png").read_bytes() uploadFile = requests.post(url=uri, files={"media": imgPath}) print(uploadFile.json()) httpResData = BaseResponse(resData=ResData(listData=[""], dictData={"demo": "xiaozizi"}), ).model_dump() return Response(data=httpResData, status=status.HTTP_200_OK) @action(detail=False, methods=["post"], url_path="上传图片") def 上传图片(self, request: Request): """返回的图片URL,仅能用于图文消息正文中的图片展示,或者给客户发送欢迎语等;若用于非企业微信环境下的页面,图片将被屏蔽。""" self_user_unionid = request.data.get("self_user_unionid", None) self_mini_openid = request.data.get("self_mini_openid", None) httpResData = BaseResponse(resData=ResData(listData=[""], dictData={"demo": "xiaozizi"}), ).model_dump() return Response(data=httpResData, status=status.HTTP_200_OK) @action(detail=False, methods=["post"], url_path="获取临时素材") def 获取临时素材(self, request: Request): """""" self_user_unionid = request.data.get("self_user_unionid", None) self_mini_openid = request.data.get("self_mini_openid", None) httpResData = BaseResponse(resData=ResData(listData=[""], dictData={"demo": "xiaozizi"}), ).model_dump() return Response(data=httpResData, status=status.HTTP_200_OK) @action(detail=False, methods=["post"], url_path="jssdk") def 获取高清语音素材(self, request: Request): """""" self_user_unionid = request.data.get("self_user_unionid", None) self_mini_openid = request.data.get("self_mini_openid", None) httpResData = BaseResponse(resData=ResData(listData=[""], dictData={"demo": "xiaozizi"}), ).model_dump() return Response(data=httpResData, status=status.HTTP_200_OK) @action(detail=False, methods=["post"], url_path="upload_by_url") def 异步上传临时素材(self, request: Request): """""" self_user_unionid = request.data.get("self_user_unionid", None) self_mini_openid = request.data.get("self_mini_openid", None) httpResData = BaseResponse(resData=ResData(listData=[""], dictData={"demo": "xiaozizi"}), ).model_dump() return Response(data=httpResData, status=status.HTTP_200_OK)