update
This commit is contained in:
parent
9d75cc250d
commit
7370674398
@ -79,7 +79,7 @@ async def login(
|
|||||||
if not stored_code or stored_code != verify_code:
|
if not stored_code or stored_code != verify_code:
|
||||||
return error_response(message="验证码错误或已过期")
|
return error_response(message="验证码错误或已过期")
|
||||||
|
|
||||||
redis_client.delete(f"verify_code:{phone}")
|
redis_client.get_client().delete(f"verify_code:{phone}")
|
||||||
|
|
||||||
# 查找或创建用户
|
# 查找或创建用户
|
||||||
user = db.query(UserDB).filter(UserDB.phone == phone).first()
|
user = db.query(UserDB).filter(UserDB.phone == phone).first()
|
||||||
@ -520,12 +520,15 @@ async def update_user_community(
|
|||||||
@router.post("/change-password", response_model=ResponseModel)
|
@router.post("/change-password", response_model=ResponseModel)
|
||||||
async def change_password(
|
async def change_password(
|
||||||
request: ChangePasswordRequest,
|
request: ChangePasswordRequest,
|
||||||
db: Session = Depends(get_db),
|
db: Session = Depends(get_db)
|
||||||
current_user: UserDB = Depends(get_current_user) # 获取当前登录用户
|
|
||||||
):
|
):
|
||||||
"""通过短信验证码修改密码"""
|
"""通过短信验证码修改密码"""
|
||||||
|
user = db.query(UserDB).filter(UserDB.phone == request.phone).first()
|
||||||
|
if not user:
|
||||||
|
return error_response(message="用户不存在")
|
||||||
|
|
||||||
# 验证短信验证码
|
# 验证短信验证码
|
||||||
redis_code = redis_client.get(f"verify_code:{current_user.phone}")
|
redis_code = redis_client.get_client().get(f"verify_code:{user.phone}")
|
||||||
if not redis_code:
|
if not redis_code:
|
||||||
return error_response(message="验证码已过期")
|
return error_response(message="验证码已过期")
|
||||||
|
|
||||||
@ -533,12 +536,14 @@ async def change_password(
|
|||||||
return error_response(message="验证码错误")
|
return error_response(message="验证码错误")
|
||||||
|
|
||||||
try:
|
try:
|
||||||
|
|
||||||
|
|
||||||
# 更新密码
|
# 更新密码
|
||||||
current_user.password = get_password_hash(request.new_password)
|
user.password = get_password_hash(request.new_password)
|
||||||
db.commit()
|
db.commit()
|
||||||
|
|
||||||
# 删除验证码
|
# 删除验证码
|
||||||
redis_client.delete(f"verify_code:{current_user.phone}")
|
redis_client.get_client().delete(f"verify_code:{request.phone}")
|
||||||
|
|
||||||
return success_response(message="密码修改成功")
|
return success_response(message="密码修改成功")
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
|
|||||||
@ -114,6 +114,7 @@ class UserPasswordLogin(BaseModel):
|
|||||||
role: UserRole = Field(default=UserRole.DELIVERYMAN)
|
role: UserRole = Field(default=UserRole.DELIVERYMAN)
|
||||||
|
|
||||||
class ChangePasswordRequest(BaseModel):
|
class ChangePasswordRequest(BaseModel):
|
||||||
|
phone: str = Field(..., pattern="^1[3-9]\d{9}$")
|
||||||
verify_code: str = Field(..., min_length=4, max_length=6)
|
verify_code: str = Field(..., min_length=4, max_length=6)
|
||||||
new_password: str = Field(..., min_length=6, max_length=20)
|
new_password: str = Field(..., min_length=6, max_length=20)
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user