1.修改账号密码

This commit is contained in:
李伟 2022-09-21 18:19:09 +08:00
parent 2f990ef845
commit fbe768049b
3 changed files with 23 additions and 6 deletions

View File

@ -1571,17 +1571,18 @@ async def reset_password(request: Request,
return schemas.Msg(code=200, msg='ok') return schemas.Msg(code=200, msg='ok')
@router.post("/reset_my_password") @router.post("/set_userinfo")
async def reset_my_password(request: Request, async def reset_my_password(request: Request,
data_in: schemas.UserRestMyPassword, data_in: schemas.UserRestMyPassword,
db: AsyncIOMotorDatabase = Depends(get_database), db: AsyncIOMotorDatabase = Depends(get_database),
current_user: schemas.User = Depends(deps.get_current_user) current_user: schemas.User = Depends(deps.get_current_user)
) -> Any: ) -> Any:
""" """
修改自己的密码 修改自己的密码,用户名电话邮箱
""" """
await crud.user.reset_password(db, await crud.user.reset_password(db,
schemas.UserRestPassword(user_id=current_user.user_id, password=data_in.password)) schemas.UserRestPassword(user_id=current_user.user_id, password=data_in.password,
nickname=data_in.nickname,tel=data_in.tel,email=data_in.email))
return schemas.Msg(code=200, msg='ok') return schemas.Msg(code=200, msg='ok')

View File

@ -48,8 +48,19 @@ class CRUDUser(CRUDBase):
await db[self.coll_name].insert_one(db_obj.dict(by_alias=True)) await db[self.coll_name].insert_one(db_obj.dict(by_alias=True))
async def reset_password(self, db: AsyncIOMotorDatabase, obj_in: schemas.UserRestPassword): async def reset_password(self, db: AsyncIOMotorDatabase, obj_in: schemas.UserRestPassword):
date=obj_in.dict()
date.pop('user_id')
if obj_in.password != '':
hashed_password = get_password_hash(obj_in.password) hashed_password = get_password_hash(obj_in.password)
await self.update_one(db, {'user_id': obj_in.user_id}, {'$set': {'hashed_password': hashed_password}}) date.update({'hashed_password': hashed_password})
dels=[]
for k,v in date.items():
if v == '':
dels.append(k)
if dels != []:
for i in dels:
date.pop(i)
await self.update_one(db, {'user_id': obj_in.user_id}, {'$set': date})
async def authenticate(self, db: AsyncIOMotorDatabase, name: str, password: str): async def authenticate(self, db: AsyncIOMotorDatabase, name: str, password: str):
user_obj = await self.get_by_user(db, name=name) user_obj = await self.get_by_user(db, name=name)

View File

@ -40,10 +40,15 @@ class UserLogin(BaseModel):
class UserRestPassword(BaseModel): class UserRestPassword(BaseModel):
user_id: str = ... user_id: str = ...
password: str = ... password: str = ...
nickname:str # 用户名
tel:str # 电话
email: str # 邮箱
class UserRestMyPassword(BaseModel): class UserRestMyPassword(BaseModel):
password: str = ... password: str = ...
nickname:str # 用户名
tel:str # 电话
email: str # 邮箱
class UserCreate(UserBase): class UserCreate(UserBase):