Ejemplo n.º 1
0
 def post(self, request, *args, **kwargs):
     # 拿到前台手机
     mobile = request.data.get('mobile')
     if not (mobile and re.match(r'^1[3-9][0-9]{9}$', mobile)):
         return APIResponse(2, '手机号格式有误')
     # 获取验证码
     code = tx_sms.get_code()
     # 发送短信
     result = tx_sms.send_sms(mobile, code, settings.SMS_EXP // 60)
     # 服务器缓存验证码
     if not result:
         return APIResponse(1, '发送验证码失败')
     cache.set(settings.SMS_CACHE_KEY % mobile, code, settings.SMS_EXP)
     # 校验发送的验证码与缓存的验证码是否一致
     # print('>>>> %s - %s <<<<' % (code, cache.get('sms_%s' % mobile)))
     return APIResponse(0, '发送验证码成功')
Ejemplo n.º 2
0
    def post(self, request, *args, **kwargs):
        # 1)处理手机号
        mobile = request.data.get('mobile', None)
        if not mobile:
            return APIResponse(1, msg='mobile字段必须', http_status=400)

        if not re.match(r'^1[3-9][0-9]{9}$', mobile):
            return APIResponse(1, msg='mobile格式有误', http_status=400)

        # 2) 生成验证码
        code = tx_sms.get_sms_code()

        # 3)发送验证码
        result = tx_sms.send_sms(mobile, code, settings.SMS_EXP // 60)

        if not result:
            return APIResponse(1, msg='验证码发送失败')

        # 4)缓存验证码
        cache.set(settings.SMS_CACHE_FORMAT % mobile, code, settings.SMS_EXP)

        # 5)成功响应
        return APIResponse(0, msg='验证码发送成功')
Ejemplo n.º 3
0
 def post(self, request):
     mobile = request.data.get('mobile')
     flag = send_sms(mobile)
     if flag:
         return Response(data={'code':1, 'msg':'发送成功'})
     return Response(data={'code':1, '.msg':'发送失败'})