@@ -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'), {}) |
@@ -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) |
@@ -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', '')) |
@@ -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> |
@@ -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 # 群组每页数量 |
@@ -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 += [ |
@@ -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 |