|
# -*- coding: utf-8 -*-
from django.conf import settings
from django.shortcuts import redirect
from logit import logit
from account.models import UserInfo
from operation.models import FeedbackInfo, SplashInfo
from utils.error.errno_utils import UserStatusCode
from utils.error.response_utils import response
from utils.redis.rapp import get_latest_app
from utils.redis.rsettings import get_app_settings_info
@logit
def upgrade_api(request):
"""
APP 升级
:param request:
:return:
"""
src = int(request.POST.get('src', 0))
latest_app = get_latest_app(src)
if request.iOS:
appinfo = {
'latest_version_code': latest_app.get('latest_ios_version_code', ''),
'latest_version_name': latest_app.get('latest_ios_version_name', ''),
'latest_url': latest_app.get('latest_ios_url', ''),
}
else:
appinfo = {
'latest_version_code': latest_app.get('latest_adr_version_code', ''),
'latest_version_name': latest_app.get('latest_adr_version_name', ''),
'latest_url': latest_app.get('latest_adr_url', ''),
}
return response(200, 'Get Latest App Success', u'获取最新版信息成功', {
'appinfo': appinfo,
})
def online_api(request):
"""
是否上线
:param request:
:return:
"""
platform = request.REQUEST.get('platform', '')
channel = request.REQUEST.get('channel', '')
version = request.REQUEST.get('version', '')
app_settings = get_app_settings_info(platform, channel, version)
return response(200, 'Get Online Status Success', u'获取是否上线成功', {
'online': app_settings.get('online', True),
})
@logit
def splash_api(request):
"""
启动页面
:param request:
:return:
"""
src = int(request.POST.get('src', 0))
splashes = SplashInfo.objects.filter(src=src, status=True)
splashes = [splash.data for splash in splashes]
return response(200, 'Get Splash Success', u'获取最新版信息成功', {
'splashes': splashes,
})
@logit
def feedback_api(request):
"""
用户反馈
:param request:
:return:
"""
user_id = request.POST.get('user_id', '')
feedback = request.POST.get('feedback', '')
src = int(request.POST.get('src', 0))
if not UserInfo.objects.filter(user_id=user_id).exists():
return response(UserStatusCode.USER_NOT_FOUND)
FeedbackInfo.objects.create(
user_id=user_id,
feedback=feedback,
src=src,
)
return response(200, 'Feedback Success', u'反馈成功')
def download_api(request):
"""
下载接口
:param request:
:return:
"""
if request.weixin:
return redirect(settings.DOWNLOAD_WX_URL)
if request.iOS:
return redirect(settings.DOWNLOAD_IOS_URL)
return redirect(get_latest_app().get('latest_adr_url', ''))
|