From b1b7e05b99665499b467de568ee9232032928e1f Mon Sep 17 00:00:00 2001 From: aaron <> Date: Sun, 9 Mar 2025 20:35:55 +0800 Subject: [PATCH] update --- app/api/endpoints/user.py | 104 -------------------------------------- app/main.py | 6 +-- 2 files changed, 3 insertions(+), 107 deletions(-) diff --git a/app/api/endpoints/user.py b/app/api/endpoints/user.py index 850b909..9325684 100644 --- a/app/api/endpoints/user.py +++ b/app/api/endpoints/user.py @@ -60,64 +60,7 @@ async def send_verify_code(request: VerifyCodeRequest): ) return success_response(message="验证码已发送") - - # except Exception as e: - # logging.error(f"发送验证码失败: {str(e)}") - # return error_response(message=f"发送验证码失败: {str(e)}") -@router.post("/login") -async def login( - user_login: UserLogin, - db: Session = Depends(get_db), - response: Response = None, - request: Request = None -): - """用户登录""" - phone = user_login.phone - verify_code = user_login.verify_code - - # 验证验证码 - stored_code = redis_client.get_client().get(f"verify_code:{phone}") - if not stored_code or stored_code != verify_code: - return error_response(message="验证码错误或已过期") - - redis_client.get_client().delete(f"verify_code:{phone}") - - # 查找或创建用户 - user = db.query(UserDB).filter(UserDB.phone == phone).first() - if not user: - # 生成用户编码 - user_code = generate_user_code(db) - - user = UserDB( - nickname=f"蜜友{phone[-4:]}", - phone=phone, - user_code=user_code, - referral_code=user_login.referral_code, - password=get_password_hash("123456"), - roles=[UserRole.USER] - ) - db.add(user) - db.flush() # 获取用户ID - - db.commit() - db.refresh(user) - - # 创建访问令牌 - access_token = create_access_token( - data={"phone": user.phone} - ) - - request.session["access_token"] = access_token - - return success_response( - message="登录成功", - data={ - "user": UserInfo.model_validate(user), - "access_token": access_token, - "token_type": "bearer" - } - ) @router.get("/info", response_model=ResponseModel) async def get_user_info( @@ -171,53 +114,6 @@ async def get_user_info( return success_response(data=user_data) -@router.post("/phone-login", response_model=ResponseModel) -async def phone_login( - login_data: PhoneLoginRequest, - db: Session = Depends(get_db), - response: Response = None, - request: Request = None -): - """ 手机号登录(测试环境) """ - if not settings.DEBUG: - return error_response(code=400, message="测试环境不支持手机号登录") - - # 查找或创建用户 - user = db.query(UserDB).filter(UserDB.phone == login_data.phone).first() - if not user: - # 生成用户编码 - user_code = generate_user_code(db) - - user = UserDB( - nickname=f"蜜友{login_data.phone[-4:]}", - phone=login_data.phone, - user_code=user_code, - referral_code=login_data.referral_code, - password=get_password_hash("123456"), - roles=[UserRole.USER] - ) - db.add(user) - db.flush() - - db.commit() - db.refresh(user) - - # 创建访问令牌 - access_token = create_access_token( - data={"phone": user.phone} - ) - - request.session["access_token"] = access_token - - return success_response( - message="登录成功", - data={ - "user": UserInfo.model_validate(user), - "access_token": access_token, - "token_type": "bearer" - } - ) - @router.post("/logout", response_model=ResponseModel) async def logout( response: Response, diff --git a/app/main.py b/app/main.py index 9ea4bd4..619481f 100644 --- a/app/main.py +++ b/app/main.py @@ -14,7 +14,7 @@ from app.core.wecombot import WecomBot from app.api.endpoints import wecom from app.api.endpoints import feedback from starlette.middleware.sessions import SessionMiddleware - +import os # 创建数据库表 Base.metadata.create_all(bind=engine) @@ -26,7 +26,6 @@ app = FastAPI( docs_url="/docs" if settings.DEBUG else None ) - app.default_response_class = CustomJSONResponse # 配置 CORS @@ -94,8 +93,9 @@ async def exception_handler(request, exc): # 发送企业微信消息 wecom_bot = WecomBot(settings.URL_WECOMBOT_SYS_EXCEPTION) + env = os.getenv("APP_ENV", "dev").lower() - exception_log = f"""**API异常** + exception_log = f"""{env}环境**API异常** **请求信息** > 请求方法:{request.method} > 请求URL:{request.url}