chenjunkai 6 years ago
parent
commit
eb1e3a6a83

+ 0 - 13
Ansjer/mqtt/__init__.py

@@ -1,13 +0,0 @@
-#!/usr/bin/env python3  
-# -*- coding: utf-8 -*-  
-"""
-@Copyright (C) ansjer cop Video Technology Co.,Ltd.All rights reserved.
-@AUTHOR: ASJRD018
-@NAME: AnsjerFormal
-@software: PyCharm
-@DATE: 2019/3/7 9:53
-@Version: python3.6
-@MODIFY DECORD:ansjer dev
-@file: __init__.py.py
-@Contact: chanjunkai@163.com
-"""

+ 0 - 58
Ansjer/mqtt/gcmm.py

@@ -1,58 +0,0 @@
-#!/usr/bin/env python3  
-# -*- coding: utf-8 -*-  
-"""
-@Copyright (C) ansjer cop Video Technology Co.,Ltd.All rights reserved.
-@AUTHOR: ASJRD018
-@NAME: AnsjerFormal
-@software: PyCharm
-@DATE: 2019/3/7 10:50
-@Version: python3.6
-@MODIFY DECORD:ansjer dev
-@file: gcmm.py
-@Contact: chanjunkai@163.com
-"""
-import json
-import requests
-
-data = {
-    "key1": "abc",
-    "key2": "def"
-}
-
-json_data = {
-    "collapse_key": "WhatYouWant",
-    "data": data,
-    "delay_while_idle": False,
-    "time_to_live": 3600,
-    "registration_ids": ['eSooD4fAARg:APA91bEPenBPnSn5aXIQk56QdLOQ1Mu3hevHsekP_0eDpg458y2ZMBP6By2rVsGYIoxZrXxvkkptPKUE9CmUygBxaZXABddUWB9FyLlznRFerC7RG9X5PsEOH58xK9_aTUdkT7p6Ocld']
-}
-
-url = 'https://android.googleapis.com/gcm/send'
-serverKey = "AAAAb9YP3rk:APA91bHu8u-CTpcd0g6lKPo0WNVqCi8jZub1cPPbSAY9AucT1HxlF65ZDUko9iG8q2ch17bwu9YWHpK1xI1gHSRXCslLvZlXEmHZC0AG3JKg15XuUvlFKACIajUFV-pOeGRT8tM6-31I"
-
-data = json.dumps(json_data).encode('utf-8')
-headers = {'Content-Type': 'application/json', 'Authorization': 'key=%s' % serverKey}
-req = requests.post(url, data, headers=headers)
-print(req.text)
-exit()
-#################################################
-from gcm import GCM
-
-API_KEY = 'AAAAb9YP3rk:APA91bHu8u-CTpcd0g6lKPo0WNVqCi8jZub1cPPbSAY9AucT1HxlF65ZDUko9iG8q2ch17bwu9YWHpK1xI1gHSRXCslLvZlXEmHZC0AG3JKg15XuUvlFKACIajUFV-pOeGRT8tM6-31I'
-gcm = GCM(API_KEY)
-data = {'param1': 'value1', 'param2': 'value2'}
-
-# Downstream message using JSON request
-reg_ids = ['eSooD4fAARg:APA91bEPenBPnSn5aXIQk56QdLOQ1Mu3hevHsekP_0eDpg458y2ZMBP6By2rVsGYIoxZrXxvkkptPKUE9CmUygBxaZXABddUWB9FyLlznRFerC7RG9X5PsEOH58xK9_aTUdkT7p6Ocld']
-response = gcm.json_request(registration_ids=reg_ids, data=data)
-
-# Downstream message using JSON request with extra arguments
-res = gcm.json_request(
-    registration_ids=reg_ids, data=data,
-    collapse_key='uptoyou', delay_while_idle=True, time_to_live=3600
-)
-
-# Topic Messaging
-topic = 'topic name'
-res = gcm.send_topic_message(topic=topic, data=data)
-print(res)

+ 0 - 53
Ansjer/mqtt/mqtt_client.py

@@ -1,53 +0,0 @@
-#!/usr/bin/env python3  
-# -*- coding: utf-8 -*-  
-"""
-@Copyright (C) ansjer cop Video Technology Co.,Ltd.All rights reserved.
-@AUTHOR: ASJRD018
-@NAME: AnsjerFormal
-@software: PyCharm
-@DATE: 2019/3/7 9:43
-@Version: python3.6
-@MODIFY DECORD:ansjer dev
-@file: mqtt_client.py
-@Contact: chanjunkai@163.com
-"""
-
-# encoding: utf-8
-
-
-import paho.mqtt.client as mqtt
-
-
-def on_connect(client, userdata, flags, rc):
-    print("Connected with result code "+str(rc))
-    client.subscribe("chat")
-
-
-def on_message(client, userdata, msg):
-    print(msg.topic+" " + ":" + str(msg.payload))
-
-client = mqtt.Client()
-client.on_connect = on_connect
-client.on_message = on_message
-client.connect("192.168.136.45", 1883, 60)
-client.loop_forever()
-
-
-exit()
-import paho.mqtt.client as mqtt
-
-HOST = "192.168.136.45"
-PORT = 1883
-
-
-def test():
-    client = mqtt.Client()
-    client.username_pw_set(username='我是设备aa',password='xxxxxxx')
-    client.connect(HOST, PORT, 60)
-    client.publish("chat", "lalalallalalalalal", 2)
-    # client.loop()
-    client.loop_forever()
-
-
-if __name__ == '__main__':
-    test()

+ 0 - 30
Ansjer/mqtt/mqtt_server.py

@@ -1,30 +0,0 @@
-#!/usr/bin/env python3  
-# -*- coding: utf-8 -*-  
-"""
-@Copyright (C) ansjer cop Video Technology Co.,Ltd.All rights reserved.
-@AUTHOR: ASJRD018
-@NAME: AnsjerFormal
-@software: PyCharm
-@DATE: 2019/3/7 9:42
-@Version: python3.6
-@MODIFY DECORD:ansjer dev
-@file: mqtt_server.py
-@Contact: chanjunkai@163.com
-"""
-import paho.mqtt.client as mqtt
-
-
-def on_connect(client, userdata, flags, rc):
-    print("Connected with result code " + str(rc))
-    client.subscribe("chat")
-
-
-def on_message(client, userdata, msg):
-    print(msg.topic + " " + ":" + str(msg.payload))
-
-
-client = mqtt.Client()
-client.on_connect = on_connect
-client.on_message = on_message
-client.connect("192.168.136.45", 1883, 60)
-client.loop_forever()

+ 35 - 80
Ansjer/test/test.py

@@ -1,80 +1,35 @@
-# -*- coding:utf-8 -*-
-import smtplib
-import email
-from email.mime.multipart import MIMEMultipart
-from email.mime.text import MIMEText
-from email.mime.image import MIMEImage
-from email.mime.base import MIMEBase
-from email.mime.application import MIMEApplication
-from email.header import Header
-# 发件人地址,通过控制台创建的发件人地址
-username = 'message@dvema.com'
-# 发件人密码,通过控制台创建的发件人密码
-password = 'SMtp123456'
-# 自定义的回复地址
-replyto = '***'
-# 收件人地址或是地址列表,支持多个收件人,最多30个
-#rcptto = '***,***'
-# rcptto = '1758730877@qq.com'
-rcptto = 'cjk1758730877@gmail.com'
-# 构建alternative结构
-msg = MIMEMultipart('alternative')
-msg['Subject'] = Header('自定义信件主题').encode()
-msg['From'] = '%s <%s>' % (Header('自定义发信昵称').encode(), username)
-# msg['To'] = rcptto
-msg['Reply-to'] = replyto
-msg['Message-id'] = email.utils.make_msgid()
-msg['Date'] = email.utils.formatdate()
-# 构建alternative的text/plain部分
-# textplain = MIMEText('自定义TEXT纯文本部分', _subtype='plain', _charset='UTF-8')
-# msg.attach(textplain)
-# 构建alternative的text/html部分
-sendHtml = '''
-<!DOCTYPE html>
-<html lang="en">
-<head>
-    <meta charset="UTF-8">
-    <title>Title</title>
-</head>
-<body>
-<div class="content"
-     style="overflow: hidden;padding:30px 10% 70px 10%;margin:0 10%;background-color: #fff;box-shadow:0 4px 20px rgba(0,0,0,0.1);word-break: break-all;">
-    <h2 style="margin: 30px 0;">Hello, {username}</h2>
-    <p style="margin-bottom: 40px;">请输入验证码完成注册,有效期10分钟:</p>
-    <span style="padding: 10px 20px; font-size: 24px;background-color: #EB6F5A;border-radius:4px;color:#fff;">{captcha}</span>
-</div>
-</body>
-</html>
-'''
-texthtml = MIMEText(sendHtml, _subtype='html', _charset='UTF-8')
-msg.attach(texthtml)
-# 发送邮件
-try:
-    client = smtplib.SMTP()
-    #python 2.7以上版本,若需要使用SSL,可以这样创建client
-    #client = smtplib.SMTP_SSL()
-    #SMTP普通端口为25或80
-    client.connect('smtpdm.aliyun.com', 25)
-    #开启DEBUG模式
-    client.set_debuglevel(0)
-    client.login(username, password)
-    #发件人和认证地址必须一致
-    #备注:若想取到DATA命令返回值,可参考smtplib的sendmaili封装方法:
-    #      使用SMTP.mail/SMTP.rcpt/SMTP.data方法
-    client.sendmail(username, rcptto, msg.as_string())
-    client.quit()
-    print('邮件发送成功')
-except smtplib.SMTPConnectError as e:
-    print('邮件发送失败,连接失败:', e.smtp_code, e.smtp_error)
-except smtplib.SMTPAuthenticationError as e:
-    print('邮件发送失败,认证错误:', e.smtp_code, e.smtp_error)
-except smtplib.SMTPSenderRefused as e:
-    print('邮件发送失败,发件人被拒绝:', e.smtp_code, e.smtp_error)
-except smtplib.SMTPRecipientsRefused as e:
-    print('邮件发送失败,收件人被拒绝:', e.smtp_code, e.smtp_error)
-except smtplib.SMTPDataError as e:
-    print('邮件发送失败,数据接收拒绝:', e.smtp_code, e.smtp_error)
-except smtplib.SMTPException as e:
-    print('邮件发送失败, ', e.message)
-except Exception as e:
-    print('邮件发送异常, ', str(e))
+class Stack(object):
+    """栈"""
+    def __init__(self):
+         self.items = []
+
+    def is_empty(self):
+        """判断是否为空"""
+        return self.items == []
+
+    def push(self, item):
+        """加入元素"""
+        self.items.append(item)
+
+    def pop(self):
+        """弹出元素"""
+        return self.items.pop()
+
+    def peek(self):
+        """返回栈顶元素"""
+        return self.items[len(self.items)-1]
+
+    def size(self):
+        """返回栈的大小"""
+        return len(self.items)
+
+if __name__ == "__main__":
+    stack = Stack()
+    stack.push("hello")
+    stack.push("world")
+    stack.push("itcast")
+    print(stack.size())
+    print(stack.peek())
+    print(stack.pop())
+    print(stack.pop())
+    print(stack.pop())

+ 3 - 2
Controller/DetectController.py

@@ -123,8 +123,9 @@ class NotificationView(View):
                 # android jpush
                 elif push_type == 2:
                     self.do_jpush(request_dict, ua, response)
+                n_time = request_dict.get('n_time')
+                self.do_save_equipment_info(ua, n_time)
             return response.json(0)
-
         else:
             return response.json(173)
 
@@ -245,7 +246,7 @@ class NotificationView(View):
             # assert res.status_code == 200, res.reason
             # assert res.apns_id 
             if res.status_code == 200:
-                self.do_save_equipment_info(uaql, n_time)
+                # self.do_save_equipment_info(uaql, n_time)
                 return response.json(0)
             else:
                 return response.json(404, res.reason)

+ 1 - 1
Controller/UserController.py

@@ -373,7 +373,7 @@ class ForgetPwdView(TemplateView):
         return self.ValidationError(userName, response)
 
     def ValidationError(self, userName, response):
-        return response.json(475)
+        # return response.json(475)
         if userName != None:
             userName = userName.strip()
             return self.ForgetPwd(userName, response)