268 lines
8.0 KiB
Python
268 lines
8.0 KiB
Python
# _*_ coding : UTF-8 _*_
|
||
# @Time : 2025/01/18 02:39
|
||
# @UpdateTime : 2025/01/18 02:39
|
||
# @Author : sonder
|
||
# @File : constant.py
|
||
# @Software : PyCharm
|
||
# @Comment : 本程序
|
||
from enum import Enum
|
||
|
||
|
||
class BusinessType(Enum):
|
||
"""
|
||
业务操作类型枚举
|
||
定义系统中的操作类型,用于记录和分类业务日志。
|
||
|
||
枚举值说明:
|
||
- OTHER: 其它操作,默认值为 0
|
||
- SELECT: 查询操作,默认值为1
|
||
- INSERT: 新增操作,值为 2
|
||
- UPDATE: 修改操作,值为 3
|
||
- DELETE: 删除操作,值为 4
|
||
- GRANT: 授权操作,值为 5
|
||
- EXPORT: 导出数据操作,值为 6
|
||
- IMPORT: 导入数据操作,值为 7
|
||
- FORCE: 强制退出操作,值为 8
|
||
- GENCODE: 代码生成操作,值为 9
|
||
- CLEAN: 清空数据操作,值为 10
|
||
"""
|
||
OTHER = 0
|
||
"""
|
||
其它操作,默认值为 0
|
||
"""
|
||
SELECT = 1
|
||
"""
|
||
查询操作,默认值为1
|
||
"""
|
||
INSERT = 2
|
||
"""
|
||
新增操作,值为 2
|
||
"""
|
||
UPDATE = 3
|
||
"""
|
||
修改操作,值为 3
|
||
"""
|
||
DELETE = 4
|
||
"""
|
||
删除操作,值为 4
|
||
"""
|
||
GRANT = 5
|
||
"""
|
||
授权操作,值为 5
|
||
"""
|
||
EXPORT = 6
|
||
"""
|
||
导出数据操作,值为 6
|
||
"""
|
||
IMPORT = 7
|
||
"""
|
||
导入数据操作,值为 7
|
||
"""
|
||
FORCE = 8
|
||
"""
|
||
强制退出操作,值为 8
|
||
"""
|
||
GENCODE = 9
|
||
"""
|
||
代码生成操作,值为 9
|
||
"""
|
||
CLEAN = 10
|
||
"""
|
||
清空数据操作,值为 10
|
||
"""
|
||
|
||
|
||
class CommonConstant:
|
||
"""
|
||
常用常量定义类,包含系统中常用的字符串标识和布尔值。
|
||
|
||
属性:
|
||
WWW: `www.` 主域的前缀。
|
||
HTTP: `http://` 协议前缀。
|
||
HTTPS: `https://` 协议前缀。
|
||
LOOKUP_RMI: RMI(远程方法调用)协议前缀。
|
||
LOOKUP_LDAP: LDAP 协议前缀。
|
||
LOOKUP_LDAPS: LDAPS 协议前缀。
|
||
YES: 系统默认值 "是" 的标识。
|
||
NO: 系统默认值 "否" 的标识。
|
||
DEPT_NORMAL: 部门状态,表示正常。
|
||
DEPT_DISABLE: 部门状态,表示停用。
|
||
UNIQUE: 标识检查结果为唯一。
|
||
NOT_UNIQUE: 标识检查结果为不唯一。
|
||
"""
|
||
|
||
WWW = 'www.'
|
||
"""`www.` 主域的前缀"""
|
||
|
||
HTTP = 'http://'
|
||
"""`http://` 协议前缀"""
|
||
|
||
HTTPS = 'https://'
|
||
"""`https://` 协议前缀"""
|
||
|
||
LOOKUP_RMI = 'rmi:'
|
||
"""RMI(远程方法调用)协议前缀"""
|
||
|
||
LOOKUP_LDAP = 'ldap:'
|
||
"""LDAP 协议前缀"""
|
||
|
||
LOOKUP_LDAPS = 'ldaps:'
|
||
"""LDAPS 协议前缀"""
|
||
|
||
YES = 'Y'
|
||
"""系统默认值 "是" 的标识"""
|
||
|
||
NO = 'N'
|
||
"""系统默认值 "否" 的标识"""
|
||
|
||
DEPT_NORMAL = '0'
|
||
"""部门状态,表示正常"""
|
||
|
||
DEPT_DISABLE = '1'
|
||
"""部门状态,表示停用"""
|
||
|
||
UNIQUE = True
|
||
"""标识检查结果为唯一"""
|
||
|
||
NOT_UNIQUE = False
|
||
"""标识检查结果为不唯一"""
|
||
|
||
|
||
class HttpStatusConstant:
|
||
"""
|
||
定义 HTTP 状态码的常量,描述不同操作的响应结果。
|
||
|
||
属性:
|
||
SUCCESS: 表示操作成功,HTTP 状态码 200。
|
||
CREATED: 表示资源已成功创建,HTTP 状态码 201。
|
||
ACCEPTED: 表示请求已被接受,HTTP 状态码 202。
|
||
NO_CONTENT: 表示操作成功但无内容返回,HTTP 状态码 204。
|
||
MOVED_PERM: 表示资源已被永久移除,HTTP 状态码 301。
|
||
SEE_OTHER: 表示重定向到其他资源,HTTP 状态码 303。
|
||
NOT_MODIFIED: 表示资源未被修改,HTTP 状态码 304。
|
||
BAD_REQUEST: 参数错误,HTTP 状态码 400。
|
||
UNAUTHORIZED: 表示未授权,HTTP 状态码 401。
|
||
FORBIDDEN: 表示禁止访问,HTTP 状态码 403。
|
||
NOT_FOUND: 表示资源或服务未找到,HTTP 状态码 404。
|
||
BAD_METHOD: 不允许的 HTTP 方法,HTTP 状态码 405。
|
||
CONFLICT: 表示资源冲突,HTTP 状态码 409。
|
||
UNSUPPORTED_TYPE: 不支持的数据或媒体类型,HTTP 状态码 415。
|
||
ERROR: 表示系统内部错误,HTTP 状态码 500。
|
||
NOT_IMPLEMENTED: 接口未实现,HTTP 状态码 501。
|
||
WARN: 系统警告消息,自定义状态码 601。
|
||
"""
|
||
|
||
SUCCESS = 200
|
||
"""表示操作成功,HTTP 状态码 200。"""
|
||
|
||
CREATED = 201
|
||
"""表示资源已成功创建,HTTP 状态码 201。"""
|
||
|
||
ACCEPTED = 202
|
||
"""表示请求已被接受,HTTP 状态码 202。"""
|
||
|
||
NO_CONTENT = 204
|
||
"""表示操作成功但无内容返回,HTTP 状态码 204。"""
|
||
|
||
MOVED_PERM = 301
|
||
"""表示资源已被永久移除,HTTP 状态码 301。"""
|
||
|
||
SEE_OTHER = 303
|
||
"""表示重定向到其他资源,HTTP 状态码 303。"""
|
||
|
||
NOT_MODIFIED = 304
|
||
"""表示资源未被修改,HTTP 状态码 304。"""
|
||
|
||
BAD_REQUEST = 400
|
||
"""参数错误,HTTP 状态码 400。"""
|
||
|
||
UNAUTHORIZED = 401
|
||
"""表示未授权,HTTP 状态码 401。"""
|
||
|
||
FORBIDDEN = 403
|
||
"""表示禁止访问,HTTP 状态码 403。"""
|
||
|
||
NOT_FOUND = 404
|
||
"""表示资源或服务未找到,HTTP 状态码 404。"""
|
||
|
||
BAD_METHOD = 405
|
||
"""不允许的 HTTP 方法,HTTP 状态码 405。"""
|
||
|
||
CONFLICT = 409
|
||
"""表示资源冲突,HTTP 状态码 409。"""
|
||
|
||
UNSUPPORTED_TYPE = 415
|
||
"""不支持的数据或媒体类型,HTTP 状态码 415。"""
|
||
|
||
ERROR = 500
|
||
"""表示系统内部错误,HTTP 状态码 500。"""
|
||
|
||
NOT_IMPLEMENTED = 501
|
||
"""接口未实现,HTTP 状态码 501。"""
|
||
|
||
WARN = 601
|
||
"""系统警告消息,自定义状态码 601。"""
|
||
|
||
|
||
class JobConstant:
|
||
"""
|
||
定时任务相关的常量,限制和规范任务模块的调用。
|
||
|
||
属性:
|
||
JOB_ERROR_LIST: 禁止调用的模块及违规字符串列表,包含敏感或不安全操作。
|
||
JOB_WHITE_LIST: 允许调用的模块列表,用于指定合法模块。
|
||
"""
|
||
|
||
JOB_ERROR_LIST = [
|
||
'app', 'config', 'exceptions', 'import ', 'middlewares',
|
||
'module_admin', 'open(', 'os.', 'server', 'sub_applications',
|
||
'subprocess.', 'sys.', 'utils', 'while ', '__import__', '"', "'",
|
||
',', '?', ':', ';', '/', '|', '+', '-', '=', '~', '!', '#', '$',
|
||
'%', '^', '&', '*', '<', '>', '(', ')', '[', ']', '{', '}', ' '
|
||
]
|
||
"""禁止调用的模块及违规字符串列表,包含敏感或不安全操作。"""
|
||
|
||
JOB_WHITE_LIST = ['module_task']
|
||
"""允许调用的模块列表,用于指定合法模块。"""
|
||
|
||
|
||
class RedisKeyConfig(Enum):
|
||
"""
|
||
定义 Redis 键的常量,用于缓存和存储数据。
|
||
"""
|
||
|
||
@property
|
||
def key(self):
|
||
"""
|
||
获取 Redis 键名
|
||
:return: 键名字符串
|
||
"""
|
||
return self.value.get('key')
|
||
|
||
@property
|
||
def remark(self):
|
||
"""
|
||
获取键名备注信息
|
||
:return: 备注信息字符串
|
||
"""
|
||
return self.value.get('remark')
|
||
|
||
ACCESS_TOKEN = {'key': 'access_token', 'remark': '登录令牌信息'}
|
||
"""登录令牌信息,存储用户的访问令牌。"""
|
||
USER_INFO = {'key': 'user_info', 'remark': '用户信息'}
|
||
"""用户信息,存储用户的详细信息。"""
|
||
USER_ROUTES = {'key': 'user_routes', 'remark': '用户路由信息'}
|
||
"""用户路由信息,存储用户的路由信息。"""
|
||
CAPTCHA_CODES = {'key': 'captcha_codes', 'remark': '图片验证码'}
|
||
"""图片验证码,存储验证码及其校验信息。"""
|
||
CAPTCHA_TYPES = {'key': 'captcha_types', 'remark': '图片验证码类型'}
|
||
"""图片验证码类型,存储验证码类型及其配置信息。"""
|
||
EMAIL_CODES = {'key': 'email_codes', 'remark': '邮箱验证码'}
|
||
"""邮箱验证码,存储邮箱验证码及其校验信息。"""
|
||
TRANSLATION_INFO = {'key': 'translation_info', 'remark': '国际化信息'}
|
||
"""用于存储国际化数据。"""
|
||
TRANSLATION_TYPES = {'key': 'translation_types', 'remark': '国际化类型'}
|
||
"""国际化类型,存储国际化类型及其配置信息。"""
|
||
SYSTEM_CONFIG = {'key': 'system_config', 'remark': '系统配置信息'}
|
||
"""系统配置信息,存储系统的配置信息。"""
|