268 lines
8.0 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# _*_ 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': '系统配置信息'}
"""系统配置信息,存储系统的配置信息。"""