tiger-ts
v0.6.3
Published
一个使用TypeScript写的Node.js服务端基础库
Downloads
222
Readme
tiger-ts
一个使用TypeScript写的Node.js服务端基础库。
功能
- API定义
- koa
- 内存缓存模块
- 配置加载器
- yaml 文件配置加载器
- 枚举工厂
- 文件工厂
- IO文件工厂
- 数值服务
- 默认数值处理器(累加)
- 覆盖数值处理器
- 过滤数值处理器
- 数据库工厂
- mongo 数据库工厂
- 自定义异常类
- 测试 mock
- 远程调用[未完成]
- bent 调用[未完成]
- 日志模块[未完成]
- log4js 日志[未完成]
- 解析器
- number
- string
- bool
- json
- Value
- Reward
- Condition
安装
npm install tiger-ts
使用
// src/api/index.ts
import './login';
// src/api/login.ts
import { validate, IsLength } from 'class-validator';
import { IApi, service } from 'tiger-ts';
class LoginRequestBody {
@IsLength(5, 10, { message: '账号长度在5-10字符' })
account: string;
@IsLength(8, 18, { message: '密码长度在8-18字符' })
password: string;
}
@service.Api({ route: '/mh/login', validateType: LoginRequestBody })
@Service({ transient: true })
export default class LoginApi implements IApi<LoginRequestBody> {
public body: LoginRequestBody;
public async call() {
if (body.account == 'admin' && body.password == '123456')
return true;
throw new service.CustomError(1000, '账号密码错误');
}
}
// src/index.ts
import './api';
import { service } from 'tiger-ts';
(async () => {
const apiFactory = new service.ApiFactory();
new service.KoaApiPort([
service.koaCorsOption(),
service.koaBodyParserOption(),
service.koaPostOption(apiFactory),
service.koaPortOption('app', 30000, '1.0.0')
]).listen();
})()