|
@@ -46,6 +46,8 @@ class PcInfo(View):
|
|
|
return self.query(request_dict, response)
|
|
|
elif operation == 'queryall': # 后台查询
|
|
|
return self.queryall(request_dict, response)
|
|
|
+ elif operation == 'getnewversion': # 获取当前软件的最新版本
|
|
|
+ return self.getnewversion(request_dict, response)
|
|
|
elif operation == 'addandupload': # 上传到服务器
|
|
|
return self.addandupload(request_dict, response, request)
|
|
|
elif operation == 'download': # 服务器下载
|
|
@@ -61,6 +63,40 @@ class PcInfo(View):
|
|
|
else:
|
|
|
return response.json(414)
|
|
|
|
|
|
+ def getnewversion(self, request_dict, response, ):
|
|
|
+ pc_name = request_dict.get('pc_name', None)
|
|
|
+ bundle_version = request_dict.get('bundle_version', None)
|
|
|
+ pc_version = request_dict.get('pc_version', None)
|
|
|
+ pc_test = request_dict.get('pc_test', None)
|
|
|
+ param_flag = CommonService.get_param_flag(
|
|
|
+ data=[pc_name, bundle_version, pc_version, pc_test])
|
|
|
+ if param_flag is not True:
|
|
|
+ return response.json(444)
|
|
|
+ file = Pc_Info.objects.filter(pc_name=pc_name, bundle_version=bundle_version, pc_version=pc_version,
|
|
|
+ pc_test=pc_test)
|
|
|
+ if not file:
|
|
|
+ return response.json(173)
|
|
|
+ app_list = Pc_Info.objects.filter(pc_name=pc_name, bundle_version=bundle_version, pc_test=pc_test)
|
|
|
+ new_version = app_list.order_by('-add_time')[0].pc_version
|
|
|
+ if pc_version == new_version:
|
|
|
+ return response.json(10045)
|
|
|
+ else:
|
|
|
+ path = app_list.order_by('-add_time')[0].download_link
|
|
|
+ print('path', path)
|
|
|
+ aws_s3_guonei = boto3.client(
|
|
|
+ 's3',
|
|
|
+ aws_access_key_id=AWS_ACCESS_KEY_ID[0],
|
|
|
+ aws_secret_access_key=AWS_SECRET_ACCESS_KEY[0],
|
|
|
+ config=botocore.client.Config(signature_version='s3v4'),
|
|
|
+ region_name='cn-northwest-1')
|
|
|
+ response_url = aws_s3_guonei.generate_presigned_url(
|
|
|
+ ClientMethod='get_object',
|
|
|
+ Params={'Bucket': 'pc-package', 'Key': path}, ExpiresIn=3600)
|
|
|
+ res = {'new_version': new_version,
|
|
|
+ 'path': path,
|
|
|
+ 'response_url': response_url}
|
|
|
+ return response.json(0, res)
|
|
|
+
|
|
|
def addandupload(self, request_dict, response, request):
|
|
|
token = request_dict.get('token', None)
|
|
|
tko = TokenObject(token)
|