| @@ -3,7 +3,7 @@ | ||
| 3 | 3 | from curtail_uuid import CurtailUUID | 
| 4 | 4 | from django.contrib.auth.hashers import check_password, make_password | 
| 5 | 5 | from django.contrib.auth.models import Group, User | 
| 6 | -from django.http import JsonResponse | |
| 6 | +from logit import logit | |
| 7 | 7 | from rest_framework import viewsets | 
| 8 | 8 | from TimeConvert import TimeConvert as tc | 
| 9 | 9 |  | 
| @@ -18,6 +18,7 @@ from utils.version_utils import is_version_match | ||
| 18 | 18 |  | 
| 19 | 19 |  | 
| 20 | 20 | # curl -X POST -F username=xxxxxxx -F password=xxxxxxx http://api.pai.ai/login | 
| 21 | +@logit | |
| 21 | 22 | def lensman_login_api(request): | 
| 22 | 23 |      username = request.POST.get('username', '') | 
| 23 | 24 |      password = request.POST.get('password', '') | 
| @@ -30,26 +31,19 @@ def lensman_login_api(request): | ||
| 30 | 31 | if not check_password(password, lensman.encryption): | 
| 31 | 32 | return response(LensmanStatusCode.LENSMAN_PASSWORD_ERROR) | 
| 32 | 33 |  | 
| 33 | -    return JsonResponse({ | |
| 34 | - 'status': 200, | |
| 35 | - 'message': u'登录成功', | |
| 36 | -        'data': { | |
| 37 | - 'user_id': lensman.lensman_id | |
| 38 | - }, | |
| 34 | +    return response(200, 'Login Success', u'登录成功', { | |
| 35 | + 'user_id': lensman.lensman_id | |
| 39 | 36 | }) | 
| 40 | 37 |  | 
| 41 | 38 |  | 
| 39 | +@logit | |
| 42 | 40 | def user_is_registered_api(request): | 
| 43 | -    username = request.POST.get('username', '') | |
| 44 | -    return JsonResponse({ | |
| 45 | - 'status': 200, | |
| 46 | - 'message': '', | |
| 47 | -        'data': { | |
| 48 | - 'registered': UserInfo.objects.filter(username=username).exists(), | |
| 49 | - } | |
| 41 | +    return response(200, '', '', { | |
| 42 | +        'registered': UserInfo.objects.filter(username=request.POST.get('username', '')).exists(), | |
| 50 | 43 | }) | 
| 51 | 44 |  | 
| 52 | 45 |  | 
| 46 | +@logit | |
| 53 | 47 | def user_signup_api(request): | 
| 54 | 48 |      user_id = request.POST.get('user_id', '') | 
| 55 | 49 |      username = request.POST.get('username', '') | 
| @@ -85,13 +79,10 @@ def user_signup_api(request): | ||
| 85 | 79 | signup_at=signup_at, | 
| 86 | 80 | ) | 
| 87 | 81 |  | 
| 88 | -    return JsonResponse({ | |
| 89 | - 'status': 200, | |
| 90 | - 'message': u'注册成功', | |
| 91 | - 'data': user.data, | |
| 92 | - }) | |
| 82 | + return response(200, 'Signup Success', u'注册成功', user.data) | |
| 93 | 83 |  | 
| 94 | 84 |  | 
| 85 | +@logit | |
| 95 | 86 | def user_login_api(request): | 
| 96 | 87 |      username = request.POST.get('username', '') | 
| 97 | 88 |      password = request.POST.get('password', '') | 
| @@ -121,13 +112,10 @@ def user_login_api(request): | ||
| 121 | 112 | user.login_at = login_at | 
| 122 | 113 | user.save() | 
| 123 | 114 |  | 
| 124 | -    return JsonResponse({ | |
| 125 | - 'status': 200, | |
| 126 | - 'message': u'登录成功', | |
| 127 | - 'data': user.data, | |
| 128 | - }) | |
| 115 | + return response(200, 'Login Success', u'登录成功', user.data) | |
| 129 | 116 |  | 
| 130 | 117 |  | 
| 118 | +@logit | |
| 131 | 119 | def user_wx_authorize_api(request): | 
| 132 | 120 |      user_id = request.POST.get('user_id', '') | 
| 133 | 121 |  | 
| @@ -157,11 +145,7 @@ def user_wx_authorize_api(request): | ||
| 157 | 145 | user.city = city | 
| 158 | 146 | user.save() | 
| 159 | 147 |  | 
| 160 | -        return JsonResponse({ | |
| 161 | - 'status': 200, | |
| 162 | - 'message': u'登录成功', | |
| 163 | - 'data': user.data, | |
| 164 | - }) | |
| 148 | + return response(200, 'Login Success', u'登录成功', user.data) | |
| 165 | 149 |  | 
| 166 | 150 | # unionid 不存在 | 
| 167 | 151 | # 判断 user_id 是否存在并且为分配用户,如果存在并且为分配用户,则直接在该帐户上更新,否则则直接创建帐户 | 
| @@ -203,13 +187,10 @@ def user_wx_authorize_api(request): | ||
| 203 | 187 | signup_at=signup_at, | 
| 204 | 188 | ) | 
| 205 | 189 |  | 
| 206 | -    return JsonResponse({ | |
| 207 | - 'status': 200, | |
| 208 | - 'message': u'登录成功', | |
| 209 | - 'data': user.data, | |
| 210 | - }) | |
| 190 | + return response(200, 'Login Success', u'登录成功', user.data) | |
| 211 | 191 |  | 
| 212 | 192 |  | 
| 193 | +@logit | |
| 213 | 194 | def guest_status_api(request): | 
| 214 | 195 | """ 游客状态 """ | 
| 215 | 196 | gen = get_guest_entrance_control() | 
| @@ -231,13 +212,10 @@ def guest_status_api(request): | ||
| 231 | 212 | if not is_version_match(request, gen): | 
| 232 | 213 | return response(UserStatusCode.GUEST_NOT_ALLOWED) | 
| 233 | 214 |  | 
| 234 | -    return JsonResponse({ | |
| 235 | - 'status': 200, | |
| 236 | - 'message': u'游客登录开启', | |
| 237 | -        'data': {}, | |
| 238 | - }) | |
| 215 | + return response(200, 'Guest Login Allowed', u'游客登录开启') | |
| 239 | 216 |  | 
| 240 | 217 |  | 
| 218 | +@logit | |
| 241 | 219 | def guest_login_api(request): | 
| 242 | 220 | """ 游客登录 """ | 
| 243 | 221 | gen = get_guest_entrance_control() | 
| @@ -280,11 +258,7 @@ def guest_login_api(request): | ||
| 280 | 258 |          user.nickname = u'游客{}'.format(user.pk) | 
| 281 | 259 | user.save() | 
| 282 | 260 |  | 
| 283 | -    return JsonResponse({ | |
| 284 | - 'status': 200, | |
| 285 | - 'message': u'游客登录成功', | |
| 286 | - 'data': user.data, | |
| 287 | - }) | |
| 261 | + return response(200, 'Guest Login Success', u'游客登录成功', user.data) | |
| 288 | 262 |  | 
| 289 | 263 |  | 
| 290 | 264 | class UserViewSet(viewsets.ModelViewSet): | 
| @@ -9,7 +9,6 @@ from curtail_uuid import CurtailUUID | ||
| 9 | 9 | from django.conf import settings | 
| 10 | 10 | from django.contrib.auth.hashers import check_password | 
| 11 | 11 | from django.core.files.storage import default_storage | 
| 12 | -from django.http import JsonResponse | |
| 13 | 12 | from logit import logit | 
| 14 | 13 | from TimeConvert import TimeConvert as tc | 
| 15 | 14 |  | 
| @@ -27,6 +26,7 @@ from utils.watermark_utils import watermark_wrap | ||
| 27 | 26 | r = settings.REDIS_CACHE | 
| 28 | 27 |  | 
| 29 | 28 |  | 
| 29 | +@logit | |
| 30 | 30 | def lensman_submit_api(request): | 
| 31 | 31 | """ | 
| 32 | 32 | 摄影师信息提交 | 
| @@ -59,6 +59,7 @@ def lensman_submit_api(request): | ||
| 59 | 59 |      return response(200, 'Submit Success', u'提交成功', {}) | 
| 60 | 60 |  | 
| 61 | 61 |  | 
| 62 | +@logit | |
| 62 | 63 | def lensman_login_api(request): | 
| 63 | 64 | """ | 
| 64 | 65 | 摄影师登录 | 
| @@ -81,16 +82,11 @@ def lensman_login_api(request): | ||
| 81 | 82 | except UserInfo.DoesNotExist: | 
| 82 | 83 | return response(LensmanStatusCode.LENSMAN_NOT_FOUND) | 
| 83 | 84 |  | 
| 84 | -    return JsonResponse({ | |
| 85 | - 'status': 200, | |
| 86 | - 'message': u'登录成功', | |
| 87 | - 'data': user.data, | |
| 88 | - }) | |
| 85 | + return response(200, 'Login Success', u'登录成功', user.data) | |
| 89 | 86 |  | 
| 90 | 87 |  | 
| 91 | 88 | @logit | 
| 92 | 89 | def lensman_wx_authorize_api(request): | 
| 93 | -    openid = wx_uid = request.POST.get('wx_uid', '') | |
| 94 | 90 |      unionid = request.POST.get('unionid', '') | 
| 95 | 91 |  | 
| 96 | 92 | # 判断 unionid 是否已经存在,如果已经存在,则直接返回改帐户信息 | 
| @@ -239,12 +235,8 @@ def lensman_photo_upload_api(request): | ||
| 239 | 235 | ) | 
| 240 | 236 | latest_photo = group_photos.first() | 
| 241 | 237 |  | 
| 242 | -    return JsonResponse({ | |
| 243 | - 'status': 200, | |
| 244 | - 'message': u'摄影师照片上传成功', | |
| 245 | -        'data': { | |
| 246 | - 'group_id': group_id, | |
| 247 | - 'current_id': latest_photo and latest_photo.pk or current_id, | |
| 248 | - 'photos': [photo.photo_info(user_id) for photo in group_photos], | |
| 249 | - } | |
| 238 | +    return response(200, 'Lensman Upload Photo Success', u'摄影师照片上传成功', { | |
| 239 | + 'group_id': group_id, | |
| 240 | + 'current_id': latest_photo and latest_photo.pk or current_id, | |
| 241 | + 'photos': [photo.photo_info(user_id) for photo in group_photos], | |
| 250 | 242 | }) | 
| @@ -11,8 +11,8 @@ from curtail_uuid import CurtailUUID | ||
| 11 | 11 | from django.conf import settings | 
| 12 | 12 | from django.core.files.storage import default_storage | 
| 13 | 13 | from django.db import connection, transaction | 
| 14 | -from django.http import JsonResponse | |
| 15 | 14 | from django.shortcuts import render | 
| 15 | +from logit import logit | |
| 16 | 16 | from rest_framework import viewsets | 
| 17 | 17 | from TimeConvert import TimeConvert as tc | 
| 18 | 18 |  | 
| @@ -37,10 +37,11 @@ from utils.thumbnail_utils import make_thumbnail | ||
| 37 | 37 | from utils.url_utils import img_url, share_url | 
| 38 | 38 |  | 
| 39 | 39 |  | 
| 40 | -db = records.Database(settings.DATABASE_URL['default']) | |
| 40 | +# db = records.Database(settings.DATABASE_URL['default']) | |
| 41 | 41 | r = settings.REDIS_CACHE | 
| 42 | 42 |  | 
| 43 | 43 |  | 
| 44 | +@logit | |
| 44 | 45 | @transaction.atomic | 
| 45 | 46 | def group_create_api(request): | 
| 46 | 47 | """ | 
| @@ -90,17 +91,14 @@ def group_create_api(request): | ||
| 90 | 91 | # Redis 群组通过集合缓存 | 
| 91 | 92 | r.sadd(GROUP_USERS_PASSED_SET % group_id, user_id) | 
| 92 | 93 |  | 
| 93 | -    return JsonResponse({ | |
| 94 | - 'status': 200, | |
| 95 | - 'message': u'群组创建成功', | |
| 96 | -        'data': { | |
| 97 | - 'group_id': group_id, | |
| 98 | - 'group': group_info, | |
| 99 | - 'users': group_users, | |
| 100 | - }, | |
| 94 | +    return response(200, 'Create Group Success', u'群组创建成功', { | |
| 95 | + 'group_id': group_id, | |
| 96 | + 'group': group_info, | |
| 97 | + 'users': group_users, | |
| 101 | 98 | }) | 
| 102 | 99 |  | 
| 103 | 100 |  | 
| 101 | +@logit | |
| 104 | 102 | def group_detail_api(request): | 
| 105 | 103 | """ | 
| 106 | 104 | 群组详情 | 
| @@ -110,17 +108,14 @@ def group_detail_api(request): | ||
| 110 | 108 |      group_id = request.POST.get('group_id', '') | 
| 111 | 109 |      user_id = request.POST.get('user_id', '') | 
| 112 | 110 |  | 
| 113 | -    return JsonResponse({ | |
| 114 | - 'status': 200, | |
| 115 | - 'message': u'获取群组详情成功', | |
| 116 | -        'data': { | |
| 117 | - 'group_id': group_id, | |
| 118 | - 'group': get_group_info(group_id), | |
| 119 | - 'users': get_group_users_info(group_id, user_id), | |
| 120 | - }, | |
| 111 | +    return response(200, 'Get Group Detail Info Success', u'获取群组详情成功', { | |
| 112 | + 'group_id': group_id, | |
| 113 | + 'group': get_group_info(group_id), | |
| 114 | + 'users': get_group_users_info(group_id, user_id), | |
| 121 | 115 | }) | 
| 122 | 116 |  | 
| 123 | 117 |  | 
| 118 | +@logit | |
| 124 | 119 | def group_update_api(request): | 
| 125 | 120 | """ | 
| 126 | 121 | 群组更新 | 
| @@ -163,17 +158,14 @@ def group_update_api(request): | ||
| 163 | 158 | # Redis 群组数据缓存更新 | 
| 164 | 159 | group_info = set_group_info(group) | 
| 165 | 160 |  | 
| 166 | -    return JsonResponse({ | |
| 167 | - 'status': 200, | |
| 168 | - 'message': u'群组更新成功', | |
| 169 | -        'data': { | |
| 170 | - 'group_id': group_id, | |
| 171 | - 'group': group_info, | |
| 172 | - 'users': get_group_users_info(group_id, admin_id), | |
| 173 | - }, | |
| 161 | +    return response(200, 'Update Group Success', u'群组更新成功', { | |
| 162 | + 'group_id': group_id, | |
| 163 | + 'group': group_info, | |
| 164 | + 'users': get_group_users_info(group_id, admin_id), | |
| 174 | 165 | }) | 
| 175 | 166 |  | 
| 176 | 167 |  | 
| 168 | +@logit | |
| 177 | 169 | def group_list_api(request): | 
| 178 | 170 | """ | 
| 179 | 171 | 群组列表 | 
| @@ -192,16 +184,13 @@ def group_list_api(request): | ||
| 192 | 184 | group_info = get_group_info(group_user.group_id) | 
| 193 | 185 | groups.append(group_info) if group_info else None | 
| 194 | 186 |  | 
| 195 | -    return JsonResponse({ | |
| 196 | - 'status': 200, | |
| 197 | - 'message': u'获取群组列表成功', | |
| 198 | -        'data': { | |
| 199 | - 'groups': groups, | |
| 200 | - 'left': left, | |
| 201 | - }, | |
| 187 | +    return response(200, 'Get Group List Success', u'获取群组列表成功', { | |
| 188 | + 'groups': groups, | |
| 189 | + 'left': left, | |
| 202 | 190 | }) | 
| 203 | 191 |  | 
| 204 | 192 |  | 
| 193 | +@logit | |
| 205 | 194 | def group_join_api(request): | 
| 206 | 195 | """ | 
| 207 | 196 | 申请加群 | 
| @@ -251,20 +240,17 @@ def group_join_api(request): | ||
| 251 | 240 | r.srem(GROUP_USERS_QUIT_SET % group_id, user_id) | 
| 252 | 241 | r.sadd(GROUP_USERS_PASSED_SET % group_id, user_id) | 
| 253 | 242 |  | 
| 254 | -    return JsonResponse({ | |
| 255 | - 'status': 200, | |
| 256 | - 'message': u'申请成功', | |
| 257 | -        'data': { | |
| 258 | - 'current_id': group_user.current_id, | |
| 259 | - 'photos': [], | |
| 260 | - 'group_id': group_id, | |
| 261 | - 'group': get_group_info(group_id), | |
| 262 | - 'user_id': user_id, | |
| 263 | - 'users': get_group_users_info(group_id, user_id), | |
| 264 | - }, | |
| 243 | +    return response(200, 'Apply Success', u'申请成功', { | |
| 244 | + 'current_id': group_user.current_id, | |
| 245 | + 'photos': [], | |
| 246 | + 'group_id': group_id, | |
| 247 | + 'group': get_group_info(group_id), | |
| 248 | + 'user_id': user_id, | |
| 249 | + 'users': get_group_users_info(group_id, user_id), | |
| 265 | 250 | }) | 
| 266 | 251 |  | 
| 267 | 252 |  | 
| 253 | +@logit | |
| 268 | 254 | def group_lock_api(request): | 
| 269 | 255 | """ | 
| 270 | 256 | 群组锁定 | 
| @@ -291,12 +277,10 @@ def group_lock_api(request): | ||
| 291 | 277 | # Redis 群组数据缓存更新 | 
| 292 | 278 | set_group_info(group) | 
| 293 | 279 |  | 
| 294 | -    return JsonResponse({ | |
| 295 | - 'status': 200, | |
| 296 | - 'message': u'锁定成功', | |
| 297 | - }) | |
| 280 | + return response(200, 'Lock Success', u'锁定成功') | |
| 298 | 281 |  | 
| 299 | 282 |  | 
| 283 | +@logit | |
| 300 | 284 | def group_unlock_api(request): | 
| 301 | 285 | """ | 
| 302 | 286 | 群组解锁 | 
| @@ -323,12 +307,10 @@ def group_unlock_api(request): | ||
| 323 | 307 | # Redis 群组数据缓存更新 | 
| 324 | 308 | set_group_info(group) | 
| 325 | 309 |  | 
| 326 | -    return JsonResponse({ | |
| 327 | - 'status': 200, | |
| 328 | - 'message': u'解锁成功', | |
| 329 | - }) | |
| 310 | + return response(200, u'Unlock Success', u'解锁成功') | |
| 330 | 311 |  | 
| 331 | 312 |  | 
| 313 | +@logit | |
| 332 | 314 | def group_remove_api(request): | 
| 333 | 315 | """ | 
| 334 | 316 | 成员移除 | 
| @@ -367,16 +349,13 @@ def group_remove_api(request): | ||
| 367 | 349 | r.srem(GROUP_USERS_PASSED_SET % group_id, user_id) | 
| 368 | 350 | r.sadd(GROUP_USERS_DELETED_SET % group_id, user_id) | 
| 369 | 351 |  | 
| 370 | -    return JsonResponse({ | |
| 371 | - 'status': 200, | |
| 372 | - 'message': u'用户移除成功', | |
| 373 | -        'data': { | |
| 374 | - 'group_id': group_id, | |
| 375 | - 'users': group_users, | |
| 376 | - }, | |
| 352 | +    return response(200, 'Remove Success', u'用户移除成功', { | |
| 353 | + 'group_id': group_id, | |
| 354 | + 'users': group_users, | |
| 377 | 355 | }) | 
| 378 | 356 |  | 
| 379 | 357 |  | 
| 358 | +@logit | |
| 380 | 359 | def group_quit_api(request): | 
| 381 | 360 | """ | 
| 382 | 361 | 成员退出 | 
| @@ -414,16 +393,13 @@ def group_quit_api(request): | ||
| 414 | 393 | r.srem(GROUP_USERS_PASSED_SET % group_id, user_id) | 
| 415 | 394 | r.sadd(GROUP_USERS_QUIT_SET % group_id, user_id) | 
| 416 | 395 |  | 
| 417 | -    return JsonResponse({ | |
| 418 | - 'status': 200, | |
| 419 | - 'message': u'用户退出成功', | |
| 420 | -        'data': { | |
| 421 | - 'group_id': group_id, | |
| 422 | - 'users': group_users, | |
| 423 | - }, | |
| 396 | +    return response(200, 'Quit Success', u'用户退出成功', { | |
| 397 | + 'group_id': group_id, | |
| 398 | + 'users': group_users, | |
| 424 | 399 | }) | 
| 425 | 400 |  | 
| 426 | 401 |  | 
| 402 | +@logit | |
| 427 | 403 | def group_pass_api(request): | 
| 428 | 404 | """ | 
| 429 | 405 | 申请通过 | 
| @@ -462,16 +438,13 @@ def group_pass_api(request): | ||
| 462 | 438 | r.srem(GROUP_USERS_APPLYING_SET % group_id, user_id) | 
| 463 | 439 | r.sadd(GROUP_USERS_PASSED_SET % group_id, user_id) | 
| 464 | 440 |  | 
| 465 | -    return JsonResponse({ | |
| 466 | - 'status': 200, | |
| 467 | - 'message': u'申请通过成功', | |
| 468 | -        'data': { | |
| 469 | - 'group_id': group_id, | |
| 470 | - 'users': group_users, | |
| 471 | - }, | |
| 441 | +    return response(200, 'Pass Success', u'申请通过成功', { | |
| 442 | + 'group_id': group_id, | |
| 443 | + 'users': group_users, | |
| 472 | 444 | }) | 
| 473 | 445 |  | 
| 474 | 446 |  | 
| 447 | +@logit | |
| 475 | 448 | def group_refuse_api(request): | 
| 476 | 449 | """ | 
| 477 | 450 | 申请拒绝 | 
| @@ -510,16 +483,13 @@ def group_refuse_api(request): | ||
| 510 | 483 | r.srem(GROUP_USERS_APPLYING_SET % group_id, user_id) | 
| 511 | 484 | r.sadd(GROUP_USERS_REFUSED_SET % group_id, user_id) | 
| 512 | 485 |  | 
| 513 | -    return JsonResponse({ | |
| 514 | - 'status': 200, | |
| 515 | - 'message': u'申请拒绝成功', | |
| 516 | -        'data': { | |
| 517 | - 'group_id': group_id, | |
| 518 | - 'users': group_users, | |
| 519 | - }, | |
| 486 | +    return response(200, 'Refuse Success', u'申请拒绝成功', { | |
| 487 | + 'group_id': group_id, | |
| 488 | + 'users': group_users, | |
| 520 | 489 | }) | 
| 521 | 490 |  | 
| 522 | 491 |  | 
| 492 | +@logit | |
| 523 | 493 | def group_data_api(request): | 
| 524 | 494 | """ | 
| 525 | 495 | 群组数据, 评论数, 点赞数 | 
| @@ -528,15 +498,12 @@ def group_data_api(request): | ||
| 528 | 498 | """ | 
| 529 | 499 |      group_id = request.POST.get('group_id', '') | 
| 530 | 500 |  | 
| 531 | -    return JsonResponse({ | |
| 532 | - 'status': 200, | |
| 533 | - 'message': u'获取群组数据成功', | |
| 534 | -        'data': { | |
| 535 | - 'photo_datas': get_group_photo_data(group_id), | |
| 536 | - } | |
| 501 | +    return response(200, 'Get Group Data Success', u'获取群组数据成功', { | |
| 502 | + 'photo_datas': get_group_photo_data(group_id), | |
| 537 | 503 | }) | 
| 538 | 504 |  | 
| 539 | 505 |  | 
| 506 | +@logit | |
| 540 | 507 | def flyimg_upload_api(request): | 
| 541 | 508 | """ | 
| 542 | 509 | 飞图上传/飞图列表 | 
| @@ -620,16 +587,13 @@ def flyimg_upload_api(request): | ||
| 620 | 587 | ) | 
| 621 | 588 | latest_photo = group_photos.first() | 
| 622 | 589 |  | 
| 623 | -    return JsonResponse({ | |
| 624 | - 'status': 200, | |
| 625 | - 'message': u'飞图上传成功', | |
| 626 | -        'data': { | |
| 627 | - 'current_id': latest_photo and latest_photo.pk or current_id, | |
| 628 | - 'photos': [photo.photo_info(user_id) for photo in group_photos], | |
| 629 | - } | |
| 590 | +    return response(200, 'Flyimg Upload Success', u'飞图上传成功', { | |
| 591 | + 'current_id': latest_photo and latest_photo.pk or current_id, | |
| 592 | + 'photos': [photo.photo_info(user_id) for photo in group_photos], | |
| 630 | 593 | }) | 
| 631 | 594 |  | 
| 632 | 595 |  | 
| 596 | +@logit | |
| 633 | 597 | def comment_submit_api(request): | 
| 634 | 598 | """ | 
| 635 | 599 | 飞图评论提交/飞图评论列表 | 
| @@ -711,15 +675,12 @@ def comment_submit_api(request): | ||
| 711 | 675 | msg_content=comment, | 
| 712 | 676 | ) | 
| 713 | 677 |  | 
| 714 | -    return JsonResponse({ | |
| 715 | - 'status': 200, | |
| 716 | - 'message': u'评论成功', | |
| 717 | -        'data': { | |
| 718 | - 'comments': get_group_photo_comment_list(photo_id), | |
| 719 | - } | |
| 678 | +    return response(200, 'Comment Success', u'评论成功', { | |
| 679 | + 'comments': get_group_photo_comment_list(photo_id), | |
| 720 | 680 | }) | 
| 721 | 681 |  | 
| 722 | 682 |  | 
| 683 | +@logit | |
| 723 | 684 | def thumbup_submit_api(request): | 
| 724 | 685 | """ | 
| 725 | 686 | 飞图点赞提交 | 
| @@ -805,16 +766,13 @@ def thumbup_submit_api(request): | ||
| 805 | 766 | msg_content=u'点赞', | 
| 806 | 767 | ) | 
| 807 | 768 |  | 
| 808 | -    return JsonResponse({ | |
| 809 | - 'status': 200, | |
| 810 | - 'message': u'点赞提交成功', | |
| 811 | -        'data': { | |
| 812 | - 'thumbup': True, | |
| 813 | - 'thumbups': get_group_photo_thumbup_list(photo_id), | |
| 814 | - } | |
| 769 | +    return response(200, 'Thumbup Success', u'点赞提交成功', { | |
| 770 | + 'thumbup': True, | |
| 771 | + 'thumbups': get_group_photo_thumbup_list(photo_id), | |
| 815 | 772 | }) | 
| 816 | 773 |  | 
| 817 | 774 |  | 
| 775 | +@logit | |
| 818 | 776 | def thumbup_list_api(request): | 
| 819 | 777 | """ | 
| 820 | 778 | 飞图点赞列表 | 
| @@ -825,16 +783,13 @@ def thumbup_list_api(request): | ||
| 825 | 783 |      user_id = request.POST.get('user_id', '') | 
| 826 | 784 |      photo_id = request.POST.get('photo_id', '') | 
| 827 | 785 |  | 
| 828 | -    return JsonResponse({ | |
| 829 | - 'status': 200, | |
| 830 | - 'message': u'获取点赞列表成功', | |
| 831 | -        'data': { | |
| 832 | - 'thumbup': get_group_photo_thumbup_flag(photo_id, user_id), # user_id 是否点赞 photo_id | |
| 833 | - 'thumbups': get_group_photo_thumbup_list(photo_id), # 群组照片点赞列表 | |
| 834 | - } | |
| 786 | +    return response(200, 'Get Thumbup List Success', u'获取点赞列表成功', { | |
| 787 | + 'thumbup': get_group_photo_thumbup_flag(photo_id, user_id), # user_id 是否点赞 photo_id | |
| 788 | + 'thumbups': get_group_photo_thumbup_list(photo_id), # 群组照片点赞列表 | |
| 835 | 789 | }) | 
| 836 | 790 |  | 
| 837 | 791 |  | 
| 792 | +@logit | |
| 838 | 793 | def thumbup_cancel_api(request): | 
| 839 | 794 | """ | 
| 840 | 795 | 飞图点赞取消 | 
| @@ -902,16 +857,13 @@ def thumbup_cancel_api(request): | ||
| 902 | 857 | thumbup=True, | 
| 903 | 858 | ) | 
| 904 | 859 |  | 
| 905 | -    return JsonResponse({ | |
| 906 | - 'status': 200, | |
| 907 | - 'message': u'点赞取消成功', | |
| 908 | -        'data': { | |
| 909 | - 'thumbup': False, | |
| 910 | - 'thumbups': [thumbup.thumbup_info for thumbup in photo_thumbups], | |
| 911 | - } | |
| 860 | +    return response(200, 'Thumbup Cancel Success', u'点赞取消成功', { | |
| 861 | + 'thumbup': False, | |
| 862 | + 'thumbups': [thumbup.thumbup_info for thumbup in photo_thumbups], | |
| 912 | 863 | }) | 
| 913 | 864 |  | 
| 914 | 865 |  | 
| 866 | +@logit | |
| 915 | 867 | def pai2_home_api(request): | 
| 916 | 868 | """ | 
| 917 | 869 | 首页信息 | 
| @@ -980,16 +932,13 @@ def pai2_home_api(request): | ||
| 980 | 932 |      #     'porder': get_lensman_order_record(row['photo_id'], user_id) if row['photo_from'] == GroupPhotoInfo.SESSION_GROUP else {}, | 
| 981 | 933 | # }) for row in rows] | 
| 982 | 934 |  | 
| 983 | -    return JsonResponse({ | |
| 984 | - 'status': 200, | |
| 985 | - 'message': u'获取首页列表成功', | |
| 986 | -        'data': { | |
| 987 | - 'photos': rows, | |
| 988 | - 'left': left, | |
| 989 | - } | |
| 935 | +    return response(200, 'Get Home Data Success', u'获取首页数据成功', { | |
| 936 | + 'photos': rows, | |
| 937 | + 'left': left, | |
| 990 | 938 | }) | 
| 991 | 939 |  | 
| 992 | 940 |  | 
| 941 | +@logit | |
| 993 | 942 | def lensman_photo_price(request): | 
| 994 | 943 | """ | 
| 995 | 944 | 摄影师照片价格获取 | 
| @@ -1018,15 +967,12 @@ def lensman_photo_price(request): | ||
| 1018 | 967 |  | 
| 1019 | 968 | r.set(lensman_photo_price_key, price) | 
| 1020 | 969 |  | 
| 1021 | -    return JsonResponse({ | |
| 1022 | - 'status': 200, | |
| 1023 | - 'message': u'获取价格成功', | |
| 1024 | -        'data': { | |
| 1025 | - 'price': price | |
| 1026 | - } | |
| 970 | +    return response(200, 'Get Price Success', u'获取价格成功', { | |
| 971 | + 'price': price | |
| 1027 | 972 | }) | 
| 1028 | 973 |  | 
| 1029 | 974 |  | 
| 975 | +@logit | |
| 1030 | 976 | def lensman_photo_bought(request): | 
| 1031 | 977 | """ | 
| 1032 | 978 | 摄影师照片已购买 | 
| @@ -1036,20 +982,18 @@ def lensman_photo_bought(request): | ||
| 1036 | 982 |      user_id = request.POST.get('user_id', '') | 
| 1037 | 983 |      photo_id = request.POST.get('photo_id', '') | 
| 1038 | 984 |  | 
| 1039 | -    return JsonResponse({ | |
| 1040 | - 'status': 200, | |
| 1041 | - 'message': u'获取购买数据成功', | |
| 1042 | -        'data': { | |
| 1043 | - 'porder': get_lensman_order_record(photo_id, user_id) | |
| 1044 | - } | |
| 985 | +    return response(200, 'Get Bought Data Success', u'获取购买数据成功', { | |
| 986 | + 'porder': get_lensman_order_record(photo_id, user_id) | |
| 1045 | 987 | }) | 
| 1046 | 988 |  | 
| 1047 | 989 |  | 
| 990 | +@logit | |
| 1048 | 991 | def group_photo_detail(request, photo_id): | 
| 1049 | 992 | photo = GroupPhotoInfo.objects.get(pk=photo_id) | 
| 1050 | 993 |      return render(request, 'photo/photo_detail.html', {'photo_url': photo.photo_url, 'api_domain': settings.API_DOMAIN}) | 
| 1051 | 994 |  | 
| 1052 | 995 |  | 
| 996 | +@logit | |
| 1053 | 997 | def group_detail(request, group_id): | 
| 1054 | 998 |      return render(request, 'page/{}_download.html'.format('ios' if request.iOS else 'adr'), {}) | 
| 1055 | 999 |  | 
| @@ -1,7 +1,7 @@ | ||
| 1 | 1 | # -*- coding: utf-8 -*- | 
| 2 | 2 |  | 
| 3 | 3 | from django.conf import settings | 
| 4 | -from django.http import JsonResponse | |
| 4 | +from logit import logit | |
| 5 | 5 |  | 
| 6 | 6 | from account.models import UserInfo | 
| 7 | 7 | from message.models import SystemMessageDeleteInfo, SystemMessageInfo, SystemMessageReadInfo, UserMessageInfo | 
| @@ -12,6 +12,7 @@ from utils.redis.rmessage import (get_system_message_delete_info, get_system_mes | ||
| 12 | 12 | set_system_message_delete_info, set_system_message_read_info) | 
| 13 | 13 |  | 
| 14 | 14 |  | 
| 15 | +@logit | |
| 15 | 16 | def message_list_api(request): | 
| 16 | 17 | """ | 
| 17 | 18 | 消息列表 | 
| @@ -43,15 +44,12 @@ def message_list_api(request): | ||
| 43 | 44 | message['msg_unread_num'] = type_unread_messages.count() | 
| 44 | 45 | final_messages.append(message) | 
| 45 | 46 |  | 
| 46 | -    return JsonResponse({ | |
| 47 | - 'status': 200, | |
| 48 | - 'message': u'获取消息列表成功', | |
| 49 | -        'data': { | |
| 50 | - 'messages': final_messages, | |
| 51 | - }, | |
| 47 | +    return response(200, 'Get Message List Success', u'获取消息列表成功', { | |
| 48 | + 'messages': final_messages, | |
| 52 | 49 | }) | 
| 53 | 50 |  | 
| 54 | 51 |  | 
| 52 | +@logit | |
| 55 | 53 | def message_type_list_api(request, msg_type): | 
| 56 | 54 | """ | 
| 57 | 55 | 分类消息列表 | 
| @@ -82,16 +80,13 @@ def message_type_list_api(request, msg_type): | ||
| 82 | 80 | type_messages, left = pagination(type_messages, page, num) | 
| 83 | 81 | type_messages = [msg.msg_info(user_id) for msg in type_messages] | 
| 84 | 82 |  | 
| 85 | -    return JsonResponse({ | |
| 86 | - 'status': 200, | |
| 87 | - 'message': u'获取消息列表成功', | |
| 88 | -        'data': { | |
| 89 | - 'messages': type_messages, | |
| 90 | - 'left': left, | |
| 91 | - }, | |
| 83 | +    return response(200, 'Get Message List Success', u'获取消息列表成功', { | |
| 84 | + 'messages': type_messages, | |
| 85 | + 'left': left, | |
| 92 | 86 | }) | 
| 93 | 87 |  | 
| 94 | 88 |  | 
| 89 | +@logit | |
| 95 | 90 | def message_type_read_api(request, msg_type=None): | 
| 96 | 91 | """ | 
| 97 | 92 | 消息读取 | 
| @@ -124,12 +119,10 @@ def message_type_read_api(request, msg_type=None): | ||
| 124 | 119 | if _all == 'true': # 用户消息(点赞/评论)全部读取 | 
| 125 | 120 | UserMessageInfo.objects.filter(to_uid=user_id, msg_type=msg_type).update(read=True) | 
| 126 | 121 |  | 
| 127 | -    return JsonResponse({ | |
| 128 | - 'status': 200, | |
| 129 | - 'message': u'已读消息成功', | |
| 130 | - }) | |
| 122 | + return response(200, 'Read Message Success', u'已读消息成功') | |
| 131 | 123 |  | 
| 132 | 124 |  | 
| 125 | +@logit | |
| 133 | 126 | def message_type_delete_api(request, msg_type=None): | 
| 134 | 127 | """ | 
| 135 | 128 | 消息删除 | 
| @@ -163,7 +156,4 @@ def message_type_delete_api(request, msg_type=None): | ||
| 163 | 156 | if _all == 'true': # 用户消息(点赞/评论)全部删除 | 
| 164 | 157 | UserMessageInfo.objects.filter(to_uid=user_id, msg_type=msg_type).update(status=False) | 
| 165 | 158 |  | 
| 166 | -    return JsonResponse({ | |
| 167 | - 'status': 200, | |
| 168 | - 'message': u'消息删除成功', | |
| 169 | - }) | |
| 159 | + return response(200, 'Delete Message Success', u'消息删除成功') | 
| @@ -1,8 +1,8 @@ | ||
| 1 | 1 | # -*- coding: utf-8 -*- | 
| 2 | 2 |  | 
| 3 | 3 | from django.conf import settings | 
| 4 | -from django.http import JsonResponse | |
| 5 | 4 | from django.shortcuts import redirect | 
| 5 | +from logit import logit | |
| 6 | 6 |  | 
| 7 | 7 | from account.models import UserInfo | 
| 8 | 8 | from operation.models import FeedbackInfo, SplashInfo | 
| @@ -11,6 +11,7 @@ from utils.error.response_utils import response | ||
| 11 | 11 | from utils.redis.rapp import get_latest_app | 
| 12 | 12 |  | 
| 13 | 13 |  | 
| 14 | +@logit | |
| 14 | 15 | def upgrade_api(request): | 
| 15 | 16 | """ | 
| 16 | 17 | APP 升级 | 
| @@ -32,15 +33,12 @@ def upgrade_api(request): | ||
| 32 | 33 |              'latest_url': latest_app.get('latest_adr_url', ''), | 
| 33 | 34 | } | 
| 34 | 35 |  | 
| 35 | -    return JsonResponse({ | |
| 36 | - 'status': 200, | |
| 37 | - 'message': u'获取最新版信息成功', | |
| 38 | -        'data': { | |
| 39 | - 'appinfo': appinfo, | |
| 40 | - }, | |
| 36 | +    return response(200, 'Get Latest App Success', u'获取最新版信息成功', { | |
| 37 | + 'appinfo': appinfo, | |
| 41 | 38 | }) | 
| 42 | 39 |  | 
| 43 | 40 |  | 
| 41 | +@logit | |
| 44 | 42 | def splash_api(request): | 
| 45 | 43 | """ | 
| 46 | 44 | 启动页面 | 
| @@ -50,15 +48,12 @@ def splash_api(request): | ||
| 50 | 48 | splashes = SplashInfo.objects.all() | 
| 51 | 49 | splashes = [splash.data for splash in splashes] | 
| 52 | 50 |  | 
| 53 | -    return JsonResponse({ | |
| 54 | - 'status': 200, | |
| 55 | - 'message': u'获取最新版信息成功', | |
| 56 | -        'data': { | |
| 57 | - 'splashes': splashes, | |
| 58 | - }, | |
| 51 | +    return response(200, 'Get Splash Success', u'获取最新版信息成功', { | |
| 52 | + 'splashes': splashes, | |
| 59 | 53 | }) | 
| 60 | 54 |  | 
| 61 | 55 |  | 
| 56 | +@logit | |
| 62 | 57 | def feedback_api(request): | 
| 63 | 58 | """ | 
| 64 | 59 | 用户反馈 | 
| @@ -76,12 +71,7 @@ def feedback_api(request): | ||
| 76 | 71 | feedback=feedback | 
| 77 | 72 | ) | 
| 78 | 73 |  | 
| 79 | -    return JsonResponse({ | |
| 80 | - 'status': 200, | |
| 81 | - 'message': u'反馈成功', | |
| 82 | -        'data': { | |
| 83 | - }, | |
| 84 | - }) | |
| 74 | + return response(200, 'Feedback Success', u'反馈成功') | |
| 85 | 75 |  | 
| 86 | 76 |  | 
| 87 | 77 | def download_api(request): | 
| @@ -3,7 +3,6 @@ | ||
| 3 | 3 | import xmltodict | 
| 4 | 4 | from django.conf import settings | 
| 5 | 5 | from django.db import transaction | 
| 6 | -from django.http import JsonResponse | |
| 7 | 6 | from django.shortcuts import HttpResponse | 
| 8 | 7 | from logit import logit | 
| 9 | 8 | from TimeConvert import TimeConvert as tc | 
| @@ -94,15 +93,10 @@ def wx_order_create_api(request): | ||
| 94 | 93 | elif trade_type == 'APP': | 
| 95 | 94 | wxpay_params = wxpay.order.get_appapi_params(prepay_id) | 
| 96 | 95 |  | 
| 97 | -    return JsonResponse({ | |
| 98 | - 'status': 200, | |
| 99 | - 'message': 'Order Create Success', | |
| 100 | - 'description': u'订单创建成功', | |
| 101 | -        'data': { | |
| 102 | - 'order_id': order.order_id, | |
| 103 | - 'prepay_id': prepay_id, | |
| 104 | - 'wxpay_params': wxpay_params, | |
| 105 | - } | |
| 96 | +    return response(200, 'Order Create Success', u'订单创建成功', { | |
| 97 | + 'order_id': order.order_id, | |
| 98 | + 'prepay_id': prepay_id, | |
| 99 | + 'wxpay_params': wxpay_params, | |
| 106 | 100 | }) | 
| 107 | 101 |  | 
| 108 | 102 |  | 
| @@ -191,14 +185,7 @@ def wx_order_query_api(request): | ||
| 191 | 185 | return response(OrderStatusCode.WX_ORDER_NOT_FOUND) | 
| 192 | 186 |  | 
| 193 | 187 | if order.pay_status == OrderInfo.PAID: | 
| 194 | -        return JsonResponse({ | |
| 195 | - 'status': 200, | |
| 196 | - 'message': 'Order Pay Success', | |
| 197 | - 'description': u'订单支付成功', | |
| 198 | -            'data': { | |
| 199 | - | |
| 200 | - } | |
| 201 | - }) | |
| 188 | + return response(200, 'Order Pay Success', u'订单支付成功') | |
| 202 | 189 | elif order.pay_status == OrderInfo.FAIL: | 
| 203 | 190 | return response(OrderStatusCode.WX_ORDER_PAY_FAIL) | 
| 204 | 191 |  | 
| @@ -218,14 +205,7 @@ def wx_order_query_api(request): | ||
| 218 | 205 | # 订单状态判断更新 | 
| 219 | 206 | if trade_state == 'SUCCESS': # 订单支付成功 | 
| 220 | 207 | order_paid_success(order) | 
| 221 | -        return JsonResponse({ | |
| 222 | - 'status': 200, | |
| 223 | - 'message': 'Order Pay Success', | |
| 224 | - 'description': u'订单支付成功', | |
| 225 | -            'data': { | |
| 226 | - | |
| 227 | - } | |
| 228 | - }) | |
| 208 | + return response(200, 'Order Pay Success', u'订单支付成功') | |
| 229 | 209 | elif trade_state == 'NOTPAY': # 订单未支付 | 
| 230 | 210 | return response(OrderStatusCode.WX_ORDER_NOT_PAY) | 
| 231 | 211 | elif trade_state == 'USERPAYING': # 订单支付中 | 
| @@ -251,13 +231,9 @@ def wx_order_list_api(request): | ||
| 251 | 231 | orders, left = pagination(orders, page, num) | 
| 252 | 232 | orders = [order.data(user_id) for order in orders] | 
| 253 | 233 |  | 
| 254 | -    return JsonResponse({ | |
| 255 | - 'status': 200, | |
| 256 | - 'message': u'获取订单列表成功', | |
| 257 | -        'data': { | |
| 258 | - 'orders': orders, | |
| 259 | - 'left': left, | |
| 260 | - }, | |
| 234 | +    return response(200, 'Get Order List Success', u'获取订单列表成功', { | |
| 235 | + 'orders': orders, | |
| 236 | + 'left': left, | |
| 261 | 237 | }) | 
| 262 | 238 |  | 
| 263 | 239 |  | 
| @@ -280,13 +256,7 @@ def wx_order_detail_api(request): | ||
| 280 | 256 | if user_id not in [order.from_uid, order.to_lid, order.to_uid]: | 
| 281 | 257 | return response(OrderStatusCode.NO_DETAIL_PERMISSION) | 
| 282 | 258 |  | 
| 283 | -    return JsonResponse({ | |
| 284 | - 'status': 200, | |
| 285 | - 'message': u'获取订单详情成功', | |
| 286 | -        'data': { | |
| 287 | - 'order': order.data(user_id), | |
| 288 | - }, | |
| 289 | - }) | |
| 259 | + return response(200, 'Get Order Detail Success', u'获取订单详情成功') | |
| 290 | 260 |  | 
| 291 | 261 |  | 
| 292 | 262 | @logit | 
| @@ -7,8 +7,8 @@ from curtail_uuid import CurtailUUID | ||
| 7 | 7 | from django.conf import settings | 
| 8 | 8 | from django.core.files.storage import default_storage | 
| 9 | 9 | from django.db import transaction | 
| 10 | -from django.http import JsonResponse | |
| 11 | 10 | from django.shortcuts import render | 
| 11 | +from logit import logit | |
| 12 | 12 | from rest_framework import viewsets | 
| 13 | 13 | from TimeConvert import TimeConvert as tc | 
| 14 | 14 |  | 
| @@ -16,7 +16,7 @@ from account.models import LensmanInfo, UserInfo | ||
| 16 | 16 | from group.models import GroupInfo, GroupPhotoInfo, GroupUserInfo | 
| 17 | 17 | from photo.models import PhotosInfo, UUIDInfo | 
| 18 | 18 | from photo.serializers import PhotosInfoSerializer | 
| 19 | -from utils.error.errno_utils import PhotoStatusCode | |
| 19 | +from utils.error.errno_utils import LensmanStatusCode, PhotoStatusCode | |
| 20 | 20 | from utils.error.response_utils import response | 
| 21 | 21 | from utils.ip_utils import ip_addr | 
| 22 | 22 | from utils.redis.rgroup import get_group_info, get_group_users_info, set_group_info, set_group_users_info | 
| @@ -28,6 +28,7 @@ from utils.watermark_utils import watermark_wrap | ||
| 28 | 28 | r = settings.REDIS_CACHE | 
| 29 | 29 |  | 
| 30 | 30 |  | 
| 31 | +@logit | |
| 31 | 32 | def uuid_init(request): | 
| 32 | 33 | """ | 
| 33 | 34 | 生成唯一标识 | 
| @@ -39,14 +40,11 @@ def uuid_init(request): | ||
| 39 | 40 | for i in xrange(num): | 
| 40 | 41 | UUIDInfo.objects.create(uuid=CurtailUUID.uuid(UUIDInfo)) | 
| 41 | 42 |  | 
| 42 | -    return JsonResponse({ | |
| 43 | - 'status': 200, | |
| 44 | - 'message': u'UUID 更新成功', | |
| 45 | - 'data': '', | |
| 46 | - }) | |
| 43 | + return response(200, 'UUID Refresh Success', u'UUID 更新成功') | |
| 47 | 44 |  | 
| 48 | 45 |  | 
| 49 | 46 | # curl -X POST -F user_id=xxxxxxx -F num=100 http://api.pai.ai/uuid | 
| 47 | +@logit | |
| 50 | 48 | @transaction.atomic | 
| 51 | 49 | def uuid(request): | 
| 52 | 50 | """ | 
| @@ -63,11 +61,7 @@ def uuid(request): | ||
| 63 | 61 | uuid.status = False | 
| 64 | 62 | uuid.save() | 
| 65 | 63 |  | 
| 66 | -    return JsonResponse({ | |
| 67 | - 'status': 200, | |
| 68 | - 'message': u'获取唯一标识成功', | |
| 69 | - 'data': [uuid.uuid for uuid in uuids], | |
| 70 | - }) | |
| 64 | + return response(200, 'Get UUID Success', u'获取唯一标识成功', [uuid.uuid for uuid in uuids]) | |
| 71 | 65 |  | 
| 72 | 66 |  | 
| 73 | 67 | # [How to do a PUT request with curl?](http://stackoverflow.com/questions/13782198/how-to-do-a-put-request-with-curl) | 
| @@ -82,6 +76,7 @@ def uuid(request): | ||
| 82 | 76 | # while the < makes a text field and just get the contents for that text field from a file. | 
| 83 | 77 | # | 
| 84 | 78 | # curl -X POST -F user_id=xxxxxxx -F session_id=xxxxxxx -F photo_id=xxxxxxx -F photo=@xxxxxxx.jpg http://api.pai.ai/photos/upload | 
| 79 | +@logit | |
| 85 | 80 | def upload_photo(request): | 
| 86 | 81 | """ | 
| 87 | 82 | 上传图片 | 
| @@ -100,10 +95,7 @@ def upload_photo(request): | ||
| 100 | 95 | try: | 
| 101 | 96 | LensmanInfo.objects.get(lensman_id=lensman_id) | 
| 102 | 97 | except LensmanInfo.DoesNotExist: | 
| 103 | -        return JsonResponse({ | |
| 104 | - 'status': 4000, | |
| 105 | - 'message': u'摄影师不存在', | |
| 106 | - }) | |
| 98 | + return response(LensmanStatusCode.LENSMAN_NOT_FOUND) | |
| 107 | 99 |  | 
| 108 | 100 | # photo_id = curtailUUID(PhotosInfo, 'photo_id') | 
| 109 | 101 |  | 
| @@ -131,13 +123,10 @@ def upload_photo(request): | ||
| 131 | 123 | m_photo_path=m_photo_path, | 
| 132 | 124 | ) | 
| 133 | 125 |  | 
| 134 | -    return JsonResponse({ | |
| 135 | - 'status': 200, | |
| 136 | - 'message': u'照片上传成功', | |
| 137 | - 'data': photo.data, | |
| 138 | - }) | |
| 126 | + return response(200, 'Photo Upload Success', u'照片上传成功', photo.data) | |
| 139 | 127 |  | 
| 140 | 128 |  | 
| 129 | +@logit | |
| 141 | 130 | def session_join_api(request): | 
| 142 | 131 | """ | 
| 143 | 132 | Session 详情 | 
| @@ -247,51 +236,49 @@ def session_join_api(request): | ||
| 247 | 236 | ) | 
| 248 | 237 | latest_photo = group_photos.first() | 
| 249 | 238 |  | 
| 250 | -    return JsonResponse({ | |
| 251 | - 'status': 200, | |
| 252 | - 'message': u'申请成功', | |
| 253 | -        'data': { | |
| 254 | - 'current_id': latest_photo and latest_photo.pk or current_id, | |
| 255 | - 'photos': [photo.photo_info(user_id) for photo in group_photos], | |
| 256 | - 'group_id': group_id, | |
| 257 | - 'group': group_info, | |
| 258 | - 'user_id': user_id, | |
| 259 | - 'users': group_users, | |
| 260 | - } | |
| 239 | +    return response(200, 'Apply Success', u'申请成功', { | |
| 240 | + 'current_id': latest_photo and latest_photo.pk or current_id, | |
| 241 | + 'photos': [photo.photo_info(user_id) for photo in group_photos], | |
| 242 | + 'group_id': group_id, | |
| 243 | + 'group': group_info, | |
| 244 | + 'user_id': user_id, | |
| 245 | + 'users': group_users, | |
| 261 | 246 | }) | 
| 262 | 247 |  | 
| 263 | 248 |  | 
| 249 | +@logit | |
| 264 | 250 | def session_detail(request, session_id): | 
| 265 | 251 | photos = PhotosInfo.objects.filter(session_id=session_id) | 
| 266 | 252 |      return render(request, 'photo/session_detail.html', {'photos': photos}) | 
| 267 | 253 |  | 
| 268 | 254 |  | 
| 255 | +@logit | |
| 269 | 256 | def photo_standard(request, photo_id): | 
| 270 | 257 | photo = PhotosInfo.objects.get(photo_id=photo_id) | 
| 271 | 258 |      return render(request, 'photo/photo_detail.html', {'photo_url': photo.p_photo_url}) | 
| 272 | 259 |  | 
| 273 | 260 |  | 
| 261 | +@logit | |
| 274 | 262 | def photo_standard_api(request, photo_id): | 
| 275 | 263 | photo = PhotosInfo.objects.get(photo_id=photo_id) | 
| 276 | -    return JsonResponse({ | |
| 277 | - 'status': 200, | |
| 278 | - 'message': u'获取照片详情成功', | |
| 279 | -        'data': { | |
| 280 | - 'photo': photo.detail, | |
| 281 | - } | |
| 264 | +    return response(200, 'Get Photo Detail Success', u'获取照片详情成功', { | |
| 265 | + 'photo': photo.detail, | |
| 282 | 266 | }) | 
| 283 | 267 |  | 
| 284 | 268 |  | 
| 269 | +@logit | |
| 285 | 270 | def photo_medium(request, photo_id): | 
| 286 | 271 | photo = PhotosInfo.objects.get(photo_id=photo_id) | 
| 287 | 272 |      return render(request, 'photo/photo_detail.html', {'photo_url': photo.m_photo_url}) | 
| 288 | 273 |  | 
| 289 | 274 |  | 
| 275 | +@logit | |
| 290 | 276 | def photo_large(request, photo_id): | 
| 291 | 277 | photo = PhotosInfo.objects.get(photo_id=photo_id) | 
| 292 | 278 |      return render(request, 'photo/photo_detail.html', {'photo_url': photo.l_photo_url}) | 
| 293 | 279 |  | 
| 294 | 280 |  | 
| 281 | +@logit | |
| 295 | 282 | def photo_raw(request, photo_id): | 
| 296 | 283 | photo = PhotosInfo.objects.get(photo_id=photo_id) | 
| 297 | 284 |      return render(request, 'photo/photo_detail.html', {'photo_url': photo.r_photo_url}) |