|
|
@@ -21,13 +21,15 @@ import time
|
|
|
import json
|
|
|
import base64
|
|
|
import redis
|
|
|
+import random
|
|
|
from django.core.cache import cache
|
|
|
import os
|
|
|
# from configure import verification_code
|
|
|
-
|
|
|
+import re
|
|
|
from apps.AppInfo.models import Equip, Equip_type, MyUser, QXZdata, QXZstatus, QXZdata_New, JKdata, Article, QXZstatus_New, QXZswitchdata, QXZswitchstatus, CKArticle, GardenManage, Video_data,\
|
|
|
Product, Pick_Pub, FarmList, Hotel_Info, GardenArea, Sightsee_Info,Hotel_Info
|
|
|
-
|
|
|
+from qcloudsms_py import SmsSingleSender
|
|
|
+from qcloudsms_py.httpclient import HTTPError
|
|
|
|
|
|
from django.utils.decorators import method_decorator
|
|
|
|
|
|
@@ -343,63 +345,71 @@ class User_Check(ListView):
|
|
|
print(000)
|
|
|
return HttpResponse("00000")
|
|
|
|
|
|
-
|
|
|
+
|
|
|
+
|
|
|
+# 短信应用 SDK AppID
|
|
|
+appid = 1400227496 # SDK AppID 以1400开头
|
|
|
+# 短信应用 SDK AppKey
|
|
|
+appkey = "c9aba961bd30072f1e1b9272077abaea"
|
|
|
+#签名
|
|
|
+sms_sign = "云飞科技" # NOTE: 签名参数使用的是`签名内容`,而不是`签名ID`。这里的签名"腾讯云"只是示例,真实的签名需要在短信控制台中申请
|
|
|
|
|
|
|
|
|
#发送验证码
|
|
|
#1验证码不正确,2两次密码不一致4用户不存在请注册3手机号不正确 0重置密码成功
|
|
|
class Prove_Code(ListView):
|
|
|
def post(self, request):
|
|
|
- phone = json.loads(request.body.decode())
|
|
|
+ # phone = json.loads(request.body.decode())
|
|
|
# num = verification_code()
|
|
|
- num = 123456
|
|
|
- mobile = phone["mobile"]
|
|
|
- pass_word1 = phone["password"]
|
|
|
- pass_word2 = phone["password2"]
|
|
|
- code = phone["code"]
|
|
|
- ret = phone["ret"]
|
|
|
- imei = phone["imei"]
|
|
|
- try:
|
|
|
- #提取imei
|
|
|
- imei = json.loads(imei)
|
|
|
- imeid = imei["uuid"]
|
|
|
- if imeid.find(",") != -1:
|
|
|
- imeid = imeid.split(",")[0]
|
|
|
- else:
|
|
|
- pass
|
|
|
- print("imeid",imeid)
|
|
|
- except Exception as e:
|
|
|
- print(e)
|
|
|
- data = 0
|
|
|
- return HttpResponse(data)
|
|
|
+ # num = 123456
|
|
|
+
|
|
|
+ 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")
|
|
|
+ # imei = request.POST.get("imei")
|
|
|
+ # try:
|
|
|
+ # #提取imei
|
|
|
+ # imei = json.loads(imei)
|
|
|
+ # imeid = imei["uuid"]
|
|
|
+ # if imeid.find(",") != -1:
|
|
|
+ # imeid = imeid.split(",")[0]
|
|
|
+ # else:
|
|
|
+ # pass
|
|
|
+ # print("imeid",imeid)
|
|
|
+ # except Exception as e:
|
|
|
+ # print(e)
|
|
|
+ # data = 0
|
|
|
+ # return HttpResponse(data)
|
|
|
|
|
|
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 ret == "see":
|
|
|
- if res:
|
|
|
- #手机号正确的情况下,校验该手机是否已经注册
|
|
|
- if MyUser.objects.filter(imei=imeid).exists():
|
|
|
- data = 6
|
|
|
- else:
|
|
|
- #校验手机号是否已经注册
|
|
|
- if MyUser.objects.filter(username=mobile).exists():
|
|
|
- data = 1
|
|
|
- else:
|
|
|
- #发送短信验证码
|
|
|
- template_id = 496156 # 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
|
|
|
- request.session["code"] = num
|
|
|
- else:
|
|
|
- data = 2
|
|
|
+
|
|
|
+ #校验手机号是否已经注册
|
|
|
+ if MyUser.objects.filter(username=mobile).exists():
|
|
|
+ data = 1
|
|
|
else:
|
|
|
- data = 3
|
|
|
+ #发送短信验证码
|
|
|
+ template_id = 496156 # 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
|
|
|
+ request.session["code"] = num
|
|
|
+ else:
|
|
|
+ data = 2
|
|
|
+
|
|
|
elif ret == "land": #注册
|
|
|
try:
|
|
|
#登陆校验 获取存到session 中的验证码,与用户输入的验证码比较,
|
|
|
@@ -409,25 +419,23 @@ class Prove_Code(ListView):
|
|
|
print(e)
|
|
|
data = 2
|
|
|
return HttpResponse(data)
|
|
|
- if MyUser.objects.filter(imei=imeid).exists():
|
|
|
- data = 6
|
|
|
+
|
|
|
+ if MyUser.objects.filter(username=mobile).exists():
|
|
|
+ data = 1
|
|
|
else:
|
|
|
- if MyUser.objects.filter(username=mobile).exists():
|
|
|
- data = 1
|
|
|
- else:
|
|
|
- if code == num:
|
|
|
- #在验证码输入正确的情况下,校验输入的两次密码是否一致
|
|
|
- if pass_word1 == pass_word2:
|
|
|
- code = mobile[:5]
|
|
|
- user_remark = "勤劳的园丁"+ code
|
|
|
- MyUser.objects.create_user(
|
|
|
- username=mobile, password=pass_word1, imei=imeid,user_remark=user_remark)
|
|
|
- data = 5
|
|
|
- # 验证码存在session中,在用户注册成功后要删除设置的验证码,
|
|
|
- del request.session['code']
|
|
|
- else:
|
|
|
- data = 4
|
|
|
+ if code == num:
|
|
|
+ #在验证码输入正确的情况下,校验输入的两次密码是否一致
|
|
|
+ if pass_word1 == pass_word2:
|
|
|
+ code = mobile[:5]
|
|
|
+ user_remark = "勤劳的园丁"+ code
|
|
|
+ MyUser.objects.create_user(
|
|
|
+ username=mobile, password=pass_word1,user_remark=user_remark)
|
|
|
+ data = 5
|
|
|
+ # 验证码存在session中,在用户注册成功后要删除设置的验证码,
|
|
|
+ del request.session['code']
|
|
|
else:
|
|
|
- data = 2
|
|
|
+ data = 4
|
|
|
+ else:
|
|
|
+ data = 2
|
|
|
return HttpResponse(data)
|
|
|
|