+ version = models.CharField(_(u'version'), max_length=255, blank=True, null=True, help_text=u'版本(1.0.0)')
online = models.BooleanField(_(u'online'), default=True, help_text=u'是否上线')
@@ -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', '')
|
@@ -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 |
} |
@@ -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 |
@@ -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 '{}')
|