拍爱

views.py 2.7KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. # -*- coding: utf-8 -*-
  2. from django.conf import settings
  3. from django.shortcuts import redirect
  4. from logit import logit
  5. from account.models import UserInfo
  6. from operation.models import FeedbackInfo, SplashInfo
  7. from utils.error.errno_utils import UserStatusCode
  8. from utils.error.response_utils import response
  9. from utils.redis.rapp import get_latest_app
  10. from utils.redis.rsettings import get_app_settings_info
  11. @logit
  12. def upgrade_api(request):
  13. """ APP 升级 """
  14. src = int(request.POST.get('src', 0))
  15. latest_app = get_latest_app(src)
  16. if request.iOS:
  17. appinfo = {
  18. 'latest_version_code': latest_app.get('latest_ios_version_code', ''),
  19. 'latest_version_name': latest_app.get('latest_ios_version_name', ''),
  20. 'latest_url': latest_app.get('latest_ios_url', ''),
  21. }
  22. else:
  23. appinfo = {
  24. 'latest_version_code': latest_app.get('latest_adr_version_code', ''),
  25. 'latest_version_name': latest_app.get('latest_adr_version_name', ''),
  26. 'latest_url': latest_app.get('latest_adr_url', ''),
  27. }
  28. return response(200, 'Get Latest App Success', u'获取最新版信息成功', {
  29. 'appinfo': appinfo,
  30. })
  31. def online_api(request):
  32. """ 是否上线 """
  33. platform = request.REQUEST.get('platform', '')
  34. channel = request.REQUEST.get('channel', '')
  35. version = request.REQUEST.get('version', '')
  36. app_settings = get_app_settings_info(platform, channel, version)
  37. return response(200, 'Get Online Status Success', u'获取是否上线成功', {
  38. 'online': app_settings.get('online', True),
  39. })
  40. @logit
  41. def splash_api(request):
  42. """ 启动页面 """
  43. src = int(request.POST.get('src', 0))
  44. splashes = SplashInfo.objects.filter(src=src, status=True)
  45. splashes = [splash.data for splash in splashes]
  46. return response(200, 'Get Splash Success', u'获取最新版信息成功', {
  47. 'splashes': splashes,
  48. })
  49. @logit
  50. def feedback_api(request):
  51. """ 用户反馈 """
  52. user_id = request.POST.get('user_id', '')
  53. feedback = request.POST.get('feedback', '')
  54. src = int(request.POST.get('src', 0))
  55. if not UserInfo.objects.filter(user_id=user_id).exists():
  56. return response(UserStatusCode.USER_NOT_FOUND)
  57. FeedbackInfo.objects.create(
  58. user_id=user_id,
  59. feedback=feedback,
  60. src=src,
  61. )
  62. return response(200, 'Feedback Success', u'反馈成功')
  63. def download_api(request):
  64. """ 下载接口 """
  65. if request.weixin:
  66. return redirect(settings.DOWNLOAD_WX_URL)
  67. if request.iOS:
  68. return redirect(settings.DOWNLOAD_IOS_URL)
  69. return redirect(get_latest_app().get('latest_adr_url', ''))