|
|
@@ -439,3 +439,68 @@ class Prove_Code(ListView):
|
|
|
data = 2
|
|
|
return HttpResponse(data)
|
|
|
|
|
|
+
|
|
|
+
|
|
|
+#重置密码
|
|
|
+class Reset_Password(ListView):
|
|
|
+ def post(self, request):
|
|
|
+ # phone = json.loads(request.body.decode())
|
|
|
+ num = ""
|
|
|
+ for i in range(6):
|
|
|
+ ch = chr(random.randrange(ord('0'), ord('9') + 1))
|
|
|
+ num += ch
|
|
|
+ mobile = request.POST.get("mobile")
|
|
|
+ pass_word1 = request.POST.get("password")
|
|
|
+ pass_word2 = request.POST.get("password2")
|
|
|
+ code = request.POST.get("code")
|
|
|
+ ret = request.POST.get("ret")
|
|
|
+
|
|
|
+ if ret == "see":
|
|
|
+ mobile_pat = re.compile('^(13\d|14[5|7]|15\d|166|17\d|18\d)\d{8}$')
|
|
|
+ res = re.search(mobile_pat, mobile)
|
|
|
+ if res:
|
|
|
+ #校验手机号
|
|
|
+ if MyUser.objects.filter(username=mobile).exists():
|
|
|
+ template_id = 496444 # NOTE: 这里的模板 ID`7839`只是示例,真实的模板 ID 需要在短信控制台中申请
|
|
|
+ # # 签名
|
|
|
+ ssender = SmsSingleSender(appid, appkey)
|
|
|
+ params = [num, "1"]
|
|
|
+ #发送短信验证码
|
|
|
+ result = ssender.send_with_param(86, mobile,
|
|
|
+ template_id, params, sign=sms_sign, extend="", ext="")
|
|
|
+ if result["result"] == 0:
|
|
|
+ data = 0
|
|
|
+ #把验证码存到session中,以便后续校验
|
|
|
+ request.session["code"] = num
|
|
|
+ else:
|
|
|
+ data = 2
|
|
|
+ else:
|
|
|
+ data = 4
|
|
|
+ else:
|
|
|
+ data = 3
|
|
|
+ elif ret == "land":
|
|
|
+ try:
|
|
|
+ #如果在60内没有输入正确的验证码会直接删除,而这个时候就获取不到code 了
|
|
|
+ num = request.session.get('code')
|
|
|
+ except Exception as e:
|
|
|
+ data = 1
|
|
|
+ return HttpResponse(data)
|
|
|
+ if MyUser.objects.filter(username=mobile).exists():
|
|
|
+ if pass_word1 == pass_word2:
|
|
|
+ if num == code:
|
|
|
+ req = MyUser.objects.get(username=mobile)
|
|
|
+ #密码进行加密
|
|
|
+ req.set_password(pass_word1)
|
|
|
+ # pass_word3 = make_password(pass_word1)
|
|
|
+ # req.password = pass_word3
|
|
|
+ req.save()
|
|
|
+ # 验证码存在session中,在用户注册成功后要删除设置的验证码,
|
|
|
+ del request.session['code']
|
|
|
+ data = 0
|
|
|
+ else:
|
|
|
+ data = 1
|
|
|
+ else:
|
|
|
+ data = 2
|
|
|
+ else:
|
|
|
+ data = 4
|
|
|
+ return HttpResponse(data)
|