> 13
 
13 14
 
14 15
 @logit
@@ -40,6 +41,23 @@ def upgrade_api(request):
40 41
     })
41 42
 
42 43
 
44
+def online_api(request):
45
+    """
46
+    是否上线
47
+    :param request:
48
+    :return:
49
+    """
50
+    platform = request.REQUEST.get('platform', '')
51
+    channel = request.REQUEST.get('channel', '')
52
+    version = request.REQUEST.get('version', '')
53
+
54
+    app_settings = get_app_settings_info(platform, channel, version)
55
+
56
+    return response(200, 'Get Online Status Success', u'获取是否上线成功', {
57
+        'online': app_settings.get('online', True),
58
+    })
59
+
60
+
43 61
 @logit
44 62
 def splash_api(request):
45 63
     """

+ 6 - 0
pai2/basemodels.py

@@ -31,6 +31,12 @@ class PlatformMixin(models.Model):
31 31
     class Meta:
32 32
         abstract = True
33 33
 
34
+    Platforms = {
35
+        'iOS': IOS,
36
+        'android': ADR,
37
+        'Android': ADR,
38
+    }
39
+
34 40
 
35 41
 class VersionMixin(models.Model):
36 42
     min_adr = models.CharField(_(u'min_adr'), max_length=255, blank=True, null=True, help_text=u'Adr 最低版本')

utils/redis/rversion.py → utils/redis/rguest.py


+ 1 - 0
utils/redis/rkeys.py

@@ -52,3 +52,4 @@ GUEST_ENTRANCE_CONTROL_INFO = 'guest:entrance:control:info'  # STRING,游客
52 52
 
53 53
 # APP 相关
54 54
 LATEST_APP_INFO = 'latest:app:info:%s'  # STRING,最新 APP 信息,src
55
+APP_SETTINGS_INFO = 'app:settings:info:%s:%s:%s'  # STRING,APP 设置信息,platform、channel、version

+ 28 - 0
utils/redis/rsettings.py

@@ -0,0 +1,28 @@
1
+# -*- coding: utf-8 -*-
2
+
3
+import json
4
+
5
+from django.conf import settings
6
+
7
+from pai2.basemodels import PlatformMixin
8
+from utils.redis.rkeys import APP_SETTINGS_INFO
9
+
10
+
11
+r = settings.REDIS_CACHE
12
+
13
+
14
+def set_app_settings_info(appset):
15
+    """ 设置 APP 设置信息 """
16
+    r.set(APP_SETTINGS_INFO % (appset.platform, appset.channel, appset.version), json.dumps(appset.data))
17
+
18
+
19
+def del_app_settings_info(appset):
20
+    """ 删除 APP 设置信息 """
21
+    r.delete(APP_SETTINGS_INFO % (appset.platform, appset.channel, appset.version))
22
+
23
+
24
+def get_app_settings_info(platform, channel, version):
25
+    """ 获取 APP 设置信息 """
26
+    if type(platform) != int:
27
+        platform = PlatformMixin.Platforms[platform]
28
+    return json.loads(r.get(APP_SETTINGS_INFO % (platform, channel, version)) or '{}')

lensman - Gogs: Go Git Service

暂无描述

chengzhenyu: dc46a3b94b remove swipe layout 10 年之前
..
libs b3c70a53c5 update main page 10 年之前
src dc46a3b94b remove swipe layout 10 年之前
.gitignore 30b119f214 first commit 10 年之前
build.gradle 4771ba53da remove retrofit things 10 年之前
proguard-rules.pro 30b119f214 first commit 10 年之前