six_001
This commit is contained in:
@@ -0,0 +1,68 @@
|
||||
import jmespath
|
||||
import requests
|
||||
from django.core.files.uploadedfile import InMemoryUploadedFile
|
||||
from django.forms import model_to_dict
|
||||
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 DefaultRouter
|
||||
from rest_framework.viewsets import ViewSet
|
||||
|
||||
from sixGuoDjango import BaseResponse, ResData
|
||||
from wechat_token.token工具包 import sixToken
|
||||
from wechat_数据库.用户数据库.小程序登陆用户 import weiuser
|
||||
|
||||
|
||||
class 小程序用户头像昵称接口ViewSets(ViewSet):
|
||||
@action(detail=False, methods=["post"], url_path="chooseAvatar")
|
||||
def 用户头像接口(self, request: Request):
|
||||
""""""
|
||||
chooseAvatar: InMemoryUploadedFile | None = request.FILES.get("chooseAvatar", None)
|
||||
print(chooseAvatar)
|
||||
self_user_unionid = request.data.get("self_user_unionid", None)
|
||||
self_mini_openid = request.data.get("self_mini_openid", None)
|
||||
print(self_user_unionid)
|
||||
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="nickName")
|
||||
def 更新用户昵称(self, request: Request):
|
||||
""""""
|
||||
self_user_unionid = request.data.get("self_user_unionid", None)
|
||||
self_mini_openid = request.data.get("self_mini_openid", None)
|
||||
nickName = request.data.get("nickName", None)
|
||||
print("获取到的用户昵称", nickName)
|
||||
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="getPhoneNumber")
|
||||
def 获取用户手机号码(self, request: Request):
|
||||
""""""
|
||||
self_user_unionid = request.data.get("self_user_unionid", None)
|
||||
self_mini_openid = request.data.get("self_mini_openid", None)
|
||||
code = request.data.get("code", None)
|
||||
mini_token = sixToken.get_mini_token()
|
||||
url = f"https://api.weixin.qq.com/wxa/business/getuserphonenumber?access_token={mini_token}"
|
||||
jsonData = {"code": code}
|
||||
resData = requests.post(url=url, json=jsonData).json()
|
||||
print(resData, "❌❌❌❌❌❌❌❌❌❌❌❌")
|
||||
phoneNumber = jmespath.search(data=resData, expression="phone_info.phoneNumber")
|
||||
print(phoneNumber)
|
||||
httpResData = BaseResponse(resData=ResData(listData=[""], dictData={"phoneNumber": phoneNumber}), ).model_dump()
|
||||
return Response(data=httpResData, status=status.HTTP_200_OK)
|
||||
|
||||
@action(detail=False, methods=["post"], url_path="search")
|
||||
def 查询用户头像和昵称(self, request: Request):
|
||||
""""""
|
||||
self_mini_openid = request.data.get("self_mini_openid", None)
|
||||
self_mini_unionid = request.data.get("self_mini_unionid", None)
|
||||
用户头像信息 = weiuser.objects.get(unionid=self_mini_unionid)
|
||||
resData = model_to_dict(instance=用户头像信息, fields=["avatar", "nickName"])
|
||||
print(self_mini_unionid)
|
||||
httpResData = BaseResponse(resData=ResData(listData=[""], dictData=resData), ).model_dump()
|
||||
return Response(data=httpResData, status=status.HTTP_200_OK)
|
||||
|
||||
|
||||
小程序用户头像昵称接口ViewSetsRouter = DefaultRouter()
|
||||
小程序用户头像昵称接口ViewSetsRouter.register(prefix="", viewset=小程序用户头像昵称接口ViewSets, basename="")
|
||||
Reference in New Issue
Block a user