Files
FastapiAdmin/backend/app/common/enums.py
T
zhangtao fa680c03d3 feat: 新增AI模型配置功能,优化前端组件与代码规范
1. 新增Redis AI_MODEL_CONFIG枚举与后端AI模型配置CRUD接口
2. 升级vue-img-cutter到3.1.1版本,更新前端依赖
3. 重构前端多处ElMessage提示逻辑,统一由拦截器处理
4. 替换ElDrawer为FaDrawer组件,统一弹窗组件库
5. 重构文章详情、评论组件,新增租户切换器与AI配置面板
6. 优化代码生成模板、菜单树表格逻辑与代码高亮样式
7. 修复前端路由与组件命名问题,更新快速入口配置
2026-06-25 00:14:51 +08:00

159 lines
3.5 KiB
Python

from enum import Enum, unique
@unique
class EnvironmentEnum(str, Enum):
"""应用运行环境(开发 / 生产)。"""
DEV = "dev"
PROD = "prod"
@unique
class BusinessType(Enum):
"""
业务操作类型
OTHER: 其它
INSERT: 新增
UPDATE: 修改
DELETE: 删除
GRANT: 授权
EXPORT: 导出
IMPORT: 导入
FORCE: 强退
GENCODE: 生成代码
CLEAN: 清空数据
"""
OTHER = 0
INSERT = 1
UPDATE = 2
DELETE = 3
GRANT = 4
EXPORT = 5
IMPORT = 6
FORCE = 7
GENCODE = 8
CLEAN = 9
@unique
class RedisInitKeyConfig(Enum):
"""系统内置Redis键名枚举"""
ACCESS_TOKEN = {"key": "access_token", "remark": "登录令牌信息"}
REFRESH_TOKEN = {"key": "refresh_token", "remark": "刷新令牌信息"}
USER_SESSION = {"key": "user_session", "remark": "用户会话信息"}
CAPTCHA_CODES = {"key": "captcha_codes", "remark": "图片验证码"}
SYSTEM_CONFIG = {"key": "system_config", "remark": "系统配置"}
TENANT_CONFIG = {"key": "tenant_config", "remark": "租户配置"}
SYSTEM_DICT = {"key": "system_dict", "remark": "数据字典"}
APSCHEDULER_LOCK_KEY = {
"key": "scheduler_job_lock",
"remark": "定时任务初始化锁",
}
AI_MODEL_CONFIG = {"key": "ai_model_config", "remark": "用户AI模型配置"}
@property
def key(self) -> str:
"""
获取 Redis 键名。
返回:
- str: 键名字符串。
"""
return self.value.get("key", "")
@property
def remark(self) -> str:
"""
获取 Redis 键说明。
返回:
- str: 说明文案。
"""
return self.value.get("remark", "")
class McpType(Enum):
"""Mcp 服务器类型"""
stdio = 0
sse = 1
class McpLLMProvider(Enum):
"""MCP 大语言模型供应商"""
openai = "openai"
deepseek = "deepseek"
anthropic = "anthropic"
gemini = "gemini"
qwen = "qwen"
@unique
class QueueEnum(str, Enum):
"""队列枚举"""
none = "None"
not_none = "not None"
date = "date"
month = "month"
like = "like"
eq = "eq" or "=="
in_ = "in"
between = "between"
ne = "!=" or "ne"
gt = ">" or "gt"
ge = ">=" or "ge"
lt = "<" or "lt"
le = "<=" or "le"
class PermissionFilterStrategy(str, Enum):
"""
权限过滤策略枚举
每个策略对应一种过滤实现,模型通过 ``__permission_strategy__`` 选择。
注意:``DATA_SCOPE`` 是 dispatcher(基于 ``data_scope`` 字段再分发到
5 个具体的 data_scope 子策略),其余是具体策略。
"""
DATA_SCOPE = "data_scope" # 数据范围权限分发器(默认)
MENU_AUTH = "menu_auth" # 菜单授权(用于 MenuModel,按角色-菜单绑定过滤)
DEPT_RELATION = "dept_relation" # 部门关联(用于 DeptModel、RoleModel,按所属部门过滤)
OWN = "own" # 仅本人数据
USER_BINDING = "user_binding" # 用户绑定角色(用于 RoleModel,仅显示当前用户绑定的角色)
@unique
class OrderTypeEnum(str, Enum):
"""订单类型"""
NEW = "new"
BUY = "buy"
RENEW = "renew"
UPGRADE = "upgrade"
DOWNGRADE = "downgrade"
PLUGIN = "plugin"
@unique
class InvoiceTypeEnum(str, Enum):
"""发票类型"""
VAT_NORMAL = "vat_normal"
VAT_SPECIAL = "vat_special"
@unique
class TicketTypeEnum(str, Enum):
"""工单类型"""
SUGGESTION = "suggestion"
BUG = "bug"
OPTIMIZE = "optimize"
OTHER = "other"