1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- #!/usr/bin/env python3
- # -*- coding: utf-8 -*-
- """
- @Copyright (C) ansjer cop Video Technology Co.,Ltd.All rights reserved.
- @AUTHOR: ASJRD018
- @NAME: langer
- @software: PyCharm
- @DATE: 2019/6/3 17:29
- @Version: python3.6
- @MODIFY DECORD:ansjer dev
- @file: User.py
- @Contact: chanjunkai@163.com
- """
- import json
- from django.http import HttpResponse
- from django.views.generic import TemplateView
- from django.views.decorators.csrf import csrf_exempt
- from django.utils.decorators import method_decorator
- from object.ResponseObject import ResponseObject
- from django.contrib.auth.hashers import make_password, check_password
- from model.models import UserModel
- import time
- from object.TokenObject import TokenObject
- # http://127.0.0.1:8000/user/register?username=admin&password=admin
- class registerView(TemplateView):
- def post(self, request, *args, **kwargs):
- request.encoding = 'utf-8'
- request_dict = json.loads(request.body.decode('utf-8'))
- return self.validate(request_dict)
- def get(self, request, *args, **kwargs):
- request.encoding = 'utf-8'
- request_dict = request.GET
- return self.validate(request_dict)
- def validate(self, request_dict):
- response = ResponseObject()
- username = request_dict.get('username', None)
- password = request_dict.get('password', None)
- if username and password:
- pwd = make_password(password)
- nowTime = int(time.time())
- create_dict = {
- 'username': username,
- 'password': make_password(password),
- 'addTime': nowTime,
- 'updTime': nowTime}
- try:
- UserModel.objects.create(**create_dict)
- except Exception as e:
- return response.json(0, repr(e))
- else:
- return response.json(0)
- else:
- return response.json(444)
- # http://127.0.0.1:8000/user/login?username=admin&password=admin
- class loginView(TemplateView):
- def post(self, request, *args, **kwargs):
- request.encoding = 'utf-8'
- request_dict = json.loads(request.body.decode('utf-8'))
- return self.validate(request_dict)
- def get(self, request, *args, **kwargs):
- request.encoding = 'utf-8'
- request_dict = request.GET
- return self.validate(request_dict)
- def validate(self, request_dict):
- response = ResponseObject()
- username = request_dict.get('username', None)
- password = request_dict.get('password', None)
- if username and password:
- user_qs = UserModel.objects.filter(username=username)
- if check_password(password, user_qs[0].password):
- tko = TokenObject()
- res = tko.generate({'userID': user_qs[0].id})
- return response.json(0,res)
- else:
- return response.json(401)
- else:
- return response.json(444)
|