from fastapi import APIRouter, Depends, HTTPException from jose import JWTError from sqlalchemy.orm import Session from Crud import AppCrud from Schemas import AppSchemas from Utils.AuthUtils import decode_token from Utils.SqlAlchemyUtils import get_db def app_auth_token_depend(token_data: AppSchemas.BaseAppTokenData, db: Session = Depends(get_db)): print("token_data", token_data) app = AppCrud.get_app_by_id(db, token_data.app_id) if not app.allowed: raise HTTPException(status_code=403, detail="应用未激活") try: data = decode_token(token_data.user_token, app.token_key) except JWTError: raise HTTPException(status_code=403, detail="没有权限") return data router = APIRouter( tags=["应用服务接口"], prefix="/api/user_mod/app", # dependencies=[Depends(admin_auth_token_depend)] ) # 获取用户基本信息 @router.post("/get_user_base_info", response_model=AppSchemas.UserBaseInfo, summary="获取用户基本信息") def get_user_base_info(payload=Depends(app_auth_token_depend)): return AppSchemas.UserBaseInfo(**payload) # 用户授权登录 @router.post("/check_token", summary="验证token是否有效") def check_token(payload=Depends(app_auth_token_depend)): return {'msg': "token有效", 'state': 1}