拍爱

views.py 2.2KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  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. @logit
  11. def upgrade_api(request):
  12. """
  13. APP 升级
  14. :param request:
  15. :return:
  16. """
  17. latest_app = get_latest_app()
  18. if request.iOS:
  19. appinfo = {
  20. 'latest_version_code': latest_app.get('latest_ios_version_code', ''),
  21. 'latest_version_name': latest_app.get('latest_ios_version_name', ''),
  22. 'latest_url': latest_app.get('latest_ios_url', ''),
  23. }
  24. else:
  25. appinfo = {
  26. 'latest_version_code': latest_app.get('latest_adr_version_code', ''),
  27. 'latest_version_name': latest_app.get('latest_adr_version_name', ''),
  28. 'latest_url': latest_app.get('latest_adr_url', ''),
  29. }
  30. return response(200, 'Get Latest App Success', u'获取最新版信息成功', {
  31. 'appinfo': appinfo,
  32. })
  33. @logit
  34. def splash_api(request):
  35. """
  36. 启动页面
  37. :param request:
  38. :return:
  39. """
  40. splashes = SplashInfo.objects.all()
  41. splashes = [splash.data for splash in splashes]
  42. return response(200, 'Get Splash Success', u'获取最新版信息成功', {
  43. 'splashes': splashes,
  44. })
  45. @logit
  46. def feedback_api(request):
  47. """
  48. 用户反馈
  49. :param request:
  50. :return:
  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. 下载接口
  66. :param request:
  67. :return:
  68. """
  69. if request.weixin:
  70. return redirect(settings.DOWNLOAD_WX_URL)
  71. if request.iOS:
  72. return redirect(settings.DOWNLOAD_IOS_URL)
  73. return redirect(get_latest_app().get('latest_adr_url', ''))