yf_ymm 5 лет назад
Родитель
Сommit
1c3ad78836
3 измененных файлов с 102 добавлено и 3 удалено
  1. 8 0
      apps/AppInfo/models.py
  2. 5 3
      apps/Equipment/views.py
  3. 89 0
      apps/Home/views.py

+ 8 - 0
apps/AppInfo/models.py

@@ -655,3 +655,11 @@ class Pic_Info(models.Model):
         get_latest_by = 'upl_time'
 
 
+
+# 气象站短信预警记录
+class QXZ_Alarm_Log(models.Model):
+    equip_id = models.ForeignKey(Equip)
+    logs = models.CharField(u'预警记录',max_length=20, blank=True, null=True)
+    ekey = models.CharField(u'监测指标',max_length=20, blank=True, null=True)
+    # info = models.CharField(u'内容',max_length=20, blank=True)
+    upl_time = models.DateTimeField(u'上报时间', default=timezone.now)

+ 5 - 3
apps/Equipment/views.py

@@ -338,10 +338,12 @@ class Tourist_List(ListView):
     def get(self,request):
         page = int(request.GET.get("page"))
         con = request.GET.get("condition")
-        sightsee = Sightsee_Info.objects.all()[(10*(page-1)):(page*10)]
+        sightsee = Sightsee_Info.objects.all()
         if con:
-            sightsee = Sightsee_Info.objects.filter(name__contains=con)[(10*(page-1)):(page*10)]
-        return render(request, 'outerNet/touristList.html', context={"sightsee":sightsee})
+            sightsee = Sightsee_Info.objects.filter(name__contains=con)
+        nums = sightsee.count()
+        sightsee = sightsee[(10*(page-1)):(page*10)]
+        return render(request, 'outerNet/touristList.html', context={"sightsee":sightsee,"nums":nums})
     def post(self,request):
         pass
 

+ 89 - 0
apps/Home/views.py

@@ -23,6 +23,7 @@ import base64
 import redis
 from django.core.cache import cache
 import os
+from configure import verification_code
 
 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
@@ -341,3 +342,91 @@ class User_Check(ListView):
         else:
             print(000)
             return HttpResponse("00000")
+        
+        
+
+
+#发送验证码
+#1验证码不正确,2两次密码不一致4用户不存在请注册3手机号不正确 0重置密码成功
+class Prove_Code(ListView):
+    def post(self, request):
+        phone = json.loads(request.body.decode())
+        num = verification_code()
+        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)
+
+        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
+            else:
+                data = 3
+        elif ret == "land": #注册
+            try:
+                #登陆校验 获取存到session 中的验证码,与用户输入的验证码比较,
+                #如果在60内没有输入正确的验证码会直接删除,而这个时候就获取不到code 了
+                num = request.session.get('code')
+            except Exception as e:
+                print(e)
+                data = 2
+                return HttpResponse(data)
+            if MyUser.objects.filter(imei=imeid).exists():
+                data = 6
+            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
+                    else:
+                        data = 2
+        return HttpResponse(data)
+