1.0.0 • Published 1 year ago

@tangbin/node-util v1.0.0

Weekly downloads
-
License
ISC
Repository
-
Last release
1 year ago

@tangbin/node-util

服务器端的辅助函数库

Install

#npm
npm install --save @tangbin/node-util
#yarn
yarn add @tangbin/node-util

Usage

Interface & Type

@types 目录中中定义了通用的数据类型 Interface 和 Type 以供使用。

/**
 * 用户中心关系图(包含关系)
 *
 * 部门 => 角色
 * 用户 => 部门 => 角色
 * 平台 => 菜单
 * 权限 => 角色 + 平台 + 菜单
 */
import { ResponseData } from '@tangbin/node-util/@types';
import { Permission } from '@tangbin/node-util/@types/permission';

常量

constants 目录中中定义了常用的常量,后续会不断添加和完善。

import {
  GET,
  POST,
  FETCH_REQUEST_NAME,
} from '@tangbin/node-util/constants/request';
import { SUCCESS_CODE } from '@tangbin/node-util/@types/constants/response-code';

middleware

middleware 目录中中定义了常用的中间件,后续会不断添加和完善。

import methodInterceptor from '@tangbin/node-util/middleware/method-interceptor';

CURD 辅助方法

routes 目录中包含一系列辅助方法,用于简化数据库增删改查操作。

import { add, batchDel, del, fetch, query, update } from '../model/student';

import {
  commonAdd,
  commonBatchDelete,
  commonDelete,
  commonFetch,
  commonQuery,
  commonUpdate,
} from '@tangbin/node-util/middleware/routes/mysql-curd-helper';

import {
  ADD_REQUEST_NAME,
  BATCH_DELETE_REQUEST_NAME,
  DELETE_REQUEST_NAME,
  FETCH_REQUEST_NAME,
  QUERY_REQUEST_NAME,
  UPDATE_REQUEST_NAME,
} from '@tangbin/node-util/constants/request';

// fetch
router.post(FETCH_REQUEST_NAME, (req, res, next) => {
  commonFetch<Student>(req, res, next, fetch);
});

// add
router.post(ADD_REQUEST_NAME, (req, res, next) => {
  commonAdd(req, res, next, add);
});

// update
router.post(UPDATE_REQUEST_NAME, (req, res, next) => {
  commonUpdate(req, res, next, update);
});

// query
router.get(QUERY_REQUEST_NAME, (req, res, next) => {
  commonQuery(req, res, next, query);
});

// delete
router.get(DELETE_REQUEST_NAME, (req, res, next) => {
  commonDelete(req, res, next, del);
});

// batch delete
router.post(BATCH_DELETE_REQUEST_NAME, (req, res, next) => {
  commonBatchDelete(req, res, next, batchDel);
});