diff --git a/test_mini/pages/collect/main.wxml b/test_mini/pages/collect/main.wxml
index 69f8d35..759708b 100644
--- a/test_mini/pages/collect/main.wxml
+++ b/test_mini/pages/collect/main.wxml
@@ -45,7 +45,7 @@
正确答案是{{tm_current.right}},你的答案是{{tm_current.user_answer}}
解析:
- {{tm_current.resoluation}}
+ {{tm_current.resolution}}
无
diff --git a/test_mini/pages/cuoti/index.wxml b/test_mini/pages/cuoti/index.wxml
index 3f5b0e2..40d6748 100644
--- a/test_mini/pages/cuoti/index.wxml
+++ b/test_mini/pages/cuoti/index.wxml
@@ -45,7 +45,7 @@
正确答案是{{currentTm.right}},你的答案是{{currentTm.user_answer}}
解析:
- {{currentTm.resoluation}}
+ {{currentTm.resolution}}
无
diff --git a/test_mini/pages/lianxi/main.wxml b/test_mini/pages/lianxi/main.wxml
index f1caa53..e30667f 100644
--- a/test_mini/pages/lianxi/main.wxml
+++ b/test_mini/pages/lianxi/main.wxml
@@ -41,7 +41,7 @@
正确答案是{{tm_current.right}},你的答案是{{tm_current.user_answer}}
解析:
- {{tm_current.resoluation}}
+ {{tm_current.resolution}}
无
diff --git a/test_mini/pages/test/detail.wxml b/test_mini/pages/test/detail.wxml
index 83dd76b..869b807 100644
--- a/test_mini/pages/test/detail.wxml
+++ b/test_mini/pages/test/detail.wxml
@@ -41,7 +41,7 @@
正确答案是{{tm_current.question.right}},你的答案是{{tm_current.user_answer}}
解析:
- {{tm_current.question.resoluation}}
+ {{tm_current.question.resolution}}
无
diff --git a/test_server/crm/permission.py b/test_server/crm/permission.py
new file mode 100644
index 0000000..69a8e61
--- /dev/null
+++ b/test_server/crm/permission.py
@@ -0,0 +1,6 @@
+from rest_framework.permissions import IsAuthenticated
+
+
+class IsConsumerAuthenticated(IsAuthenticated):
+ def has_permission(self, request, view):
+ return bool(request.user)
\ No newline at end of file
diff --git a/test_server/crm/views.py b/test_server/crm/views.py
index 35ab9fd..56c39e4 100644
--- a/test_server/crm/views.py
+++ b/test_server/crm/views.py
@@ -9,6 +9,7 @@ from rest_framework import status
from django_filters.rest_framework import DjangoFilterBackend
from openpyxl import Workbook, load_workbook
import requests
+from rest_framework_jwt.authentication import JSONWebTokenAuthentication
from rest_framework_jwt.serializers import jwt_encode_handler
import json
import random
@@ -22,6 +23,7 @@ import warnings
from utils.custom import CommonPagination
from rbac.permission import RbacPermission
from crm.authentication import ConsumerTokenAuthentication
+from crm.permission import IsConsumerAuthenticated
from .models import Company, Consumer, PaySubject, SendCode
from .serializers import CompanySerializer, ConsumerSerializer
from question.serializers import QuestionSerializer
@@ -129,7 +131,7 @@ class ConsumerViewSet(ModelViewSet):
PaySubject.objects.get_or_create(consumer = instance, subject__id=i, defaults={'consumer':instance,'subject':Questioncat.objects.get(id=i)})
return Response(serializer.data)
- @action(methods=['get'], detail=False, permission_classes=[], authentication_classes=[ConsumerTokenAuthentication],
+ @action(methods=['get'], detail=False, permission_classes=[IsConsumerAuthenticated], authentication_classes=[ConsumerTokenAuthentication],
url_path='subjectpaid', url_name='subject_paid')
def has_paid(self, request):
"""
@@ -156,7 +158,7 @@ class ConsumerViewSet(ModelViewSet):
else:
return Response({'error':result['data']})
- @action(methods=['post','delete','get'], detail=False, permission_classes=[], authentication_classes=[ConsumerTokenAuthentication],
+ @action(methods=['post','delete','get'], detail=False, permission_classes=[IsConsumerAuthenticated], authentication_classes=[ConsumerTokenAuthentication],
url_path='collects', url_name='create_collects')
def collects(self, request):
'''
diff --git a/test_server/server/settings.py b/test_server/server/settings.py
index 149c0c2..e8c9430 100644
--- a/test_server/server/settings.py
+++ b/test_server/server/settings.py
@@ -141,6 +141,7 @@ STATIC_ROOT = os.path.join(BASE_DIR,'static')
REST_FRAMEWORK = {
'DEFAULT_AUTHENTICATION_CLASSES': [
'rest_framework_jwt.authentication.JSONWebTokenAuthentication',
+ 'rest_framework.authentication.BasicAuthentication',
],
'DEFAULT_PERMISSION_CLASSES':[
'rest_framework.permissions.IsAuthenticated',
@@ -150,6 +151,8 @@ REST_FRAMEWORK = {
'DEFAULT_FILTER_BACKENDS': ['django_filters.rest_framework.DjangoFilterBackend'],
# 指定用于支持coreapi的Schema
'DEFAULT_SCHEMA_CLASS': 'rest_framework.schemas.coreapi.AutoSchema',
+ 'UNAUTHENTICATED_USER': None,
+ 'UNAUTHENTICATED_TOKEN': None,
}
JWT_AUTH = {
diff --git a/test_server/utils/custom.py b/test_server/utils/custom.py
index 56c4d74..f7982c8 100644
--- a/test_server/utils/custom.py
+++ b/test_server/utils/custom.py
@@ -21,55 +21,55 @@ class CommonPagination(PageNumberPagination):
"""
page_size = 10
page_size_query_param = 'limit'
- def paginate_queryset(self, queryset, request, view=None):
- """
- 重写该方法,确保post请求也可分页
- """
- page_size = self.get_page_size(request)
- if not page_size:
- return None
+ # def paginate_queryset(self, queryset, request, view=None):
+ # """
+ # 重写该方法,确保post请求也可分页
+ # """
+ # page_size = self.get_page_size(request)
+ # if not page_size:
+ # return None
- paginator = self.django_paginator_class(queryset, page_size)
- if self.page_query_param in request.query_params:
- page_number = request.query_params.get(self.page_query_param)
- elif self.page_query_param in request.data:
- page_number = request.data.get(self.page_query_param)
- else:
- page_number = 1
- if page_number in self.last_page_strings:
- page_number = paginator.num_pages
+ # paginator = self.django_paginator_class(queryset, page_size)
+ # if self.page_query_param in request.query_params:
+ # page_number = request.query_params.get(self.page_query_param)
+ # elif self.page_query_param in request.data:
+ # page_number = request.data.get(self.page_query_param)
+ # else:
+ # page_number = 1
+ # if page_number in self.last_page_strings:
+ # page_number = paginator.num_pages
- try:
- self.page = paginator.page(page_number)
- except InvalidPage as exc:
- msg = self.invalid_page_message.format(
- page_number=page_number, message=str(exc)
- )
- raise NotFound(msg)
+ # try:
+ # self.page = paginator.page(page_number)
+ # except InvalidPage as exc:
+ # msg = self.invalid_page_message.format(
+ # page_number=page_number, message=str(exc)
+ # )
+ # raise NotFound(msg)
- if paginator.num_pages > 1 and self.template is not None:
- # The browsable API should display pagination controls.
- self.display_page_controls = True
+ # if paginator.num_pages > 1 and self.template is not None:
+ # # The browsable API should display pagination controls.
+ # self.display_page_controls = True
- self.request = request
- return list(self.page)
+ # self.request = request
+ # return list(self.page)
- def get_page_size(self, request):
- if self.page_size_query_param:
- try:
- if self.page_size_query_param in request.query_params:
- page_size = request.query_params.get(self.page_size_query_param)
- else:
- page_size = request.data.get(self.page_size_query_param)
- return _positive_int(
- page_size,
- strict=True,
- cutoff=self.max_page_size
- )
- except (KeyError, ValueError):
- pass
+ # def get_page_size(self, request):
+ # if self.page_size_query_param:
+ # try:
+ # if self.page_size_query_param in request.query_params:
+ # page_size = request.query_params.get(self.page_size_query_param)
+ # else:
+ # page_size = request.data.get(self.page_size_query_param)
+ # return _positive_int(
+ # page_size,
+ # strict=True,
+ # cutoff=self.max_page_size
+ # )
+ # except (KeyError, ValueError):
+ # pass
- return self.page_size
+ # return self.page_size
class TreeSerializer(serializers.Serializer):