|
@@ -1,12 +1,12 @@
|
|
|
import os
|
|
|
import simplejson as json
|
|
|
-
|
|
|
+import time
|
|
|
from django.utils import timezone
|
|
|
from django.utils.decorators import method_decorator
|
|
|
from django.views.decorators.csrf import csrf_exempt
|
|
|
from django.views.generic.base import View
|
|
|
|
|
|
-from Ansjer.config import BASE_DIR
|
|
|
+from Ansjer.config import BASE_DIR, SERVER_DOMAIN
|
|
|
from Model.models import Equipment_Version
|
|
|
from Object.ResponseObject import ResponseObject
|
|
|
from Object.TokenObject import TokenObject
|
|
@@ -170,9 +170,45 @@ class EquipmentVersionView(View):
|
|
|
return response.json(404)
|
|
|
if operation == 'query':
|
|
|
return self.do_query(request_dict, response)
|
|
|
+ elif operation == 'checkVer':
|
|
|
+ return self.do_check_ver(request_dict, response)
|
|
|
else:
|
|
|
return response.json(444, 'error path')
|
|
|
|
|
|
+ def do_check_ver(self, request_dict, response):
|
|
|
+ code = request_dict.get('code', None)
|
|
|
+ ov = request_dict.get('ov', None)
|
|
|
+ uid = request_dict.get('uid', None)
|
|
|
+ if not code:
|
|
|
+ return response.json(444, 'code')
|
|
|
+ if uid is not None:
|
|
|
+ eqs = Equipment_Version.objects.filter(code=uid, status=1, lang='en').order_by('-data_joined')
|
|
|
+ else:
|
|
|
+ eqs = Equipment_Version.objects.filter(code=code, status=1, lang='en').order_by('-data_joined')
|
|
|
+ if not eqs.exists():
|
|
|
+ return response.json(900)
|
|
|
+ if ov is not None:
|
|
|
+ # 判断大小
|
|
|
+ if ov > eqs[0].softwareVersion:
|
|
|
+ return response.json(0, {'softwareVersion': ov})
|
|
|
+ file_path = eqs[0].filePath
|
|
|
+ urls = []
|
|
|
+ if file_path.find('static/Upgrade/') != -1:
|
|
|
+ path = file_path.replace('static/Upgrade/', '').replace('\\', '/')
|
|
|
+ url = SERVER_DOMAIN + 'OTA/downloads/' + path + '?time=' + str(time.time())
|
|
|
+ urls.append(url)
|
|
|
+ elif file_path.find('static/otapack') != -1:
|
|
|
+ url = SERVER_DOMAIN + 'OTA/downloadsPack/' + file_path + '?time=' + str(time.time())
|
|
|
+ urls.append(url)
|
|
|
+ res = {
|
|
|
+ "urlCount": len(urls),
|
|
|
+ "url": urls,
|
|
|
+ "fileSize": eqs[0].fileSize,
|
|
|
+ "Description": eqs[0].Description,
|
|
|
+ "softwareVersion":eqs[0].softwareVersion
|
|
|
+ }
|
|
|
+ return response.json(0,res)
|
|
|
+
|
|
|
def do_query(self, request_dict, response):
|
|
|
mci = request_dict.get('mci', None)
|
|
|
page = request_dict.get('page', None)
|