Neutrinos Peludos Magnéticos

    tic-lib

    1.1.0 • Public • Published

    泰链 NodeJS 开发者库

    该库内容会不实时更新

    安装

    $ npm i tic-lib
    或者
    $ yarn add tic-lib

    如何使用

    示例

    const moment = require('tic-lib').zhCN;
    console.log(moment().fromNow());
    // 几秒前

    base-context-class

    提供以下继承类供 egg 框架使用

    • BaseController
      • pageSize(page, size):分页工具
    • BaseService
      • bigAdd(a,b):加
      • bigMinus(a,b):减
      • bigMul(a,b):乘
      • bigDiv(a,b):除
      • mod(a,b):取余数
      • gt(a,b):a是否大于b
      • gte(a,b):a是否大于等于b
      • equals(a,b):a是否等于b
      • bigPow(m,n):m的n次方
    const { BaseController } = require('tic-lib').context;
    
    class DemoController extends BaseController {
        async show() {
            const { bigAdd } = this;
            const res = bigAdd('10000000000000', '3233333333333333333333');
            // ...
        }
    }

    date-format

    主要用于配合 Sequelize 做查询操作,自动格式化时间字段(YYYY-MM-DD HH:mm:ss)

    // 返回值为一个钩子函数
    const { dateFormat } = require('tic-lib');
    
    config.sequelize = {
        // ...
        define: {
            // ...
            hooks: {
                afterFind: dateFormat
            }
        }
        // ...
    }

    errors

    根据《NodeJS 开发手册》规约实现的错误类

    const { InsufficientBalanceError } = require('tic-lib').clientError;
    
    if (gt(amount, balance)) {
        throw new InsufficientBalanceError();
    }

    所有错误类都有默认值,具体参考以下内容
    已提供以下错误类引用:

    1xxx 客户端错误

    • 1000: ClientError 客户端错误
    • 1001: ParameterError 参数错误
    • 1002: UserNotFoundError 用户不存在
    • 1003: InvalidPasswordError 密码校验不通过
    • 1004: LogonExpirationError 登录过期
    • 1005: InsufficientBalanceError 余额不足
    • 1006: InvalidRequestError 无效的请求

    2xxx 请求资源错误

    • 2000: ResourceError 请求资源错误
    • 2001: NotFoundError 找不到资源
    • 2002: PermissionDeniedError 权限不足
    • 2003: LoginRequiredError 需登录后访问
    • 2004: AccessDeniedError 访问拒绝
    • 2005: RedirectError 重定向
    • 2006: RequestTimeoutError 请求超时
    • 2007: BanLoginError 禁止登录
    • 2008: DataLoadingFailureError 数据加载失败

    3xxx 服务器错误

    • 3000: ServerError 服务器错误
    • 3001: InternalError 内部错误
    • 3002: ThirdPartyServicesError 第三方服务异常
    • 3003: InternalServicesError 内部服务异常
    • 3004: ServerMaintenanceError 服务器更新、维护

    moment

    提供不同时区的 moment 实例,目前已支持:

    • 中国时区:zhCN
    • 默认(本地)时区:local
    // 中国时区
    const moment = require('tic-lib').zhCN;
    // 本地时区
    const moment = require('tic-lib').local;

    sleep

    线程等待(异步方式,不会造成线程阻塞)

    const { sleep } = require('tic-lib');
    
    async show() {
        // 停滞3秒
        await sleep(3000);
        // ...
    }

    Install

    npm i tic-lib

    DownloadsWeekly Downloads

    20

    Version

    1.1.0

    License

    MIT

    Unpacked Size

    15 kB

    Total Files

    12

    Last publish

    Collaborators

    • iamljw