反馈手机号,增加验证码功能。
This commit is contained in:
parent
a2c248ff4d
commit
ac945a864c
@ -15,6 +15,7 @@ from app.models.feedback import (
|
||||
from typing import List
|
||||
import logging
|
||||
from app.core.config import settings
|
||||
from app.core.redis_client import redis_client
|
||||
|
||||
router = APIRouter()
|
||||
|
||||
@ -71,6 +72,13 @@ async def apply_partner(
|
||||
db: Session = Depends(get_db),
|
||||
):
|
||||
"""申请成为合伙人"""
|
||||
|
||||
# 验证验证码
|
||||
stored_code = redis_client.get_client().get(f"verify_code:{apply_data.phone}")
|
||||
print(f"stored_code: {stored_code}")
|
||||
if not stored_code or stored_code != apply_data.phone_code:
|
||||
return error_response(message="验证码错误或已过期")
|
||||
|
||||
if apply_data.user_id>0:
|
||||
current_user = db.query(UserDB).filter(UserDB.userid == apply_data.user_id).first()
|
||||
else:
|
||||
|
||||
@ -25,18 +25,10 @@ from app.models.merchant import MerchantDB
|
||||
from app.models.address import AddressDB, AddressInfo
|
||||
from app.models.user import UserUpdateRoles, UserUpdateDeliveryCommissionRate
|
||||
from app.models.order import ShippingOrderDB, OrderStatus
|
||||
from app.core.redis_client import redis_client
|
||||
|
||||
router = APIRouter()
|
||||
|
||||
# Redis 连接
|
||||
redis_client = redis.Redis(
|
||||
host=settings.REDIS_HOST,
|
||||
port=settings.REDIS_PORT,
|
||||
db=settings.REDIS_DB,
|
||||
password=settings.REDIS_PASSWORD,
|
||||
decode_responses=True
|
||||
)
|
||||
|
||||
|
||||
@router.post("/send-code")
|
||||
async def send_verify_code(request: VerifyCodeRequest):
|
||||
@ -48,7 +40,7 @@ async def send_verify_code(request: VerifyCodeRequest):
|
||||
code, request_id = await qcloud_manager.send_sms_code(phone)
|
||||
|
||||
# 存储验证码到 Redis
|
||||
redis_client.setex(
|
||||
redis_client.get_client().setex(
|
||||
f"verify_code:{phone}",
|
||||
settings.VERIFICATION_CODE_EXPIRE_SECONDS,
|
||||
code
|
||||
@ -70,7 +62,7 @@ async def login(
|
||||
verify_code = user_login.verify_code
|
||||
|
||||
# 验证验证码
|
||||
stored_code = redis_client.get(f"verify_code:{phone}")
|
||||
stored_code = redis_client.get_client().get(f"verify_code:{phone}")
|
||||
if not stored_code or stored_code != verify_code:
|
||||
return error_response(message="验证码错误或已过期")
|
||||
|
||||
|
||||
@ -65,7 +65,7 @@ class QCloudManager:
|
||||
)
|
||||
self.cos_client = CosS3Client(config)
|
||||
|
||||
def generate_phone_code(self, length: int = 6) -> str:
|
||||
def generate_phone_code(self, length: int = 4) -> str:
|
||||
"""生成验证码"""
|
||||
return ''.join(random.choices(string.digits, k=length))
|
||||
|
||||
|
||||
@ -52,6 +52,7 @@ class PartnerApplyCreate(BaseModel):
|
||||
user_id: int = Field(..., description="用户ID")
|
||||
name: str = Field(..., max_length=50, description="姓名")
|
||||
phone: str = Field(..., max_length=20, description="联系电话")
|
||||
phone_code: str = Field(..., max_length=10, description="验证码")
|
||||
type: str = Field(..., max_length=50, description="合伙人类型")
|
||||
service_target: str = Field(..., max_length=200, description="服务对象/区域")
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user