modify version in operation

Brightcells 9 anos atrás
pai
commit
2f29afecbd
6 arquivos alterados com 108 adições e 16 exclusões
  1. 1 1
      .gitignore
  2. 9 4
      operation/admin.py
  3. 62 0
      operation/migrations/0005_auto_20160509_1907.py
  4. 16 7
      operation/models.py
  5. 18 3
      operation/views.py
  6. 2 1
      pai2/settings.py

+ 1 - 1
.gitignore

@@ -63,4 +63,4 @@ media/
63 63
 collect_static/
64 64
 
65 65
 # Special File
66
-download.html
66
+*download.html

+ 9 - 4
operation/admin.py

@@ -11,15 +11,20 @@ from utils.redis.rversion import delete_guest_entrance_control, set_guest_entran
11 11
 
12 12
 
13 13
 class LatestAppInfoAdmin(admin.ModelAdmin):
14
-    list_display = ('latest_version', 'latest_app', 'latest_url', 'status', 'created_at', 'updated_at')
14
+    list_display = ('latest_adr_version_code', 'latest_adr_version_name', 'latest_adr_app', 'latest_adr_url', 'latest_ios_version_code', 'latest_ios_version_name', 'latest_ios_url', 'status', 'created_at', 'updated_at')
15 15
 
16 16
     def save_model(self, request, obj, form, change):
17 17
         obj.save()
18 18
 
19
-        # 更新下载页面
19
+        # 更新安卓下载页面
20 20
         write_to_disk(render_to_string('page/download.tmpl.html', {
21
-            'version': obj.latest_version,
22
-        }), settings.DOWNLOAD_PAGE_PATH)
21
+            'version': obj.latest_adr_version_name,
22
+        }), settings.DOWNLOAD_ADR_PAGE_PATH)
23
+
24
+        # 更新 iOS 下载页面
25
+        write_to_disk(render_to_string('page/download.tmpl.html', {
26
+            'version': obj.latest_ios_version_name,
27
+        }), settings.DOWNLOAD_IOS_PAGE_PATH)
23 28
 
24 29
         # 设置最新 APP 信息
25 30
         set_latest_app()

+ 62 - 0
operation/migrations/0005_auto_20160509_1907.py

@@ -0,0 +1,62 @@
1
+# -*- coding: utf-8 -*-
2
+from __future__ import unicode_literals
3
+
4
+from django.db import models, migrations
5
+import operation.models
6
+
7
+
8
+class Migration(migrations.Migration):
9
+
10
+    dependencies = [
11
+        ('operation', '0004_guestentrancecontrolinfo'),
12
+    ]
13
+
14
+    operations = [
15
+        migrations.RemoveField(
16
+            model_name='latestappinfo',
17
+            name='latest_app',
18
+        ),
19
+        migrations.RemoveField(
20
+            model_name='latestappinfo',
21
+            name='latest_url',
22
+        ),
23
+        migrations.RemoveField(
24
+            model_name='latestappinfo',
25
+            name='latest_version',
26
+        ),
27
+        migrations.AddField(
28
+            model_name='latestappinfo',
29
+            name='latest_adr_app',
30
+            field=models.FileField(help_text='\u6700\u65b0\u7248\u5b89\u5353 APP', upload_to=operation.models.upload_path, null=True, verbose_name='latest_adr_app', blank=True),
31
+        ),
32
+        migrations.AddField(
33
+            model_name='latestappinfo',
34
+            name='latest_adr_url',
35
+            field=models.URLField(help_text='\u6700\u65b0\u7248 APP \u94fe\u63a5', max_length=255, null=True, verbose_name='latest_adr_url', blank=True),
36
+        ),
37
+        migrations.AddField(
38
+            model_name='latestappinfo',
39
+            name='latest_adr_version_code',
40
+            field=models.IntegerField(default=0, help_text='\u6700\u65b0\u5b89\u5353\u7248\u672c\u53f7', verbose_name='latest_adr_version_code'),
41
+        ),
42
+        migrations.AddField(
43
+            model_name='latestappinfo',
44
+            name='latest_adr_version_name',
45
+            field=models.CharField(help_text='\u6700\u65b0\u5b89\u5353\u7248\u672c\u540d', max_length=255, null=True, verbose_name='latest_adr_version_name', blank=True),
46
+        ),
47
+        migrations.AddField(
48
+            model_name='latestappinfo',
49
+            name='latest_ios_url',
50
+            field=models.URLField(help_text='\u6700\u65b0\u7248 iOS \u94fe\u63a5', max_length=255, null=True, verbose_name='latest_ios_url', blank=True),
51
+        ),
52
+        migrations.AddField(
53
+            model_name='latestappinfo',
54
+            name='latest_ios_version_code',
55
+            field=models.IntegerField(default=0, help_text='\u6700\u65b0 iOS \u7248\u672c\u53f7', verbose_name='latest_ios_version_code'),
56
+        ),
57
+        migrations.AddField(
58
+            model_name='latestappinfo',
59
+            name='latest_ios_version_name',
60
+            field=models.CharField(help_text='\u6700\u65b0 iOS \u7248\u672c\u540d', max_length=255, null=True, verbose_name='latest_ios_version_name', blank=True),
61
+        ),
62
+    ]

+ 16 - 7
operation/models.py

@@ -23,9 +23,14 @@ def upload_path(instance, old_filename):
23 23
 
24 24
 
25 25
 class LatestAppInfo(CreateUpdateMixin):
26
-    latest_version = models.CharField(_(u'latest_version'), max_length=255, help_text=u'最新版本')
27
-    latest_app = models.FileField(_(u'latest_app'), upload_to=upload_path, blank=True, null=True, help_text=u'最新版 APP')
28
-    latest_url = models.URLField(_(u'latest_url'), max_length=255, blank=True, null=True, help_text=u'最新版 APP 链接')
26
+    latest_adr_version_code = models.IntegerField(_(u'latest_adr_version_code'), default=0, help_text=u'最新安卓版本号')
27
+    latest_adr_version_name = models.CharField(_(u'latest_adr_version_name'), max_length=255, blank=True, null=True, help_text=u'最新安卓版本名')
28
+    latest_adr_app = models.FileField(_(u'latest_adr_app'), upload_to=upload_path, blank=True, null=True, help_text=u'最新版安卓 APP')
29
+    latest_adr_url = models.URLField(_(u'latest_adr_url'), max_length=255, blank=True, null=True, help_text=u'最新版 APP 链接')
30
+
31
+    latest_ios_version_code = models.IntegerField(_(u'latest_ios_version_code'), default=0, help_text=u'最新 iOS 版本号')
32
+    latest_ios_version_name = models.CharField(_(u'latest_ios_version_name'), max_length=255, blank=True, null=True, help_text=u'最新 iOS 版本名')
33
+    latest_ios_url = models.URLField(_(u'latest_ios_url'), max_length=255, blank=True, null=True, help_text=u'最新版 iOS 链接')
29 34
 
30 35
     class Meta:
31 36
         verbose_name = _('latestappinfo')
@@ -35,14 +40,18 @@ class LatestAppInfo(CreateUpdateMixin):
35 40
         return u'{0.pk}'.format(self)
36 41
 
37 42
     @property
38
-    def final_latest_url(self):
39
-        return self.latest_url or u'{}{}'.format(settings.DOMAIN, self.latest_app and self.latest_app.url)
43
+    def final_latest_adr_url(self):
44
+        return self.latest_adr_url or u'{}{}'.format(settings.DOMAIN, self.latest_adr_app and self.latest_adr_app.url)
40 45
 
41 46
     @property
42 47
     def data(self):
43 48
         return {
44
-            'latest_version': self.latest_version,
45
-            'latest_url': self.final_latest_url,
49
+            'latest_adr_version_code': self.latest_adr_version_code,
50
+            'latest_adr_version_name': self.latest_adr_version_name,
51
+            'latest_adr_url': self.final_latest_adr_url,
52
+            'latest_ios_version_code': self.latest_ios_version_code,
53
+            'latest_ios_version_name': self.latest_ios_version_name,
54
+            'latest_ios_url': self.latest_ios_url,
46 55
         }
47 56
 
48 57
 

+ 18 - 3
operation/views.py

@@ -5,7 +5,7 @@ from django.http import JsonResponse
5 5
 from django.shortcuts import redirect
6 6
 
7 7
 from account.models import UserInfo
8
-from operation.models import FeedbackInfo, LatestAppInfo, SplashInfo
8
+from operation.models import FeedbackInfo, 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
@@ -17,11 +17,26 @@ def upgrade_api(request):
17 17
     :param request:
18 18
     :return:
19 19
     """
20
+    latest_app = get_latest_app()
21
+
22
+    if request.iOS:
23
+        appinfo = {
24
+            'latest_version_code': latest_app.get('latest_ios_version_code', ''),
25
+            'latest_version_name': latest_app.get('latest_ios_version_name', ''),
26
+            'latest_url': latest_app.get('latest_ios_url', ''),
27
+        }
28
+    else:
29
+        appinfo = {
30
+            'latest_version_code': latest_app.get('latest_adr_version_code', ''),
31
+            'latest_version_name': latest_app.get('latest_adr_version_name', ''),
32
+            'latest_url': latest_app.get('latest_adr_url', ''),
33
+        }
34
+
20 35
     return JsonResponse({
21 36
         'status': 200,
22 37
         'message': u'获取最新版信息成功',
23 38
         'data': {
24
-            'appinfo': get_latest_app(),
39
+            'appinfo': appinfo,
25 40
         },
26 41
     })
27 42
 
@@ -79,4 +94,4 @@ def download_api(request):
79 94
         return redirect(settings.DOWNLOAD_WX_URL)
80 95
     if request.iOS:
81 96
         return redirect(settings.DOWNLOAD_IOS_URL)
82
-    return redirect(get_latest_app().get('latest_url', ''))
97
+    return redirect(get_latest_app().get('latest_adr_url', ''))

+ 2 - 1
pai2/settings.py

@@ -269,7 +269,8 @@ PAI2_HOME_MAX_ROWS = 400  # 首页照片最大数量, PAI2_HOME_PER_PAGE * PAI2_
269 269
 
270 270
 # 下载页设置
271 271
 DOWNLOAD_TMPL_PATH = os.path.join(BASE_DIR, 'page/templates/page/download.tmpl.html').replace('\\', '/')
272
-DOWNLOAD_PAGE_PATH = os.path.join(BASE_DIR, 'page/templates/page/download.html').replace('\\', '/')
272
+DOWNLOAD_ADR_PAGE_PATH = os.path.join(BASE_DIR, 'page/templates/page/adr_download.html').replace('\\', '/')
273
+DOWNLOAD_IOS_PAGE_PATH = os.path.join(BASE_DIR, 'page/templates/page/ios_download.html').replace('\\', '/')
273 274
 
274 275
 # 下载设置
275 276
 DOWNLOAD_WX_URL = ''