签入版本

This commit is contained in:
2026-10-25 22:36:33 +08:00
parent 40ebd01770
commit e1ff172d27
501 changed files with 8295 additions and 65 deletions
@@ -1,3 +1,5 @@
# 验证码机制
:::tip 验证码
验证码是防止自动化攻击的重要安全手段。项目使用 django-simple-captcha 库生成图片验证码,存储在数据库中,支持多种验证码格式。源码位于 `application/login/views.py`。
:::
@@ -1,3 +1,5 @@
# 系统配置管理
:::tip 系统配置
系统配置模块用于管理动态的键值对配置项,与数据字典类似但更偏向系统级参数。支持分组管理,可通过接口动态修改,无需重启服务。模块位于 `application/config/`。
:::
@@ -1,3 +1,5 @@
# 跨域资源共享(CORS)
:::tip CORS跨域
CORS(Cross-Origin Resource Sharing)跨域资源共享是前后端分离架构必须处理的问题。项目使用 `django-cors-headers` 中间件处理跨域请求,通过 `.env` 配置允许的跨域源。
:::
@@ -1,3 +1,5 @@
# 演示模式
:::tip 演示模式
演示模式用于在线体验环境,开启后所有写操作(新增、编辑、删除等)将被拦截,返回"演示环境,暂无操作权限"提示。通过 `DJANGO_DEMO` 环境变量控制。
:::
@@ -1,3 +1,5 @@
# 字典模块
:::tip 数据字典
数据字典用于管理系统中的枚举值和配置项,如状态、类型、性别等。通过字典编码统一管理,前端可通过 `useDictStore` 获取字典选项,避免硬编码。模块位于 `application/dict/`。
:::
@@ -1,3 +1,5 @@
# 异常与响应处理
:::tip 全局异常与响应
定义了统一的响应格式和全局异常处理机制。所有 API 返回 `{code, data, msg, ok}` 标准格式。响应函数位于 `utils/R.py`。
:::
@@ -1,3 +1,5 @@
# 防重复提交
:::tip 防重复提交
防重复提交是保障数据一致性的重要措施。通过前端防抖和后端唯一性校验双重保护,防止用户重复点击导致的数据重复提交。
:::
@@ -1,3 +1,5 @@
# 用户认证(JWT)
:::tip JWT认证
JWT(JSON Web Token)是系统的核心认证机制。用户登录成功后获取 Token,后续请求通过 `Authorization: Bearer <token>` 头携带 Token 进行身份验证。项目内置了 Token 生成、解析、刷新和黑名单管理功能,源码位于 `utils/jwt.py`。
:::
@@ -1,3 +1,5 @@
# 登录日志
:::tip 登录日志
登录日志记录每次登录尝试(成功/失败),包含登录账号、IP地址、浏览器信息、登录时间等。登录逻辑位于 `application/login/services.py`,日志记录位于 `application/login_log/` 模块。
:::
@@ -1,3 +1,5 @@
# 操作日志
:::tip 操作日志
操作日志通过 `@operation_log` 装饰器标记需要记录日志的视图方法,自动记录请求参数、响应结果、耗时、操作类型等信息。源码位于 `application/operation_log/decorators.py`。
:::
@@ -1,3 +1,5 @@
# 请求限流
:::tip 请求限流
请求限流可通过中间件实现 IP 级别的限流,防止恶意请求和 DoS 攻击。项目中限流可通过 Nginx 反向代理或自定义中间件实现。
:::
@@ -1,3 +1,5 @@
# 权限管理(RBAC)
:::tip RBAC权限
采用基于角色的访问控制(RBAC)模型,通过用户-角色-菜单三层关系实现细粒度的权限管理。权限控制贯穿前后端:后端通过 `PermissionRequired` 混入类校验(`middleware/permission_middleware.py`),前端通过 `v-perm` 指令控制按钮显隐。
:::
@@ -1,3 +1,5 @@
# 参数验证(Form)
:::tip 参数验证
使用 Django ModelForm 进行请求参数验证。所有请求体参数通过 Django Form 定义,视图中调用 `form.is_valid()` 自动验证,验证失败通过 `regular.get_err()` 提取错误信息返回前端。
:::