|
@@ -1,49 +1,66 @@
|
|
|
# -*-coding:utf-8 -*-
|
|
|
import json
|
|
|
import time
|
|
|
-from django.shortcuts import render
|
|
|
-from django.http import HttpResponse
|
|
|
-from django.core.serializers.json import DjangoJSONEncoder
|
|
|
+import traceback
|
|
|
+# from django.shortcuts import render
|
|
|
+# from django.http import HttpResponse
|
|
|
+# from django.core.serializers.json import DjangoJSONEncoder
|
|
|
from django.contrib.auth.hashers import make_password, check_password
|
|
|
from django.views.decorators.csrf import csrf_exempt
|
|
|
from models import *
|
|
|
|
|
|
-def JsonResponse(data):
|
|
|
- response = HttpResponse(json.dumps(data, cls=DjangoJSONEncoder),
|
|
|
- content_type="application/json")
|
|
|
- response['Access-Control-Allow-Origin'] = '*'
|
|
|
- return response
|
|
|
-
|
|
|
-def params(func):
|
|
|
- def _wrapper(*args, **kargs):
|
|
|
- request = args[0]
|
|
|
- if request.method == "GET":
|
|
|
- request.PARAMS = request.GET
|
|
|
- elif request.method == "POST" or request.method == "DELETE":
|
|
|
- if request.META.get('CONTENT_TYPE') == "application/json":
|
|
|
- request.PARAMS = json.loads(request.body) if request.body else {}
|
|
|
- else:
|
|
|
- request.PARAMS = request.POST
|
|
|
- elif request.method == "OPTIONS":
|
|
|
- return JsonResponse({"code": 0, "msg": "success"})
|
|
|
- else:
|
|
|
- request.PARAMS = {}
|
|
|
- return func(*args, **kargs)
|
|
|
+from common.common import (get_user_from_request, login_required,
|
|
|
+ params,JsonResponse)
|
|
|
|
|
|
- return _wrapper
|
|
|
|
|
|
|
|
|
+# @login_required
|
|
|
+@csrf_exempt
|
|
|
+@params
|
|
|
def user_manage(request):
|
|
|
- user = request.session.get("user", None)
|
|
|
+ """
|
|
|
+ 用户管理
|
|
|
+ :param request:
|
|
|
+ :return: userdata list
|
|
|
+
|
|
|
+ """
|
|
|
+ # user = request.session.get("user", None)
|
|
|
+ data = request.PARAMS
|
|
|
+ search_name = data.get("search_name", None)
|
|
|
+ search_name = "ton"
|
|
|
+ print("search_name",search_name)
|
|
|
+ if search_name:
|
|
|
+ user_data = Users.objects.filter(username__icontains=search_name)
|
|
|
+ else:
|
|
|
+ user_data = Users.objects.all()
|
|
|
+
|
|
|
+ print("user_manage111",user_data)
|
|
|
+ data =[]
|
|
|
+ if user_data:
|
|
|
+ for list_data in user_data:
|
|
|
+ dict_data = {}
|
|
|
+ dict_data["uid"] = list_data.id
|
|
|
+ dict_data["username"] = list_data.username
|
|
|
+ dict_data["realname"] = list_data.real_name
|
|
|
+ dict_data["status"] = list_data.status
|
|
|
+ dict_data["permission"] = list_data.permission
|
|
|
+ data.append(dict_data)
|
|
|
+ res = {"code": 0, "msg": "get data success", "user_data": data}
|
|
|
+
|
|
|
+ else:
|
|
|
+ res = {"code": -1, "msg": "get no data!"}
|
|
|
|
|
|
+ print(res)
|
|
|
+ return JsonResponse(res)
|
|
|
|
|
|
+# @login_required
|
|
|
@csrf_exempt
|
|
|
@params
|
|
|
-def signup(request):
|
|
|
+def adduser(request):
|
|
|
"""
|
|
|
- 用户注册
|
|
|
+ 添加用户
|
|
|
:param request:
|
|
|
- :return: user
|
|
|
+ :return: True/False
|
|
|
"""
|
|
|
req_params = request.PARAMS
|
|
|
if req_params:
|
|
@@ -53,7 +70,8 @@ def signup(request):
|
|
|
"pbkdf2_sha256")
|
|
|
status = req_params.get("status")
|
|
|
permission = req_params.get("permission")
|
|
|
-
|
|
|
+ real_name = req_params.get("real_name",None)
|
|
|
+ print("adduser---real_name",real_name)
|
|
|
print(username,password,status,permission)
|
|
|
|
|
|
obj, created = Users.objects.get_or_create(username=username)
|
|
@@ -62,6 +80,7 @@ def signup(request):
|
|
|
else:
|
|
|
# 保存其他信息
|
|
|
obj.username = username
|
|
|
+ obj.real_name = real_name
|
|
|
obj.password = password
|
|
|
obj.status = status
|
|
|
obj.permission = permission
|
|
@@ -84,13 +103,13 @@ def login(request):
|
|
|
:return: True / False
|
|
|
"""
|
|
|
data = request.PARAMS
|
|
|
- username = data.get("username", None)
|
|
|
- passwd = data.get("password", None)
|
|
|
-
|
|
|
|
|
|
if not data:
|
|
|
return JsonResponse({"code": -1, "msg": u"参数不完整"})
|
|
|
|
|
|
+ username = data.get("username", None)
|
|
|
+ passwd = data.get("password", None)
|
|
|
+
|
|
|
# 获取user的password
|
|
|
try:
|
|
|
user = Users.objects.get(username=username)
|
|
@@ -101,13 +120,14 @@ def login(request):
|
|
|
check_res = check_password(passwd, user.password)
|
|
|
|
|
|
print("***********")
|
|
|
- print(passwd)
|
|
|
- print(user.password)
|
|
|
+ print(username)
|
|
|
+ print(user.username)
|
|
|
print(check_res)
|
|
|
if check_res:
|
|
|
- user_info = {"uid": user.id, "username": user.username,
|
|
|
+ user_info = {"uid": user.id, "username": user.username,"realname": user.real_name,
|
|
|
"status": user.status, "permission": user.permission,}
|
|
|
|
|
|
+ print("user_info",user_info)
|
|
|
request.session["user"] = user_info
|
|
|
res = {"code": 0, "msg": "success", "user": user_info}
|
|
|
else:
|
|
@@ -115,4 +135,178 @@ def login(request):
|
|
|
|
|
|
print "set session: --> ", request.session.get("user", None)
|
|
|
|
|
|
+ return JsonResponse(res)
|
|
|
+
|
|
|
+
|
|
|
+# @login_required
|
|
|
+@params
|
|
|
+def logout(request):
|
|
|
+ """
|
|
|
+ 退出
|
|
|
+ :param request:
|
|
|
+ :return:
|
|
|
+ """
|
|
|
+ try:
|
|
|
+ del request.session["user"]
|
|
|
+ except KeyError as ex:
|
|
|
+ pass
|
|
|
+ return JsonResponse({"code": 0, "msg": "success"})
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+@csrf_exempt
|
|
|
+# @login_required
|
|
|
+@params
|
|
|
+def modified_password(request):
|
|
|
+ """
|
|
|
+ 修改密码
|
|
|
+ :param request: old_password, new_password
|
|
|
+ :return: True / False
|
|
|
+ """
|
|
|
+ user = get_user_from_request(request)
|
|
|
+ req_params = request.PARAMS
|
|
|
+ old_password = req_params.get("old_password")
|
|
|
+ new_password = req_params.get("new_password")
|
|
|
+
|
|
|
+ user_obj = Users.objects.get(id=int(user["uid"]))
|
|
|
+ check_old = check_password(old_password, user_obj.password)
|
|
|
+
|
|
|
+ print("mmmmmmm",check_old)
|
|
|
+ res = {"code": 0, "msg": "success"}
|
|
|
+ if check_old:
|
|
|
+ new_pass = make_password(new_password, None, "pbkdf2_sha256")
|
|
|
+ user_obj.password = new_pass
|
|
|
+ user_obj.save()
|
|
|
+ else:
|
|
|
+ res["code"] = -1
|
|
|
+ res["msg"] = u"旧密码不正确,请重新输入。"
|
|
|
+
|
|
|
+ print(res)
|
|
|
+ return JsonResponse(res)
|
|
|
+
|
|
|
+
|
|
|
+@csrf_exempt
|
|
|
+# @login_required
|
|
|
+@params
|
|
|
+def update_user(request):
|
|
|
+ """
|
|
|
+ 编辑用户信息
|
|
|
+ :param request: username
|
|
|
+ :return: True / False
|
|
|
+ """
|
|
|
+ req_params = request.PARAMS
|
|
|
+ username = req_params.get("username", None)
|
|
|
+
|
|
|
+ status = req_params.get("status")
|
|
|
+ permission = req_params.get("permission")
|
|
|
+ print "username --> ", username
|
|
|
+ print "status --> ", status
|
|
|
+ print "permission --> ", permission
|
|
|
+
|
|
|
+ user_obj = Users.objects.filter(username=username).first()
|
|
|
+ print("update-----",user_obj)
|
|
|
+
|
|
|
+
|
|
|
+ if user_obj:
|
|
|
+ user_obj.status = status
|
|
|
+ user_obj.permission = permission
|
|
|
+ user_obj.save()
|
|
|
+ res = {"code":0, "status":user_obj.status, "permission":user_obj.permission}
|
|
|
+ else:
|
|
|
+ res = {"code":-1, "msg":"修改失败!"}
|
|
|
+
|
|
|
+ print(res)
|
|
|
+ return JsonResponse(res)
|
|
|
+
|
|
|
+@csrf_exempt
|
|
|
+# @login_required
|
|
|
+@params
|
|
|
+def delete_user(request):
|
|
|
+ """
|
|
|
+ 删除指定用户
|
|
|
+ :param request: username
|
|
|
+ :return: True / False
|
|
|
+ """
|
|
|
+ req_params = request.PARAMS
|
|
|
+ username = req_params.get("username", None)
|
|
|
+
|
|
|
+ print "username --> ", username
|
|
|
+
|
|
|
+ user_obj = Users.objects.filter(username=username).first()
|
|
|
+ if user_obj:
|
|
|
+ user_obj.delete()
|
|
|
+ res = {"code":0, "msg":"删除成功!"}
|
|
|
+ else:
|
|
|
+ res = {"code":-1, "msg":"修改失败!"}
|
|
|
+
|
|
|
+ return JsonResponse(res)
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+@csrf_exempt
|
|
|
+# @login_required
|
|
|
+@params
|
|
|
+def reader_fb(request):
|
|
|
+ """
|
|
|
+ 读者提问
|
|
|
+
|
|
|
+ """
|
|
|
+ data = request.PARAMS
|
|
|
+ search_question = data.get("search_question", None)
|
|
|
+
|
|
|
+ print("00000",search_question)
|
|
|
+ if search_question:
|
|
|
+ user_data = Reader.objects.filter(question__icontains = search_question)
|
|
|
+ else:
|
|
|
+ user_data = Reader.objects.all()
|
|
|
+ data =[]
|
|
|
+ if user_data:
|
|
|
+ for list_data in user_data:
|
|
|
+ dict_data = {}
|
|
|
+ dict_data["rid"] = list_data.id
|
|
|
+ dict_data["readername"] = list_data.readername
|
|
|
+ dict_data["crete_time"] = list_data.crete_time
|
|
|
+ dict_data["question"] = list_data.question
|
|
|
+ data.append(dict_data)
|
|
|
+ res = {"code": 0, "msg": "get data success", "reader_data": data}
|
|
|
+
|
|
|
+ else:
|
|
|
+ res = {"code": -1, "msg": "get no data!"}
|
|
|
+
|
|
|
+ print(res)
|
|
|
+ return JsonResponse(res)
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+@csrf_exempt
|
|
|
+# @login_required
|
|
|
+@params
|
|
|
+def fb_question(request):
|
|
|
+ """
|
|
|
+ 编辑回复信息
|
|
|
+ :param request: rid ,content
|
|
|
+ :return: True / False
|
|
|
+ """
|
|
|
+ user = get_user_from_request(request)
|
|
|
+ # user_id = 2
|
|
|
+ user_id = user["uid"]
|
|
|
+ req_params = request.PARAMS
|
|
|
+ rid = req_params.get("rid", None)
|
|
|
+ fb_content = req_params.get("fb_content", None)
|
|
|
+
|
|
|
+
|
|
|
+ reader_obj = Reader.objects.filter(id=rid).first()
|
|
|
+ print("update-----",reader_obj)
|
|
|
+
|
|
|
+
|
|
|
+ if reader_obj:
|
|
|
+ reader_obj.fb_content = fb_content
|
|
|
+ reader_obj.fb_id = user_id
|
|
|
+ reader_obj.save()
|
|
|
+ res = {"code":0, "msg":"回复成功", "fb_content":fb_content}
|
|
|
+ else:
|
|
|
+ res = {"code":-1, "msg":"修改失败!"}
|
|
|
+
|
|
|
+ print(res)
|
|
|
return JsonResponse(res)
|