chore: 基线提交(重构前代码快照)

- git 初始化 + .gitignore 补全(根 .env / logs / instance / __pycache__ 等)
- 修复 utils/.gitignore 误将整个 utils/ 源码层忽略的问题,补入全部工具源码(含 ip2region.xdb)
- 含后端全部代码:application / extensions / utils / config / migrations
- 含前端 ui/(后续整体迁走)
- 不含根 .env(含密钥,本地保留)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
DjangoAdmin Dev
2026-08-07 12:12:06 +08:00
co-authored by Claude
commit 15f2a5e097
591 changed files with 95894 additions and 0 deletions
+87
View File
@@ -0,0 +1,87 @@
"""
用户角色权限控制器模块
=============================================================
提供用户角色权限(UserRole)相关的API接口,包括:
- 用户角色列表查询
- 用户角色权限保存
所属包: application.views
依赖模块: application.services.user_role - 用户角色业务逻辑层
application.middleware.check_permission - 权限校验中间件
"""
from flask import Blueprint
from application.middleware.check_demo import check_demo
from application.middleware.check_permission import check_permission
from application.services import user_role
user_role_blue = Blueprint('user_role', __name__, url_prefix='/user/role')
from utils import R
# ============================================================
# 用户角色列表查询
# ============================================================
@user_role_blue.route('/list/<int:user_id>', methods=["GET"])
@check_permission("sys:user:list")
def list(user_id):
"""
查询用户的角色列表
功能说明:
获取指定用户已分配的角色ID列表。
Args:
user_id: 用户ID
Returns:
JSON: 角色列表
"""
role_list = user_role.get_user_role_list(user_id)
return R.ok(data=role_list)
# ============================================================
# 用户角色权限保存
# ============================================================
@user_role_blue.route('/save', methods=["POST"])
@check_permission("sys:user:save")
@check_demo
def save():
"""
保存用户角色权限
功能说明:
为指定用户分配角色权限。
Request Body:
{
"userId": 1,
"roleIds": [1, 2, 3]
}
Returns:
JSON: 操作结果
"""
from application.forms.user_role import UserRoleForm
from utils.request import get_json_data
data = get_json_data()
if not data:
return R.failed("参数不能为空")
form = UserRoleForm(data=data)
if not form.validate():
from utils.regular import get_error
return R.failed(get_error(form))
user_id = form.userId.data
role_ids = form.roleIds.data or []
result = user_role.save_user_roles(user_id, role_ids)
if result:
return R.ok(msg="保存成功")
return R.failed("保存失败")