|
@@ -14,7 +14,7 @@ from django.views.generic.base import View
|
|
|
|
|
|
import Ansjer
|
|
|
from Ansjer.config import BASE_DIR, SERVER_TYPE, SERVER_DOMAIN, SERVER_DOMAIN_SSL
|
|
|
-from Model.models import FAQModel
|
|
|
+from Model.models import FAQModel, HelpLink
|
|
|
from Object.RedisObject import RedisObject
|
|
|
from Object.ResponseObject import ResponseObject
|
|
|
from Object.TokenObject import TokenObject
|
|
@@ -389,3 +389,59 @@ class FAQView(View):
|
|
|
'content': json.dumps(data).replace("\'", "\"").replace("XX??????XX", "\'")
|
|
|
})
|
|
|
return response.json(0)
|
|
|
+
|
|
|
+class HelpLinkView(View):
|
|
|
+ def get(self, request, *args, **kwargs):
|
|
|
+ request.encoding = 'utf-8'
|
|
|
+ operation = kwargs.get('operation')
|
|
|
+ return self.validation(request.GET, request, operation)
|
|
|
+
|
|
|
+ def post(self, request, *args, **kwargs):
|
|
|
+ request.encoding = 'utf-8'
|
|
|
+ operation = kwargs.get('operation')
|
|
|
+ return self.validation(request.POST, request, operation)
|
|
|
+
|
|
|
+ def validation(self, request_dict, request, operation):
|
|
|
+ response = ResponseObject('en')
|
|
|
+ tko = TokenObject(request.META.get('HTTP_AUTHORIZATION'))
|
|
|
+ if tko.code != 0:
|
|
|
+ return response.json(tko.code)
|
|
|
+ response.lang = tko.lang
|
|
|
+ userID = tko.userID
|
|
|
+ if operation == 'queryFAQByDeviceType': # 获取电池电量列表
|
|
|
+ return HelpLinkView.query_faq_by_device_type(request, request_dict, response)
|
|
|
+ else:
|
|
|
+ return response.json(414)
|
|
|
+
|
|
|
+ @staticmethod
|
|
|
+ def query_faq_by_device_type(request, request_dict, response):
|
|
|
+ """根据设备类型和语言查询帮助链接"""
|
|
|
+ device_type = request_dict.get('device_type')
|
|
|
+ lang = request_dict.get('lang')
|
|
|
+
|
|
|
+ if not device_type or not lang:
|
|
|
+ return response.json(444, {'message': 'device_type和lang参数不能为空'})
|
|
|
+
|
|
|
+ try:
|
|
|
+ # 查询匹配的帮助链接
|
|
|
+ help_link = HelpLink.objects.filter(
|
|
|
+ device_type=device_type,
|
|
|
+ lang=lang,
|
|
|
+ is_active=True
|
|
|
+ ).first()
|
|
|
+
|
|
|
+ if not help_link:
|
|
|
+ return response.json(173)
|
|
|
+
|
|
|
+ # 构建返回数据
|
|
|
+ data = {
|
|
|
+ 'url': help_link.url,
|
|
|
+ 'title': help_link.title,
|
|
|
+ 'description': help_link.description
|
|
|
+ }
|
|
|
+
|
|
|
+ return response.json(0, data)
|
|
|
+
|
|
|
+ except Exception as e:
|
|
|
+ print(f"查询帮助链接出错: {str(e)}")
|
|
|
+ return response.json(500, {'message': '服务器内部错误'})
|