Add paage tgu_group_detail

Brightcells лет %!s(int64=8): %!d(string=назад)
Родитель
Сommit
1fac624f0e
7 измененных файлов с 84 добавлено и 20 удалено
  1. 8 3
      group/grouppage_views.py
  2. 30 2
      operation/admin.py
  3. 18 4
      operation/views.py
  4. 1 1
      page/templates/page/download.tmpl.html
  5. 20 7
      pai2/settings.py
  6. 6 2
      pai2/urls.py
  7. 1 1
      utils/time_utils.py

+ 8 - 3
group/grouppage_views.py

@@ -10,16 +10,21 @@ from group.models import GroupPhotoInfo
10 10
 
11 11
 
12 12
 @logit
13
+def group_detail(request, group_id):
14
+    return render(request, 'page/pai2_user_{}_download.html'.format('ios' if request.iOS else 'adr'), {})
15
+
16
+
17
+@logit
13 18
 def group_photo_detail(request, photo_id):
14 19
     photo = GroupPhotoInfo.objects.get(pk=photo_id)
15 20
     return render(request, 'photo/photo_detail.html', {'photo_url': photo.photo_url, 'api_domain': settings.API_DOMAIN})
16 21
 
17 22
 
18 23
 @logit
19
-def group_detail(request, group_id):
20
-    return render(request, 'page/{}_download.html'.format('ios' if request.iOS else 'adr'), {})
24
+def tgu_group_detail(request, admin_id):
25
+    return render(request, 'page/pai2_tourguide_{}_download.html'.format('ios' if request.iOS else 'adr'), {})
21 26
 
22 27
 
23 28
 @logit
24 29
 def tgu_group_user_detail(request, admin_id):
25
-    return render(request, 'page/{}_download.html'.format('ios' if request.iOS else 'adr'), {})
30
+    return render(request, 'page/pai2_user_{}_download.html'.format('ios' if request.iOS else 'adr'), {})

+ 30 - 2
operation/admin.py

@@ -28,13 +28,41 @@ class LatestAppInfoAdmin(admin.ModelAdmin):
28 28
         if obj.src == LatestAppInfo.PAIAI_USER:
29 29
             # 更新安卓下载页面
30 30
             write_to_disk(render_to_string('page/download.tmpl.html', {
31
+                'src': obj.src,
31 32
                 'version': obj.latest_adr_version_name,
32
-            }), settings.DOWNLOAD_ADR_PAGE_PATH)
33
+            }), settings.PAI2_USER_DOWNLOAD_ADR_PAGE_PATH)
33 34
 
34 35
             # 更新 iOS 下载页面
35 36
             write_to_disk(render_to_string('page/download.tmpl.html', {
37
+                'src': obj.src,
36 38
                 'version': obj.latest_ios_version_name,
37
-            }), settings.DOWNLOAD_IOS_PAGE_PATH)
39
+            }), settings.PAI2_USER_DOWNLOAD_IOS_PAGE_PATH)
40
+
41
+        elif obj.src == LatestAppInfo.PAIAI_LENSMAN:
42
+            # 更新安卓下载页面
43
+            write_to_disk(render_to_string('page/download.tmpl.html', {
44
+                'src': obj.src,
45
+                'version': obj.latest_adr_version_name,
46
+            }), settings.PAI2_LENSMAN_DOWNLOAD_ADR_PAGE_PATH)
47
+
48
+            # 更新 iOS 下载页面
49
+            write_to_disk(render_to_string('page/download.tmpl.html', {
50
+                'src': obj.src,
51
+                'version': obj.latest_ios_version_name,
52
+            }), settings.PAI2_LENSMAN_DOWNLOAD_IOS_PAGE_PATH)
53
+
54
+        elif obj.src == LatestAppInfo.PAIAI_TOURGUIDE:
55
+            # 更新安卓下载页面
56
+            write_to_disk(render_to_string('page/download.tmpl.html', {
57
+                'src': obj.src,
58
+                'version': obj.latest_adr_version_name,
59
+            }), settings.PAI2_TOURGUIDE_DOWNLOAD_ADR_PAGE_PATH)
60
+
61
+            # 更新 iOS 下载页面
62
+            write_to_disk(render_to_string('page/download.tmpl.html', {
63
+                'src': obj.src,
64
+                'version': obj.latest_ios_version_name,
65
+            }), settings.PAI2_TOURGUIDE_DOWNLOAD_IOS_PAGE_PATH)
38 66
 
39 67
         # 设置最新 APP 信息
40 68
         set_latest_app(obj.src)

+ 18 - 4
operation/views.py

@@ -5,7 +5,7 @@ from django.shortcuts import redirect
5 5
 from logit import logit
6 6
 
7 7
 from account.models import UserInfo
8
-from operation.models import FeedbackInfo, SplashInfo
8
+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
@@ -84,8 +84,22 @@ def feedback_api(request):
84 84
 
85 85
 def download_api(request):
86 86
     """ 下载接口 """
87
+    src = int(request.GET.get('src', 0))
88
+
87 89
     if request.weixin:
88
-        return redirect(settings.DOWNLOAD_WX_URL)
90
+        if src == LatestAppInfo.PAIAI_USER:
91
+            wx_url = settings.PAI2_USER_DOWNLOAD_WX_URL
92
+        elif src == LatestAppInfo.PAIAI_LENSMAN:
93
+            wx_url = settings.PAI2_LENSMAN_DOWNLOAD_WX_URL
94
+        elif src == LatestAppInfo.PAIAI_TOURGUIDE:
95
+            wx_url = settings.PAI2_TOURGUIDE_DOWNLOAD_WX_URL
96
+        return redirect(wx_url)
89 97
     if request.iOS:
90
-        return redirect(settings.DOWNLOAD_IOS_URL)
91
-    return redirect(get_latest_app().get('latest_adr_url', ''))
98
+        if src == LatestAppInfo.PAIAI_USER:
99
+            ios_url = settings.PAI2_USER_DOWNLOAD_IOS_URL
100
+        elif src == LatestAppInfo.PAIAI_LENSMAN:
101
+            ios_url = settings.PAI2_LENSMAN_DOWNLOAD_IOS_URL
102
+        elif src == LatestAppInfo.PAIAI_TOURGUIDE:
103
+            ios_url = settings.PAI2_TOURGUIDE_DOWNLOAD_IOS_URL
104
+        return redirect(ios_url)
105
+    return redirect(get_latest_app(src).get('latest_adr_url', ''))

+ 1 - 1
page/templates/page/download.tmpl.html

@@ -156,7 +156,7 @@
156 156
                 </div>
157 157
                 <div class="description text-muted">即拍即分享</div>
158 158
                 <div class="download">
159
-                    <a href="https://api.pai.ai/op/download">
159
+                    <a href="https://api.pai.ai/op/download?scr={{ src }}">
160 160
                         <button class="hero-button">下载<strong>v{{ version }}</strong></button>
161 161
                     </a>
162 162
                 </div>

+ 20 - 7
pai2/settings.py

@@ -266,7 +266,7 @@ CURTAIL_UUID_LENGTH = 7
266 266
 WATERMARK_LOGO = os.path.join(PROJ_DIR, 'static/pai2/img/paiai_96_96.png').replace('\\', '/')
267 267
 
268 268
 # 原图设置
269
-ORIGIN_EXPIRED_MSEL = 604800000  # 7d = 7 * 24 * 3600 * 1000msel
269
+LENSMAN_PHOTO_ORIGIN_EXPIRED_MSEL = 604800000  # 摄影师原图过期毫秒数,7d = 7 * 24 * 3600 * 1000msel
270 270
 
271 271
 # 缩略图设置
272 272
 THUMBNAIL_MAX_WIDTH = 540
@@ -275,16 +275,29 @@ THUMBNAIL_MAX_WIDTH2 = 1080
275 275
 # 首页设置
276 276
 PAI2_HOME_PER_PAGE = 20  # 首页照片每页数量
277 277
 PAI2_HOME_MAX_PAGE = 20  # 首页照片最大页数
278
-PAI2_HOME_MAX_ROWS = 400  # 首页照片最大数量, PAI2_HOME_PER_PAGE * PAI2_HOME_MAX_PAGE = 20 * 20 = 400
278
+PAI2_HOME_MAX_ROWS = 400  # 首页照片最大数量,PAI2_HOME_PER_PAGE * PAI2_HOME_MAX_PAGE = 20 * 20 = 400
279 279
 
280 280
 # 下载页设置
281
-DOWNLOAD_TMPL_PATH = os.path.join(BASE_DIR, 'page/templates/page/download.tmpl.html').replace('\\', '/')
282
-DOWNLOAD_ADR_PAGE_PATH = os.path.join(BASE_DIR, 'page/templates/page/adr_download.html').replace('\\', '/')
283
-DOWNLOAD_IOS_PAGE_PATH = os.path.join(BASE_DIR, 'page/templates/page/ios_download.html').replace('\\', '/')
281
+TMPL_DOWNLOAD_PAGE_PATH = os.path.join(BASE_DIR, 'page/templates/page/download.tmpl.html').replace('\\', '/')
282
+
283
+PAI2_USER_DOWNLOAD_ADR_PAGE_PATH = os.path.join(BASE_DIR, 'page/templates/page/pai2_user_adr_download.html').replace('\\', '/')
284
+PAI2_USER_DOWNLOAD_IOS_PAGE_PATH = os.path.join(BASE_DIR, 'page/templates/page/pai2_user_ios_download.html').replace('\\', '/')
285
+
286
+PAI2_LENSMAN_DOWNLOAD_ADR_PAGE_PATH = os.path.join(BASE_DIR, 'page/templates/page/pai2_lensman_adr_download.html').replace('\\', '/')
287
+PAI2_LENSMAN_DOWNLOAD_IOS_PAGE_PATH = os.path.join(BASE_DIR, 'page/templates/page/pai2_lensman_ios_download.html').replace('\\', '/')
288
+
289
+PAI2_TOURGUIDE_DOWNLOAD_ADR_PAGE_PATH = os.path.join(BASE_DIR, 'page/templates/page/pai2_tourguide_adr_download.html').replace('\\', '/')
290
+PAI2_TOURGUIDE_DOWNLOAD_IOS_PAGE_PATH = os.path.join(BASE_DIR, 'page/templates/page/pai2_tourguide_ios_download.html').replace('\\', '/')
284 291
 
285 292
 # 下载设置
286
-DOWNLOAD_WX_URL = 'https://pai.ai'
287
-DOWNLOAD_IOS_URL = 'https://pai.ai'
293
+PAI2_USER_DOWNLOAD_WX_URL = 'https://pai.ai'
294
+PAI2_USER_DOWNLOAD_IOS_URL = 'https://pai.ai'
295
+
296
+PAI2_LENSMAN_DOWNLOAD_WX_URL = 'https://pai.ai'
297
+PAI2_LENSMAN_DOWNLOAD_IOS_URL = 'https://pai.ai'
298
+
299
+PAI2_TOURGUIDE_DOWNLOAD_WX_URL = 'https://pai.ai'
300
+PAI2_TOURGUIDE_DOWNLOAD_IOS_URL = 'https://pai.ai'
288 301
 
289 302
 # 群组设置
290 303
 GROUP_PER_PAGE = 20  # 群组每页数量

+ 6 - 2
pai2/urls.py

@@ -57,15 +57,19 @@ urlpatterns += [
57 57
 ]
58 58
 
59 59
 urlpatterns += [
60
+    url(r'^g/(?P<group_id>\w+)$', grouppage_views.group_detail, name='group_detail'),  # 群组详情(拍爱用户端下载页)
61
+]
62
+
63
+urlpatterns += [
60 64
     url(r'^gp/(?P<photo_id>\w+)$', grouppage_views.group_photo_detail, name='group_photo_detail'),  # 群组照片详情
61 65
 ]
62 66
 
63 67
 urlpatterns += [
64
-    url(r'^g/(?P<group_id>\w+)$', grouppage_views.group_detail, name='group_detail'),  # 群组详情(APP下载页)
68
+    url(r'^tg/(?P<admin_id>\w+)$', grouppage_views.tgu_group_detail, name='tgu_group_detail'),  # 旅行团详情(拍爱导游端下载页)
65 69
 ]
66 70
 
67 71
 urlpatterns += [
68
-    url(r'^tgu/(?P<admin_id>\w+)$', grouppage_views.tgu_group_user_detail, name='tgu_group_user_detail'),  # 旅行团详情(APP下载页)
72
+    url(r'^tgu/(?P<admin_id>\w+)$', grouppage_views.tgu_group_user_detail, name='tgu_group_user_detail'),  # 旅行团成员详情(拍爱用户端下载页)
69 73
 ]
70 74
 
71 75
 urlpatterns += [

+ 1 - 1
utils/time_utils.py

@@ -5,6 +5,6 @@ from django.conf import settings
5 5
 
6 6
 def origin_expired_stamps(origin_stamps, user_id):
7 7
     try:
8
-        return int(origin_stamps) + settings.ORIGIN_EXPIRED_MSEL
8
+        return int(origin_stamps) + settings.LENSMAN_PHOTO_ORIGIN_EXPIRED_MSEL
9 9
     except:
10 10
         return 0