tframe-enum
v8.0.12
Published
A enum set for smpoo tframe
Downloads
7
Readme
WHY
- 我可以在程序中定义一个 JSON 对象
- 也可以在程序保存一份 JSON 文件
- 也可以在数据库中预留一张用于键值对的表
- 甚至于 MYSQL 还支持了 enum 类型的字段
但是对于 `tFrame` 这样前后端一致的框架,以上方案都不是最优选择。
- 任何一端重新维护了 JSON 定义以后,需要两端同步更新,否则不能保证定义一致性;
- 难以基于版本管理,使历史版本丢失引用;
- 文件或 DB 均与具体的项目或者历史版本相关,在迁移或新版中,只能通过记忆在其中拷贝或者摘录,不便于复用。
注意
// 建议: 前端使用时,在使用本枚举之前,采取以下措施
if (Object.freeze)
Object.freeze(DaysEnum);
避免JSON序列化反序列化时发生问题
biz 业务相关类型
// 公共信息
commInfo: {
// 性别
gender: {
unkown: '未注明',
male: '男',
female: '女'
}
}
CRUD 相关类型
// 编辑或查看状态标志
act: {
// 新增状态
add: 'insert',
// 修改状态
edit: 'update',
// 查看状态
read: 'select',
// 删除状态
del: 'del'
}
db 数据库及数据模型相关类型
// 字段索引类型
indexType: {
none: '', // 无索引(默认)
unique: 'UNIQUE', // 唯一索引
normal: 'NORMAL' // 可重复索引
},
// 数据库表重建类型
rebuildType: {
force: 1, // 强制重建,如果表已存在,则删除原表后创建
depend: 2, // 视情况而定,如果表不存在,则创建
disable: 3, // 停用(重命名为_disable)
creatAfterBackup: 4 // 备份后新建
},
// ORMS实例所基于的数据来源,启动时根据该值决定是否创建对应的物理表
dataFrom: {
// 基于本表查询(物理表)
table: 0,
// 基于视图
view: 1,
// 基于已存在的表(启动时不会创建物理表,而是共用指定的表)
existed: 2
},
// 新增操作成功后,将最新的SELECT集合响应到前端的范围
afterNew: {
// 按照一览视图的默认范围,全部返回(适用于字典主数据页面)
relist: 0,
// 仅返回本次新增的记录(适用于单据页面,新增保存后,会跳转到详情页,因此无需返回全部数据)
curr: 1
}
// tFrame对各DB所支持的数据类型标度设定的默认值
defaultScale: {
mysql: {
tinyint: '4',
smallint: '6',
mediumint: '9',
int: '11',
bigint: '20',
bit: '1',
real: '28,8',
double: '28,8',
float: '28,8',
decimal: '28,8',
numeric: '28,8',
char: '10',
varchar: '20',
date: '',
time: '',
year: '4',
timestamp: '',
datetime: '',
tinyblob: '',
blob: '',
mediumblob: '',
longblob: '',
tinytext: '',
text: '',
mediumtext: '',
longtext: '',
enum: '',
set: '',
binary: '50',
varbinary: '50',
point: '',
linestring: '',
polygon: '',
geometry: '',
multipoint: '',
multilinestring: '',
multipolygon: '',
geometrycollection: '',
json: ''
}
}
event 事件相关
// 服务初始化成功的事件
initOk: 'initOk',
// 服务初始化失败的事件
initErr: 'initErr',
// 服务初始化过程中请求控制台回显的事件
initMsg: 'initMsg',
// 数据库的 CRUD 执行成功的事件,包括但不限于 SQL 语句(如 mongoDB之类的无需SQL语句的情形,也适合该事件)
sqlOk: 'sqlOk',
// 数据库的 CRUD 执行失败的事件,包括但不限于 SQL 语句(如 mongoDB之类的无需SQL语句的情形,也适合该事件)
sqlErr: 'sqlErr',
// 正常登录的事件
signInOk: 'signInOk',
// 登录失败的事件
signInErr: 'signInErr',
// 发生在登录名错误的登录事件
signInCodeWrong: 'signInCodeWrong',
// 发生在密码错误的登录事件
signInPwdWrong: 'signInPwdWrong',
// 发生在使用空密码的登录事情
signInPwdNull: 'signInPwdNull',
// 发生在登录被拒绝的登录事件
signInRefuse: 'signInRefuse',
// 注销登录的事件
signOut: 'signOut',
// 请求入站
reqIn: 'reqIn',
// 响应出站
resOut: 'resOut',
// 网络中断
netErr: 'netErr'
log 日志相关类型
// 日志简码索引字母表
indexCode: {
// 未归类的日志
Z: 0,
// 代码运行时日志
A: 1,
// DB过程的日志
B: 2,
// 用户操作的日志
C: 3,
// 服务端运行的日志
D: 4,
// 登录的日志
E: 5,
// 传输的日志
F: 6,
// 安全风险及威胁的日志
G: 7
},
/* 日志简码对照
简码规则:字母+3位数字
字母:日志类型在简码字母表中的索引
位1:日志级别
位2~位3:简码流水
*/
detailCode: {
Z000: '未归类的信息',
Z100: '未归类的警告',
Z200: '未归类的异常',
A000: '通用的代码运行时信息',
A100: '通用的代码运行时警告',
A200: '通用的代码运行时异常',
B000: '通用的DB过程记录',
B100: '通用的DB过程警告',
B300: '通用的DB过程异常',
C000: '通用的用户操作记录',
C100: '通用的用户操作警告',
C200: '通用的用户操作异常',
D000: '通用的服务端记录',
D001: '服务端启动成功',
D100: '通用的服务端警告',
D101: '服务端被关闭',
D200: '通用的服务端异常',
D201: '服务端启动失败',
E000: '正常登录',
E001: '正常退出',
E201: '登录过程出现运行时异常',
E202: '注销过程出现运行时异常',
F000: '通用的传输记录',
F100: '通用的传输警告',
F300: '通用的传输异常',
G000: '通用的安全风险审核成功的记录',
G100: '通用的安全风险审核警告',
G200: '通用的安全风险审核异常',
G201: '非系统内的账号的尝试登录',
G202: '使用错误的密码尝试登录',
G203: '封停账号尝试登录'
},
// 模式匹配的类别代码
actTypeCode: {
// 未明确
unknown: 'unknown',
// 代码级
code: 'code',
// DB级
db: 'db',
// 用户操作
userOperat: 'userOperat',
// 服务级
svr: 'svr',
// 登录及鉴权
sign: 'sign',
// 网络传输
trans: 'trans',
// 安全类型
security: 'security'
},
// 模式匹配的级别代码
actLevelCode: {
unknown: 'unknown',
info: 'info',
warning: 'warning',
error: 'error'
},
// 日志类型
logType: {
unknown: '未知',
code: '代码日志',
db: '数据日志',
userOperat: '用户操作日志',
svr: '服务端运行日志',
sign: '登录及鉴权日志',
trans: '传输日志',
security: '安全日志'
},
// 日志级别
logLevel: {
unknown: '未知',
info: '信息',
warning: '告警',
error: '异常'
}
sys 系统相关类型
// 时间日期格式化字符串(统一各个子模块的格式)
dateFormatStr: {
// 用于时间日期表示的格式化字符串
strDateTime: 'YYYY-MM-D HH:mm:ss',
// 用于时间日期唯一符的格式化字符串
strDateTime_u: 'YYYY_MM_D_HH_mm_ss',
// 用于单独表示日期的格式化字符串
strDate: 'YYYY-MM-D',
// 用于单独表示时间的格式化字符串
strTime: 'HH:mm:ss'
},
// 列举字符构成情况的枚举
aboutStr: {
// 含特殊字符
special: -1,
// 纯英文
enOnly: 0,
// 纯汉字
cnOnly: 1,
// 纯数字
numOnly: 2,
// 仅英文或汉字
enOrcn: 3,
// 仅英文或数字
enOrNum: 4,
// 仅汉字或数字
cnOrNum: 5,
// 英文汉字及数字
enCnNum: 6
},
// 判断 JS 对象类型
aboutObject: {
// 包含键值对的对象
Obj: "object",
// 字符串类型
Str: "string",
// 数组类型
Arr: "array",
// 数字类型
Num: "number",
// 日期类型
Date: "date",
// 布尔类型
Bool: "boolean"
},
// 节点审批类型
nodeType: {
any: "任审",
only: "仅审",
all: "会审"
},
// 系统权限种子
seed: {
// CRUD功能的权限种子
crud: {
read: "查看",
add: "新增",
edit: "修改",
del: "删除",
copy: "复制"
},
// 扩展功能权限种子
extend: {
import: "导入",
export: "导出",
print: "打印",
help: "帮助文档",
issue: "提交需求"
}
}
版本变更记录