zoukankan      html  css  js  c++  java
  • 手机短信验证

    手机验证接口

    from rest_framework.views import APIView
    from .models import User
    from utils.response import APIResponse
    import re
    # 注册逻辑:1.校验手机号是否存在 2.发送验证码 3.完成注册
    class MobileAPIView(APIView):
        def post(self, request, *args, **kwargs):
            mobile = request.data.get('mobile')
            if not mobile or not re.match(r'^1[3-9]d{9}$', mobile):
                return APIResponse(1, '数据有误')
            try:
                User.objects.get(mobile=mobile)
                return APIResponse(2, '已注册')
            except:
                return APIResponse(0, '未注册')

     发送短信接口

    # 发送验证码接口分析
    from libs import txsms
    from django.core.cache import cache
    class SMSAPIView(APIView):
        def post(self, request, *args, **kwargs):
            # 1)拿到前台的手机号
            mobile = request.data.get('mobile')
            if not mobile or not re.match(r'^1[3-9]d{9}$', mobile):
                return APIResponse(2, '数据有误')
            # 2)调用txsms生成手机验证码
            code = txsms.get_code()
            # 3)调用txsms发送手机验证码
            result = txsms.send_sms(mobile, code, 5)
            # 4)失败反馈信息给前台
            if not result:
                return APIResponse(1, '短信发送失败')
            # 5)成功服务器缓存手机验证码 - 用缓存存储(方便管理) - redis
            cache.set('sms_%s' % mobile, code, 5 * 60)
            # 6)反馈成功信息给前台
            return APIResponse(0, '短信发送成功')
  • 相关阅读:
    Docker 笔记
    Win10 Docker 安装使用
    golang struct转map
    Golang 中错误与异常需要重新认识
    Golang 中三种读取文件发放性能对比
    GoLang中如何使用多参数属性传参
    GoLang中flag标签使用
    Windows本地搭建Edusoho环境
    edusoho上传视频弹出abort之解决方案
    XAMPP启动mysql遇到的问题
  • 原文地址:https://www.cnblogs.com/komorebi/p/11768520.html
Copyright © 2011-2022 走看看