60 lines
3.2 KiB
Python
60 lines
3.2 KiB
Python
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)
|