refactor(all): 完成项目的前后端逻辑分离,静态页面可以单独部署

This commit is contained in:
zhengxinonly
2024-01-28 17:43:25 +08:00
parent 2b296c1c64
commit 801eed010f
18 changed files with 287 additions and 295 deletions
+10 -13
View File
@@ -1,16 +1,12 @@
from collections import OrderedDict
from copy import deepcopy
from flask import Blueprint, make_response, redirect, request
from flask import Blueprint, make_response, request
from flask_jwt_extended import (
create_access_token,
create_refresh_token,
get_current_user,
jwt_required,
set_access_cookies,
set_refresh_cookies,
unset_access_cookies,
unset_refresh_cookies,
)
from pear_admin.extensions import db
@@ -35,10 +31,14 @@ def login_in():
access_token = create_access_token(user)
refresh_token = create_refresh_token(user)
response = make_response({"code": 0, "message": "登录成功"})
set_access_cookies(response, access_token)
set_refresh_cookies(response, refresh_token)
response = make_response(
{
"code": 0,
"message": "登录成功",
"access_token": access_token,
"refresh_token": refresh_token,
}
)
return response
@@ -46,10 +46,7 @@ def login_in():
@passport_api.route("/logout", methods=["GET", "POST"])
@jwt_required()
def logout():
response = make_response(redirect("/login"))
unset_access_cookies(response)
unset_refresh_cookies(response)
return response
return {"msg": "退出登录成功", "code": 0}
@passport_api.get("/menu")
-2
View File
@@ -1,5 +1,3 @@
from copy import deepcopy
from flask import Blueprint, request
from flask_sqlalchemy.pagination import Pagination
+11
View File
@@ -1,6 +1,7 @@
from datetime import datetime
from flask import Blueprint, request
from flask_jwt_extended import current_user, jwt_required
from flask_sqlalchemy.pagination import Pagination
from pear_admin.extensions import db
@@ -89,3 +90,13 @@ def change_user_role(rid):
user.role_list = [r[0] for r in role_obj_list]
user.save()
return {"code": 0, "message": "授权成功"}
@user_api.get("/user/profile")
@jwt_required()
def user_profile():
return {
"code": 0,
"msg": "获取个人数据成功",
"data": current_user.json(),
}
+2 -2
View File
@@ -19,9 +19,9 @@ def user_lookup_callback(_jwt_header, jwt_data):
@jwt.expired_token_loader
def expired_token_callback():
return redirect("/login")
return {"msg": "token 已过期,请重新登录", "code": -1}, 403
@jwt.unauthorized_loader
def missing_token_callback(error):
return redirect("/login")
return {"msg": "操作未授权,请重新登录", "code": -1}, 403
+2 -2
View File
@@ -1,9 +1,9 @@
from flask import Flask
from .index import index_bp
from .views import views_bp
from .system import system_bp
def register_views(app: Flask):
app.register_blueprint(index_bp)
app.register_blueprint(views_bp)
app.register_blueprint(system_bp)
+6 -9
View File
@@ -1,24 +1,21 @@
from flask import Blueprint, render_template, send_from_directory
from flask_jwt_extended import jwt_required
from flask import Blueprint, render_template, send_file, send_from_directory
index_bp = Blueprint("index", __name__)
@index_bp.route("/")
@jwt_required()
def index():
return render_template("index.html")
return render_template("view/index.html")
@index_bp.route("/login.html")
@index_bp.route("/login")
@index_bp.route("/view/login.html")
def login():
return render_template("login.html")
return render_template("view/login.html")
@index_bp.route("/register.html")
@index_bp.route("/view/register.html")
def register():
return render_template("register.html")
return render_template("view/register.html")
@index_bp.route("/view/console/index.html")
+23
View File
@@ -0,0 +1,23 @@
from flask import Blueprint, render_template
system_bp = Blueprint("system", __name__)
@system_bp.get("/system/<path1>/<path2>")
def system_view(path1, path2):
return render_template(f"system/{path1}/{path2}")
@system_bp.get("/views/role.html")
def role_view():
return render_template("system/role/index.html")
@system_bp.get("/views/department.html")
def department_view():
return render_template("system/department/index.html")
@system_bp.get("/views/user.html")
def user_view():
return render_template("system/user/index.html")
-33
View File
@@ -1,33 +0,0 @@
from flask import Blueprint, render_template
views_bp = Blueprint("views", __name__)
@views_bp.get("/views/rights")
def rights_view():
return render_template("views/rights/index.html")
@views_bp.get("/views/role")
def role_view():
return render_template("views/role/index.html")
@views_bp.get("/views/role_rights/<int:rid>")
def role_rights_view(rid):
return render_template("views/role/role_rights.html", rid=rid)
@views_bp.get("/views/user_role/<int:rid>")
def user_role_view(rid):
return render_template("views/user/user_role.html", rid=rid)
@views_bp.get("/views/department")
def department_view():
return render_template("views/department/index.html")
@views_bp.get("/views/user")
def user_view():
return render_template("views/user/index.html")