upload project source code

This commit is contained in:
2026-04-30 18:49:43 +08:00
commit 9b394ba682
2277 changed files with 660945 additions and 0 deletions

View File

@@ -0,0 +1,40 @@
# -*- coding: utf-8 -*-
from fastapi import APIRouter, Depends
from fastapi.responses import JSONResponse
from sqlalchemy.ext.asyncio import AsyncSession
from redis.asyncio.client import Redis
from app.common.response import SuccessResponse
from app.core.logger import log
from app.core.dependencies import db_getter, redis_getter
from app.api.v1.module_system.auth.schema import AuthSchema
from .service import MiniappService
from .schema import MiniappLoginSchema, MiniappLoginOutSchema
MiniappRouter = APIRouter(prefix="/miniapp", tags=["小程序"])
@MiniappRouter.post("/login", summary="小程序登录", description="微信小程序用户登录", response_model=MiniappLoginOutSchema)
async def miniapp_login_controller(
data: MiniappLoginSchema,
db: AsyncSession = Depends(db_getter),
redis: Redis = Depends(redis_getter),
) -> JSONResponse:
"""
小程序登录接口
前端调用 wx.login() 获取 code传给此接口换取 token
参数:
- data (MiniappLoginSchema): 包含微信登录code
返回:
- MiniappLoginOutSchema: 包含access_token和用户信息
"""
auth = AuthSchema(db=db)
result = await MiniappService.login_service(auth=auth, redis=redis, data=data)
log.info(f"小程序用户登录成功")
return SuccessResponse(data=result, msg="登录成功")