chenjunkai 6 vuotta sitten
vanhempi
commit
0e1f253562
4 muutettua tiedostoa jossa 58 lisäystä ja 27 poistoa
  1. 37 9
      Controller/FeedBack.py
  2. 2 4
      Controller/UIDPreview.py
  3. 14 14
      Model/models.py
  4. 5 0
      templates/testttt.py

+ 37 - 9
Controller/FeedBack.py

@@ -2,12 +2,15 @@ from django.views.generic.base import View
 from django.utils.decorators import method_decorator
 from django.views.decorators.csrf import csrf_exempt
 from Service.ModelService import ModelService
-from Model.models import FeedBackModel
+from Model.models import FeedBackModel, StatResModel
 from django.utils import timezone
 import traceback
 from Object.ResponseObject import ResponseObject
 from Object.TokenObject import TokenObject
 from Service.CommonService import CommonService
+import oss2
+from Ansjer.config import OSS_STS_ACCESS_KEY, OSS_STS_ACCESS_SECRET
+import time
 
 
 class FeedBackView(View):
@@ -25,20 +28,45 @@ class FeedBackView(View):
         response = ResponseObject()
         token = request_dict.get('token', None)
         tko = TokenObject(token)
+        if tko.code == 0:
+            userID = tko.userID
 
-        if operation == 'add':
-            if tko.code == 0:
-                userID = tko.userID
+            if operation == 'add':
                 return self.do_add(userID, request_dict, response)
+            elif operation == 'getUploadUrl':
+                return self.do_get_upload_url(request_dict, response)
             else:
-                return response.json(tko.code)
+                return response.json(414)
+
         else:
-            return response.json(0, 414)
+            return response.json(tko.code)
 
     def do_add(self, userID, request_dict, response):
-        content = request_dict.get('content',None)
+        content = request_dict.get('content', None)
         # urls =
         return
 
-    def do_get_upload_url(self):
-        return 
+    def do_get_upload_url(self, request_dict, response):
+        uploadType = request_dict.get('uploadType', None)
+        nowTime = int(time.time())
+        if uploadType:
+            StatResModel.objects.create()
+            auth = oss2.Auth(OSS_STS_ACCESS_KEY, OSS_STS_ACCESS_SECRET)
+            bucket = oss2.Bucket(auth, 'oss-cn-hongkong.aliyuncs.com', 'statres')
+            name = CommonService.createOrderID()
+            obj = str(name) + '.' + uploadType
+            create_data = {
+                'addTime': nowTime,
+                'name': obj
+            }
+            try:
+                FeedBackModel.objects.create(**create_data)
+            except Exception as e:
+                print(repr(e))
+                return response.json(178)
+            else:
+                # 设置此签名URL在60秒内有效。
+                url = bucket.sign_url('PUT', obj, 7200)
+                return response.json(0, url)
+        else:
+            return response.json(444, 'uploadType')

+ 2 - 4
Controller/UIDPreview.py

@@ -75,6 +75,8 @@ class UIDPreview(View):
         uid = request_dict.get('uid', None)
         channel = request_dict.get('channel', None)
         if all([uid, channel]):
+            auth = oss2.Auth(OSS_STS_ACCESS_KEY, OSS_STS_ACCESS_SECRET)
+            bucket = oss2.Bucket(auth, 'oss-cn-shenzhen.aliyuncs.com', 'apg')
             dvqs = Device_Info.objects.filter(UID=uid, userID_id=userID)
             upqs = UID_Preview.objects.filter(uid=uid, channel=channel)
             if dvqs.exists():
@@ -86,8 +88,6 @@ class UIDPreview(View):
                         return response.json(177)
                     else:
                         if is_update:
-                            auth = oss2.Auth(OSS_STS_ACCESS_KEY, OSS_STS_ACCESS_SECRET)
-                            bucket = oss2.Bucket(auth, 'oss-cn-shenzhen.aliyuncs.com', 'apg')
                             obj = 'uid_preview/{uid}/{channel}.png'.format(uid=uid, channel=channel)
                             # 设置此签名URL在60秒内有效。
                             url = bucket.sign_url('PUT', obj, 7200)
@@ -107,8 +107,6 @@ class UIDPreview(View):
                         print(repr(e))
                         return response.json(178)
                     else:
-                        auth = oss2.Auth(OSS_STS_ACCESS_KEY, OSS_STS_ACCESS_SECRET)
-                        bucket = oss2.Bucket(auth, 'oss-cn-shenzhen.aliyuncs.com', 'apg')
                         obj = 'uid_preview/{uid}/{channel}.png'.format(uid=uid, channel=channel)
                         # 设置此签名URL在60秒内有效。
                         url = bucket.sign_url('PUT', obj, 7200)

+ 14 - 14
Model/models.py

@@ -345,10 +345,9 @@ class Equipment_Info(models.Model):
         ordering = ('-id',)
 
 
-
 class StatResModel(models.Model):
     id = models.AutoField(primary_key=True, verbose_name='自动ID')
-    name = models.CharField(default='', max_length=120, verbose_name='图片路径地址')
+    name = models.CharField(default='', max_length=120, verbose_name='图片名称', unique=True)
     addTime = models.IntegerField(verbose_name='添加时间', default=0)
 
     def __str__(self):
@@ -360,6 +359,7 @@ class StatResModel(models.Model):
         verbose_name_plural = verbose_name
         ordering = ('id',)
 
+
 #
 class FeedBackModel(models.Model):
     id = models.AutoField(primary_key=True, verbose_name=u'自增标记ID')
@@ -381,7 +381,6 @@ class FeedBackModel(models.Model):
         ordering = ('id',)
 
 
- 
 class User_Brand(models.Model):
     id = models.AutoField(primary_key=True, verbose_name=u'自增标记ID')
     # 关联用户 
@@ -389,21 +388,22 @@ class User_Brand(models.Model):
     deviceSupplier = models.CharField(max_length=32, default='', verbose_name='(必填)设备供应商 string  (例:华为、小米...)')
     deviceModel = models.CharField(max_length=32, default='', verbose_name='(必填)设备型号 string @mock=HM NOTE 1TD')
     osType = models.CharField(max_length=32, default='', verbose_name='(必填)操作系统名称 string @mock=Android')
-    osVersion = models.CharField(max_length=32, default='', verbose_name='(必填)操作系统版本号 string @mock=4.0') 
+    osVersion = models.CharField(max_length=32, default='', verbose_name='(必填)操作系统版本号 string @mock=4.0')
 
-    country =  models.CharField(max_length=200, default='', verbose_name='国家')
-    province =  models.CharField(max_length=150, default='', verbose_name='省')
-    city =  models.CharField(max_length=132, default='', verbose_name='市')
-    area =  models.CharField(max_length=132, default='', verbose_name='区')
-    street =  models.CharField(max_length=132, default='', verbose_name='街道')
+    country = models.CharField(max_length=200, default='', verbose_name='国家')
+    province = models.CharField(max_length=150, default='', verbose_name='省')
+    city = models.CharField(max_length=132, default='', verbose_name='市')
+    area = models.CharField(max_length=132, default='', verbose_name='区')
+    street = models.CharField(max_length=132, default='', verbose_name='街道')
 
-    longitude =  models.CharField(max_length=30, default='', verbose_name='经度')
-    latitude =  models.CharField(max_length=30, default='', verbose_name='纬度')
+    longitude = models.CharField(max_length=30, default='', verbose_name='经度')
+    latitude = models.CharField(max_length=30, default='', verbose_name='纬度')
 
-    status =  models.IntegerField(default=0, verbose_name='传国家省市信息过来就为状态:1 ,不传就为状态:0')
-    ip = models.CharField(blank=True,max_length=20,default='',verbose_name=u'区域ip')
+    status = models.IntegerField(default=0, verbose_name='传国家省市信息过来就为状态:1 ,不传就为状态:0')
+    ip = models.CharField(blank=True, max_length=20, default='', verbose_name=u'区域ip')
+
+    addTime = models.IntegerField(verbose_name='添加时间', default=0)
 
-    addTime = models.IntegerField( verbose_name='添加时间', default=0)
     def __str__(self):
         return self.id
 

+ 5 - 0
templates/testttt.py

@@ -0,0 +1,5 @@
+import time
+
+print(time.time())
+ss = time.sleep(1)
+print(time.time())