update
This commit is contained in:
parent
61c63678e4
commit
46fe81658f
@ -10,6 +10,13 @@ import base64
|
||||
from Crypto.Cipher import AES
|
||||
import typing
|
||||
import struct
|
||||
from app.core.wecomclient import wecom_client
|
||||
from app.models.user import UserDB
|
||||
from app.api.deps import get_current_user
|
||||
from fastapi import Depends
|
||||
from sqlalchemy.orm import Session
|
||||
from app.core.response import error_response, success_response
|
||||
from pydantic import BaseModel
|
||||
|
||||
router = APIRouter()
|
||||
|
||||
@ -134,4 +141,34 @@ async def wechat_corp_callback(
|
||||
|
||||
except Exception as e:
|
||||
logging.exception("处理企业微信回调消息异常")
|
||||
return Response(content="success", media_type="text/plain")
|
||||
return Response(content="success", media_type="text/plain")
|
||||
|
||||
|
||||
|
||||
class RefreshRequest(BaseModel):
|
||||
code: str
|
||||
|
||||
@router.post("/refresh")
|
||||
async def refresh(
|
||||
request: RefreshRequest,
|
||||
db: Session = Depends(get_db),
|
||||
current_user: UserDB = Depends(get_current_user)
|
||||
):
|
||||
if current_user and (current_user.wecom_userid or current_user.wecom_pending_id):
|
||||
return error_response(code=400, message="用户已绑定企业微信")
|
||||
|
||||
user_info = await wecom_client.code2session(request.code)
|
||||
print(f"获取到的企业微信用户信息: {user_info}")
|
||||
if not user_info:
|
||||
return error_response(code=400, message="获取企业微信用户信息失败")
|
||||
|
||||
if user_info.get("userid"):
|
||||
current_user.wecom_userid = user_info.get("userid")
|
||||
else:
|
||||
current_user.wecom_pending_id = user_info.get("pending_id")
|
||||
|
||||
db.commit()
|
||||
db.refresh(current_user)
|
||||
|
||||
return success_response(message="企业微信用户信息刷新成功")
|
||||
|
||||
|
||||
@ -39,7 +39,7 @@ class WecomClient:
|
||||
logging.exception(f"获取企业微信访问令牌异常: {str(e)}")
|
||||
return None
|
||||
|
||||
async def miniprogram_to_userid(self, code: str) -> Optional[Dict[str, Any]]:
|
||||
async def code2session(self, code: str) -> Optional[Dict[str, Any]]:
|
||||
"""
|
||||
小程序code转换为企业微信userid
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user