mirror of
https://github.com/GreaterWMS/GreaterWMS.git
synced 2026-06-19 07:36:00 +00:00
V 1.0
This commit is contained in:
@@ -10,7 +10,6 @@ BASE_DIR = Path(__file__).resolve().parent.parent
|
||||
|
||||
# SECURITY WARNING: keep the secret key used in production secret!
|
||||
from django.core.management.utils import get_random_secret_key
|
||||
get_random_secret_key()
|
||||
SECRET_KEY = get_random_secret_key()
|
||||
|
||||
# SECURITY WARNING: don't run with debug turned on in production!
|
||||
@@ -353,3 +352,5 @@ POST_THROTTLE = 500
|
||||
PUT_THROTTLE = 500
|
||||
PATCH_THROTTLE = 500
|
||||
DELETE_THROTTLE = 500
|
||||
|
||||
JWT_TIME = 60 * 60 * 24 * 365 * 20
|
||||
|
||||
@@ -3,6 +3,7 @@ from . import views
|
||||
|
||||
urlpatterns = [
|
||||
path(r'', views.ListViewSet.as_view({"get": "list", "post": "create"}), name="scanner"),
|
||||
path(r'query/', views.GetJwtViewSet.as_view({"post": "create"}), name="getbar"),
|
||||
path(r'list/<str:bar_code>/', views.SannerView.as_view({"get": "retrieve"})),
|
||||
path(r'sanerpicking/' , views.SannerDnDetailPickingListView.as_view({"get":"list"}),name="sanerpicking"),
|
||||
]
|
||||
|
||||
+44
-1
@@ -141,4 +141,47 @@ class SannerView(viewsets.ModelViewSet):
|
||||
def retrieve(self, request, *args, **kwargs):
|
||||
instance = self.get_object()
|
||||
serializer = self.get_serializer(instance)
|
||||
return Response(serializer.data)
|
||||
return Response(serializer.data)
|
||||
|
||||
|
||||
class GetJwtViewSet(viewsets.ModelViewSet):
|
||||
"""
|
||||
list:
|
||||
Response a data list(all)
|
||||
"""
|
||||
pagination_class = MyPageNumberPagination
|
||||
filter_backends = [DjangoFilterBackend, OrderingFilter, ]
|
||||
ordering_fields = ['id', "create_time", "update_time", ]
|
||||
filter_class = Filter
|
||||
|
||||
def get_project(self):
|
||||
try:
|
||||
id = self.kwargs.get('pk')
|
||||
return id
|
||||
except:
|
||||
return None
|
||||
|
||||
def get_queryset(self):
|
||||
id = self.get_project()
|
||||
if self.request.user:
|
||||
if id is None:
|
||||
return ListModel.objects.filter(openid=self.request.auth.openid)
|
||||
else:
|
||||
return ListModel.objects.filter(openid=self.request.auth.openid, id=id)
|
||||
else:
|
||||
return ListModel.objects.none()
|
||||
|
||||
def get_serializer_class(self):
|
||||
if self.action in ['list']:
|
||||
return serializers.ListGetSerializer
|
||||
else:
|
||||
return self.http_method_not_allowed(request=self.request)
|
||||
|
||||
def create(self, request, *args, **kwargs):
|
||||
data = self.request.data
|
||||
code_data = data.get('code', '')
|
||||
if code_data:
|
||||
results = parse_payload(code_data)
|
||||
return Response(results)
|
||||
else:
|
||||
raise APIException({'detail': '请提供正确的二维码code'})
|
||||
+1
-1
@@ -1 +1 @@
|
||||
http://127.0.0.1:8008
|
||||
https://production.56yhz.com
|
||||
|
||||
@@ -1 +1 @@
|
||||
http://127.0.0.1:8008
|
||||
https://production.56yhz.com
|
||||
|
||||
+5
-5
@@ -11,7 +11,7 @@ def create_token(payload):
|
||||
"type": "jwt",
|
||||
"alg": "HS256"
|
||||
}
|
||||
payload['create_time'] = datetime.datetime.utcnow()
|
||||
payload['exp'] = datetime.datetime.utcnow() + datetime.timedelta(seconds=settings.JWT_TIME)
|
||||
result = jwt.encode(payload=payload, key=JWT_SALT, algorithm="HS256", headers=headers)
|
||||
return result
|
||||
|
||||
@@ -23,9 +23,9 @@ def parse_payload(token):
|
||||
result["status"] = True
|
||||
result['data'] = verified_payload
|
||||
except exceptions.ExpiredSignatureError:
|
||||
result['error'] = 'Token Expired'
|
||||
result['err'] = 'Token Expired'
|
||||
except jwt.DecodeError:
|
||||
result['error'] = 'Token Authentication Failed'
|
||||
result['err'] = 'Token Authentication Failed'
|
||||
except jwt.InvalidTokenError:
|
||||
result['error'] = 'Illegal Token'
|
||||
return result
|
||||
result['err'] = 'Illegal Token'
|
||||
return result
|
||||
Reference in New Issue
Block a user