102
+    version = models.CharField(_(u'version'), max_length=255, blank=True, null=True, help_text=u'版本(1.0.0)')
69 103
 
70 104
     online = models.BooleanField(_(u'online'), default=True, help_text=u'是否上线')
71 105
 

+ 16 - 0
operation/views.py

@@ -9,6 +9,7 @@ from operation.models import FeedbackInfo, LatestAppInfo, SplashInfo
9 9
 from utils.error.errno_utils import UserStatusCode
10 10
 from utils.error.response_utils import response
11 11
 from utils.redis.rapp import get_latest_app
12
+from utils.redis.rpatch import get_app_patch_info
12 13
 from utils.redis.rsettings import get_app_settings_info
13 14
 
14 15
 
@@ -37,6 +38,21 @@ def upgrade_api(request):
37 38
     })
38 39
 
39 40
 
41
+@logit
42
+def patch_api(request):
43
+    """ APP 补丁 """
44
+    platform = request.REQUEST.get('platform', '')
45
+    version = request.REQUEST.get('version', '')
46
+    src = int(request.POST.get('src', 0))
47
+
48
+    patch_info = get_app_patch_info(platform, version, src)
49
+
50
+    return response(200, 'Get Patch Info Success', u'获取补丁信息成功', {
51
+        'patch_url': patch_info.get('patch_url', ''),
52
+    })
53
+
54
+
55
+@logit
40 56
 def online_api(request):
41 57
     """ 是否上线 """
42 58
     platform = request.REQUEST.get('platform', '')

+ 2 - 0
pai2/basemodels.py

@@ -32,7 +32,9 @@ class PlatformMixin(models.Model):
32 32
         abstract = True
33 33
 
34 34
     Platforms = {
35
+        'ios': IOS,
35 36
         'iOS': IOS,
37
+        'adr': ADR,
36 38
         'android': ADR,
37 39
         'Android': ADR,
38 40
     }

+ 1 - 0
utils/redis/rkeys.py

@@ -64,3 +64,4 @@ GUEST_ENTRANCE_CONTROL_INFO = 'guest:entrance:control:info'  # STRING,游客
64 64
 # APP 相关
65 65
 LATEST_APP_INFO = 'latest:app:info:%s'  # STRING,最新 APP 信息,src
66 66
 APP_SETTINGS_INFO = 'app:settings:info:%s:%s:%s'  # STRING,APP 设置信息,platform、channel、version
67
+APP_PATCH_INFO = 'app:patch:info:%s:%s:%s'  # STRING,APP 补丁信息,platform、version、src

+ 23 - 0
utils/redis/rpatch.py

@@ -0,0 +1,23 @@
1
+# -*- coding: utf-8 -*-
2
+
3
+import json
4
+
5
+from pai2.basemodels import PlatformMixin
6
+from utils.redis.connect import r
7
+from utils.redis.rkeys import APP_PATCH_INFO
8
+
9
+
10
+def set_app_patch_info(apppatch):
11
+    """ 设置 APP 补丁信息 """
12
+    r.set(APP_PATCH_INFO % (apppatch.platform, apppatch.version, apppatch.src), json.dumps(apppatch.data))
13
+
14
+
15
+def del_app_patch_info(apppatch):
16
+    """ 删除 APP 补丁信息 """
17
+    r.delete(APP_PATCH_INFO % (apppatch.platform, apppatch.version, apppatch.src))
18
+
19
+
20
+def get_app_patch_info(platform, version, src):
21
+    """ 获取 APP 补丁信息 """
22
+    platform = platform if isinstance(platform, int) else PlatformMixin.Platforms.get(platform)
23
+    return json.loads(r.get(APP_PATCH_INFO % (platform, version, src)) or '{}')

kodo - Gogs: Go Git Service

暫無描述

Brightcells: f724e0f9c0 Add tour guide apis 9 年之前
..
__init__.py f724e0f9c0 Add tour guide apis 9 年之前