1.优化面试阶段

This commit is contained in:
李伟 2022-09-16 14:24:54 +08:00
parent 8c9e29aa07
commit fd28355f0f
3 changed files with 52 additions and 51 deletions

View File

@ -1447,11 +1447,11 @@ async def login(
'rank': user.rank, # 区分hr和面试官 'rank': user.rank, # 区分hr和面试官
'token': security.create_access_token( 'token': security.create_access_token(
expires_delta=access_token_expires, user_id=user.user_id, email=user.email, expires_delta=access_token_expires, user_id=user.user_id, email=user.email,
tel=user.tel, name=user.name), tel=user.tel, name=user.name, rank=user.rank),
"token_type": "bearer"}, "token_type": "bearer"},
'access_token': security.create_access_token( 'access_token': security.create_access_token(
expires_delta=access_token_expires, user_id=user.user_id, email=user.email, expires_delta=access_token_expires, user_id=user.user_id, email=user.email,
tel=user.tel, name=user.name tel=user.tel, name=user.name, rank=user.rank
), ),
"token_type": "bearer", "token_type": "bearer",
'code': 200, 'code': 200,

View File

@ -15,52 +15,52 @@ from db import get_database
router = APIRouter() router = APIRouter()
@router.post("/login") # @router.post("/login")
async def login( # async def login(
# data: schemas.UserLogin, # # data: schemas.UserLogin,
data: OAuth2PasswordRequestForm = Depends(), # data: OAuth2PasswordRequestForm = Depends(),
db: AsyncIOMotorDatabase = Depends(get_database) # db: AsyncIOMotorDatabase = Depends(get_database)
) -> Any: # ) -> Any:
""" # """
OAuth2兼容令牌登录获取将来令牌的访问令牌 # OAuth2兼容令牌登录获取将来令牌的访问令牌
""" # """
user = await crud.user.authenticate(db, # user = await crud.user.authenticate(db,
name=data.username, password=data.password # name=data.username, password=data.password
) # )
if not user: # if not user:
# raise HTTPException(status_code=400, detail="Incorrect name or password") # # raise HTTPException(status_code=400, detail="Incorrect name or password")
return schemas.Msg(code=-1, msg='密码或用户名错误') # return schemas.Msg(code=-1, msg='密码或用户名错误')
access_token_expires = timedelta(minutes=settings.ACCESS_TOKEN_EXPIRE_MINUTES) # access_token_expires = timedelta(minutes=settings.ACCESS_TOKEN_EXPIRE_MINUTES)
# access_token_expires = timedelta(seconds=5) # # access_token_expires = timedelta(seconds=5)
await crud.user.update_login_time(db, data.username) # await crud.user.update_login_time(db, data.username)
#
return { # return {
'data': { # 'data': {
'name': user.name, # 'name': user.name,
'nickname': user.nickname, # 'nickname': user.nickname,
'email': user.email, # 'email': user.email,
'tel': user.tel, # 'tel': user.tel,
'userid':user.id, # 'userid':user.id,
#
'token': security.create_access_token( # 'token': security.create_access_token(
expires_delta=access_token_expires, _id=str(user.id), email=user.email, # expires_delta=access_token_expires, _id=str(user.id), email=user.email,
nickname=user.nickname, # nickname=user.nickname,
is_superuser=user.is_superuser, name=user.name, # is_superuser=user.is_superuser, name=user.name,
data_where=user.data_where, # data_where=user.data_where,
), # ),
"token_type": "bearer", # "token_type": "bearer",
#
}, # },
'access_token': security.create_access_token( # 'access_token': security.create_access_token(
expires_delta=access_token_expires, _id=str(user.id), email=user.email, # expires_delta=access_token_expires, _id=str(user.id), email=user.email,
nickname=user.nickname, # nickname=user.nickname,
is_superuser=user.is_superuser, name=user.name, data_where=user.data_where # is_superuser=user.is_superuser, name=user.name, data_where=user.data_where
), # ),
"token_type": "bearer", # "token_type": "bearer",
#
'code': 0, # 'code': 0,
'msg': 'success', # 'msg': 'success',
} # }
@router.get("/me", response_model=schemas.User) @router.get("/me", response_model=schemas.User)

View File

@ -61,14 +61,15 @@ class UserCreate(UserBase):
class UserDB(DBBase): class UserDB(DBBase):
email: EmailStr = None email: EmailStr = None # 邮箱
is_superuser: bool = False is_superuser: bool = False
name: str name: str # 姓名
nickname: str = '' nickname: str = ''
tel: Any = '' tel: Any = ''
last_login_ts: str = '尚未登录' last_login_ts: str = '尚未登录'
data_where: dict = dict() data_where: dict = dict()
user_id: str # 钉钉id
rank: int # 区分hr和面试官
class UserDBRW(DBBase): class UserDBRW(DBBase):
hashed_password: str # 密码 hashed_password: str # 密码