feature: 用户管理
This commit is contained in:
@@ -4,6 +4,7 @@ from .department import department_api
|
||||
from .passport import passport_api
|
||||
from .rights import rights_api
|
||||
from .role import role_api
|
||||
from .user import user_api
|
||||
|
||||
|
||||
def register_apis(app: Flask):
|
||||
@@ -13,5 +14,6 @@ def register_apis(app: Flask):
|
||||
apis.register_blueprint(rights_api)
|
||||
apis.register_blueprint(role_api)
|
||||
apis.register_blueprint(department_api)
|
||||
apis.register_blueprint(user_api)
|
||||
|
||||
app.register_blueprint(apis)
|
||||
|
||||
@@ -0,0 +1,60 @@
|
||||
from datetime import datetime
|
||||
|
||||
from flask import Blueprint, request
|
||||
from flask_sqlalchemy.pagination import Pagination
|
||||
|
||||
from pear_admin.extensions import db
|
||||
from pear_admin.orms import UserORM
|
||||
|
||||
user_api = Blueprint("user", __name__)
|
||||
|
||||
|
||||
@user_api.get("/user")
|
||||
def user_list():
|
||||
page = request.args.get("page", default=1, type=int)
|
||||
per_page = request.args.get("limit", default=10, type=int)
|
||||
q = db.select(UserORM)
|
||||
|
||||
pages: Pagination = db.paginate(q, page=page, per_page=per_page)
|
||||
|
||||
return {
|
||||
"code": 0,
|
||||
"message": "获取用户数据成功",
|
||||
"data": [item.json() for item in pages.items],
|
||||
"count": pages.total,
|
||||
}
|
||||
|
||||
|
||||
@user_api.post("/user")
|
||||
def create_user():
|
||||
data = request.get_json()
|
||||
if data["id"]:
|
||||
del data["id"]
|
||||
role = UserORM(**data)
|
||||
create_at = data['create_at']
|
||||
if create_at:
|
||||
role.create_at = datetime.strptime(create_at, '%Y-%m-%d %H:%M:%S')
|
||||
role.password = '123456'
|
||||
role.save()
|
||||
return {"code": 0, "message": "新增用户成功"}
|
||||
|
||||
|
||||
@user_api.put("/user/<int:uid>")
|
||||
def change_user(uid):
|
||||
data = request.get_json()
|
||||
del data["id"]
|
||||
|
||||
user_obj = UserORM.query.get(uid)
|
||||
for key, value in data.items():
|
||||
if key == 'create_at':
|
||||
value = datetime.strptime(value, '%Y-%m-%d %H:%M:%S')
|
||||
setattr(user_obj, key, value)
|
||||
user_obj.save()
|
||||
return {"code": 0, "message": "修改用户信息成功"}
|
||||
|
||||
|
||||
@user_api.delete("/user/<int:rid>")
|
||||
def del_user(rid):
|
||||
user_obj = UserORM.query.get(rid)
|
||||
user_obj.delete()
|
||||
return {"code": 0, "message": "删除用户成功"}
|
||||
@@ -41,7 +41,7 @@ class UserORM(BaseORM):
|
||||
"nickname": self.nickname,
|
||||
"mobile": self.mobile,
|
||||
"email": self.email,
|
||||
"create_at": self.create_at,
|
||||
"create_at": self.create_at.strftime("%Y-%m-%d %H:%M:%S"),
|
||||
}
|
||||
|
||||
@property
|
||||
|
||||
@@ -16,3 +16,8 @@ def role_view():
|
||||
@views_bp.get("/department")
|
||||
def department_view():
|
||||
return render_template("views/department/index.html")
|
||||
|
||||
|
||||
@views_bp.get("/user")
|
||||
def user_view():
|
||||
return render_template("views/user/index.html")
|
||||
|
||||
Reference in New Issue
Block a user