拍爱

views.py 2.9KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  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. """
  14. APP 升级
  15. :param request:
  16. :return:
  17. """
  18. src = int(request.POST.get('src', 0))
  19. latest_app = get_latest_app(src)
  20. if request.iOS:
  21. appinfo = {
  22. 'latest_version_code': latest_app.get('latest_ios_version_code', ''),
  23. 'latest_version_name': latest_app.get('latest_ios_version_name', ''),
  24. 'latest_url': latest_app.get('latest_ios_url', ''),
  25. }
  26. else:
  27. appinfo = {
  28. 'latest_version_code': latest_app.get('latest_adr_version_code', ''),
  29. 'latest_version_name': latest_app.get('latest_adr_version_name', ''),
  30. 'latest_url': latest_app.get('latest_adr_url', ''),
  31. }
  32. return response(200, 'Get Latest App Success', u'获取最新版信息成功', {
  33. 'appinfo': appinfo,
  34. })
  35. def online_api(request):
  36. """
  37. 是否上线
  38. :param request:
  39. :return:
  40. """
  41. platform = request.REQUEST.get('platform', '')
  42. channel = request.REQUEST.get('channel', '')
  43. version = request.REQUEST.get('version', '')
  44. app_settings = get_app_settings_info(platform, channel, version)
  45. return response(200, 'Get Online Status Success', u'获取是否上线成功', {
  46. 'online': app_settings.get('online', True),
  47. })
  48. @logit
  49. def splash_api(request):
  50. """
  51. 启动页面
  52. :param request:
  53. :return:
  54. """
  55. src = int(request.POST.get('src', 0))
  56. splashes = SplashInfo.objects.filter(src=src, status=True)
  57. splashes = [splash.data for splash in splashes]
  58. return response(200, 'Get Splash Success', u'获取最新版信息成功', {
  59. 'splashes': splashes,
  60. })
  61. @logit
  62. def feedback_api(request):
  63. """
  64. 用户反馈
  65. :param request:
  66. :return:
  67. """
  68. user_id = request.POST.get('user_id', '')
  69. feedback = request.POST.get('feedback', '')
  70. src = int(request.POST.get('src', 0))
  71. if not UserInfo.objects.filter(user_id=user_id).exists():
  72. return response(UserStatusCode.USER_NOT_FOUND)
  73. FeedbackInfo.objects.create(
  74. user_id=user_id,
  75. feedback=feedback,
  76. src=src,
  77. )
  78. return response(200, 'Feedback Success', u'反馈成功')
  79. def download_api(request):
  80. """
  81. 下载接口
  82. :param request:
  83. :return:
  84. """
  85. if request.weixin:
  86. return redirect(settings.DOWNLOAD_WX_URL)
  87. if request.iOS:
  88. return redirect(settings.DOWNLOAD_IOS_URL)
  89. return redirect(get_latest_app().get('latest_adr_url', ''))