项目初次搭建

This commit is contained in:
2025-02-13 16:29:28 +08:00
parent feef37cbd7
commit 3cb2a4c507
121 changed files with 19550 additions and 0 deletions

34
app/api/sys/login_api.py Normal file
View File

@ -0,0 +1,34 @@
from fastapi import APIRouter, Depends
from sqlalchemy.orm import Session
from app.db.db_session import get_db
from app.model.schemas.sys_user_schemas import SysUserLogin
from app.common import reponse_code as rc
from app.model.crud import sys_user_crud as us
from app.common.bcrypt_pw import verify_password
from app.common.jwt_check import generate_token
from app.common.redis_cli import redis_conn
"""
用户登录统一接口
"""
login = APIRouter()
@login.post("/")
def login_check(user: SysUserLogin, session: Session = Depends(get_db)):
"""
登录验证并返回token
:param session:
:param user: 登录参数信息
:return: response
"""
query_user = us.get_user_by_username(username=user.username, session=session)
if query_user is None:
return rc.response_error('您输入的用户名不正确')
if not verify_password(user.password, query_user.password):
return rc.response_error("您输入的密码不正确")
if not query_user.user_status == '0':
return rc.response_error(msg="登录失败,账号已被禁用,请联系管理员")
token = generate_token(query_user.id, query_user.username)
redis_conn.set(query_user.id, token)
return rc.response_success(msg="登录成功", data=token)

View File

@ -0,0 +1,84 @@
from fastapi import APIRouter, Depends
from app.model.schemas.sys_user_schemas import SysUserOut, SysUserIN, SysUserPager
from app.common import reponse_code as rc
from app.model.crud import sys_user_crud as us
from app.model.model import SysUser
from app.common.redis_cli import redis_conn
from sqlalchemy.orm import Session
from app.db.db_session import get_db
"""
用户管理模块
"""
user = APIRouter()
@user.post("/pager")
def user_pager(user: SysUserPager, session: Session = Depends(get_db)):
pager = us.user_pager(user, session)
return rc.response_success_pager(pager)
@user.post("/")
def add_user(user: SysUserIN, session: Session = Depends(get_db)):
"""
新增用户
:param session:
:param user: 用户信息
:return:
"""
if us.check_username(user.username, session):
return rc.response_error(msg="该用户名已存在!")
else:
user_in= SysUser(**user.dict())
user_in.user_status = '0'
if us.add_user(user_in, session):
return rc.response_success(msg="保存成功")
else:
return rc.response_error(msg="保存失败")
@user.get("/{id}")
def get_user(id: int, session: Session = Depends(get_db)):
"""
根据用户id获取用户信息
:param session:
:param id: 用户id
:return: 用户信息
"""
user = us.get_user_by_id(id, session)
if user is None:
return rc.response_success(data=None)
user_out = SysUserOut(**dict(user))
return rc.response_success(data=user_out.dict())
@user.post("/stop/{id}")
def stop_user(id: int, session: Session = Depends(get_db)):
"""
停用用户。修改用户状态并删除保存过的登录redis
:param session:
:param id:
:return:
"""
user = us.get_user_by_id(id, session)
if user is None:
return rc.response_error("用户查询错误,请稍后再试")
us.stop_user(user)
redis_conn.delete(id)
return rc.response_success("停用用户成功")
@user.post("/start/{id}")
def start_user(id: int, session: Session = Depends(get_db)):
"""
启用用户。修改用户状态
:param session:
:param id:
:return:
"""
user = us.get_user_by_id(id, session)
if user is None:
return rc.response_error("用户查询错误,请稍后再试")
us.start_user(user)
return rc.response_success("启用用户成功")