diff --git a/app/db/base.py b/app/db/base.py index f2696ab..d62f6c5 100644 --- a/app/db/base.py +++ b/app/db/base.py @@ -4,7 +4,7 @@ """ from __future__ import annotations -from sqlalchemy.orm import DeclarativeBase, MappedAsDataclass +from sqlalchemy.orm import DeclarativeBase class Base(DeclarativeBase): diff --git a/app/integrations/wxpay.py b/app/integrations/wxpay.py index 8c66f24..d52be17 100644 --- a/app/integrations/wxpay.py +++ b/app/integrations/wxpay.py @@ -162,24 +162,6 @@ def cancel_transfer(out_bill_no: str) -> dict: return {"status_code": resp.status_code, "data": resp.json()} -def code_to_openid(code: str) -> str: - """用微信授权 code 换 openid(开放平台移动应用 sns/oauth2)。失败抛 ValueError。""" - resp = httpx.get( - "https://api.weixin.qq.com/sns/oauth2/access_token", - params={ - "appid": settings.WECHAT_APP_ID, - "secret": settings.WECHAT_APP_SECRET, - "code": code, - "grant_type": "authorization_code", - }, - timeout=settings.WXPAY_REQUEST_TIMEOUT_SEC, - ) - data = resp.json() - if "openid" not in data: - raise ValueError(f"微信授权失败: {data.get('errmsg', data)}") - return data["openid"] - - def code_to_userinfo(code: str) -> dict: """code 换 access_token+openid,再拉 sns/userinfo 取昵称头像。 返回 {openid, nickname, avatar_url, raw}。失败抛 ValueError。