""" user - mobile user views auther: tanlie date: 2026/8/30 """ import logging from fastapi import APIRouter, Body, Query, Depends from sqlalchemy.orm import Session from app.core.db import get_db from app.core.response import success_response, error_response from app.mobile.req.user import UserLoginReq from app.models.user import User api = APIRouter(prefix="/dgapi/mobile/user", tags=["mobile user"]) logger = logging.getLogger("app") @api.get("/login/captcha", summary="获取验证码") def get_captcha(type: int = Query(default=1, description="验证码类型,1:登录验证码,2:注册验证码")): logger.info("获取验证码,type=%s", type) return success_response(data={"type": type}, msg="获取验证码成功") @api.post("/login", summary="登录") def login(req: UserLoginReq): logger.info("用户登录,请求参数:%s", req) return success_response(data={"user": req.model_dump()}, msg="登录成功") @api.post("/logout", summary="登出") def logout(userId: int = Body(description="用户ID")): logger.info("用户登出,userId=%s", userId) return success_response(data={"userId": userId}, msg="退出成功") @api.get("/wish-summary", summary="心愿单摘要") def wish_summary(): logger.info("获取心愿单摘要") return success_response(data={"wish_summary": "心愿单"}, msg="查询成功") @api.get("/userinfo", summary="获取用户信息") def get_userinfo(userId: int = Query(description="用户ID"), db: Session = Depends(get_db)): """查询数据库并返回用户信息""" logger.info("获取用户信息,userId=%s", userId) res = db.query(User).filter(User.id == userId).first() if not res: return error_response(msg="用户不存在", code=404) data = { "id": res.id, "username": res.username, "mobile": res.mobile, "email": res.email, "createdAt": res.created_at.isoformat() if res.created_at is not None else None, } return success_response(data=data, msg="查询成功")