From 734dc4f46a37b01e95ec50c0d8fb88694fb2afc8 Mon Sep 17 00:00:00 2001 From: doudou201703 <84085676+doudou201703@users.noreply.github.com> Date: Sat, 19 Sep 2026 16:13:13 +0800 Subject: [PATCH] six_007 --- .../接收微信的code回调.py | 2 - .../图片转换工具包/图片转数据.py | 41 +++++++++++++++++++ 2 files changed, 41 insertions(+), 2 deletions(-) create mode 100644 wechat_项目工具包/图片转换工具包/图片转数据.py diff --git a/django_web_微信开放平台应用用户登陆/接收微信的code回调.py b/django_web_微信开放平台应用用户登陆/接收微信的code回调.py index 09bc3df..6e02677 100644 --- a/django_web_微信开放平台应用用户登陆/接收微信的code回调.py +++ b/django_web_微信开放平台应用用户登陆/接收微信的code回调.py @@ -71,7 +71,6 @@ class 接收微信的code回调ViewSets(ViewSet): openid = pydash.get(obj=postData, path="openid") scope = pydash.get(obj=postData, path="scope") unionid = pydash.get(obj=postData, path="unionid") - print(postData, "00000000000000000000") return postData def get获取用户个人信息(self, code, state): @@ -125,7 +124,6 @@ class 接收微信的code回调ViewSets(ViewSet): user_info_用户信息 = self.get获取用户个人信息(code=code, state=state) openid = pydash.get(obj=user_info_用户信息, path="openid") unionid = pydash.get(obj=user_info_用户信息, path="unionid") - print("为什么没有值了呢", openid, unionid) token = self.jwt_生成token(openid=openid, uniond=unionid) # 前端带着code进来, setData = pydash.set_(obj=user_info_用户信息, path="token", value=token) query_string = urlencode(setData, ) diff --git a/wechat_项目工具包/图片转换工具包/图片转数据.py b/wechat_项目工具包/图片转换工具包/图片转数据.py new file mode 100644 index 0000000..fc82ddc --- /dev/null +++ b/wechat_项目工具包/图片转换工具包/图片转数据.py @@ -0,0 +1,41 @@ +import os + +import django +from django_six_demo.settings import base_dir_name + +os.environ.setdefault(key="DJANGO_SETTINGS_MODULE", value=f"{base_dir_name}.settings") +django.setup() +from pydantic import BaseModel, Field +from pathlib import Path +import base64 +from PIL import Image +from typing import Union + + +class ImageToDataURI(BaseModel): + """图片转 Data URI 工具类""" + + data_uri: str = Field(description="Data URI 格式的图片数据") + + @classmethod + def from_path(cls, file_path: Union[str, Path]) -> "ImageToDataURI": + """从文件路径转换""" + path = Path(file_path) + if not path.exists(): + raise FileNotFoundError(f"文件不存在: {path}") + + # 读取原始字节 + file_bytes = path.read_bytes() + + # 获取 MIME 类型 + img = Image.open(path) + mime_type = img.get_format_mimetype() or "image/png" + print(mime_type) + # 转 Base64 并拼接 Data URI + base64_str = base64.b64encode(file_bytes).decode("utf-8") + data_uri = f"data:{mime_type};base64,{base64_str}" + return data_uri + + +if __name__ == "__main__": + pass