npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

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: "提交需求"
    }
  }

版本变更记录