反馈手机号,增加验证码功能。

This commit is contained in:
aaron 2025-03-04 11:51:35 +08:00
parent a2c248ff4d
commit ac945a864c
4 changed files with 13 additions and 12 deletions

View File

@ -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:

View File

@ -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="验证码错误或已过期")

View File

@ -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))

View File

@ -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="服务对象/区域")