Files
npm-tool/README.md
2026-04-29 11:26:12 +08:00

6.5 KiB
Raw Permalink Blame History

@tiesheng/npm-tool

杭州铁晟前端通用基类工具库,封装了 HTTP 请求、SM4 国密加解密、本地存储、全局配置以及常用工具方法,便于业务项目快速接入。

📚 本项目已生成完整的 RepoWiki 文档,下文所有章节均可直接跳转到详细文档。完整入口:.qoder/repowiki/zh/content


特性

  • 📡 基于 umi-request 的统一 HTTP 请求封装,内置错误码映射、分页参数与 equals 参数自动处理。
  • 🔐 内置 SM4 国密算法加解密ECB 模式base64 输出),请求体可按开关自动加密。
  • 🔑 统一 Token 读写与请求头注入。
  • 💾 简化的 localStorage 封装,统一以 {data: value} 结构存取。
  • ⚙️ 全局配置中心,支持 prefixbase64Key、统一异常回调、请求额外参数。
  • 🧰 常用工具方法URL 参数解析、空值判断、JSON 安全解析、字符串处理等。

安装

1. 配置私有 npm 仓库

本包托管在公司 Gitea 私有 registry需在项目根目录或用户目录.npmrc 中增加如下配置:

@tiesheng:registry=https://git.tieshengkeji.com/api/packages/tieshengkeji/npm/

该配置将 @tiesheng 作用域下的包解析指向私有仓库,其它包仍走默认 registry不影响现有依赖。

2. 安装依赖

npm install @tiesheng/npm-tool
# 或
yarn add @tiesheng/npm-tool

更多安装与上手细节见 👉 快速开始

快速开始

import {
  TsHttpUtil,
  TsGlobalConfig,
  TsStorage,
  TsCrypto,
  TsCommon,
  TsSM4,
} from '@tiesheng/npm-tool';

// 1. 初始化全局配置(建议在应用入口处调用一次)
TsGlobalConfig.setConfig({
  prefix: '/api',                         // 请求前缀,也可传函数
  base64Key: 'WmdUzPJXbngVNiaSsQrihg==',  // SM4 密钥base64
  onHttpError: (res) => {
    console.error('请求异常:', res.message);
  },
  httpParams: () => ({
    // 每次请求自动追加的额外参数GET 拼到 queryPOST 合并到 body
    clientType: 'web',
  }),
});

// 2. 登录后保存 token后续请求会自动带上 token 请求头)
TsStorage.saveUserToken('your-token');

// 3. 发起请求
const { data } = await TsHttpUtil.post('/user/info', { id: 1 });

项目概述

核心模块

源码入口:index.js,统一导出 TsHttpUtil / TsCommon / TsStorage / TsSM4 / TsCrypto / TsGlobalConfig

模块 源码 文档
HTTP 请求模块 src/https/TsHttpUtil.js HTTP 请求模块 (TsHttpUtil)
加密模块 src/utils/TsCrypto.js 加密模块 (TsCrypto)
SM4 算法模块 src/utils/TsSM4.js SM4 算法模块 (TsSM4)
存储模块 src/utils/TsStorage.js 存储模块 (TsStorage)
通用工具模块 src/utils/TsCommon.js 通用工具模块 (TsCommon)
全局配置模块 src/utils/TsGlobalConfig.js 全局配置模块 (TsGlobalConfig)

模块总览:核心模块.md

API 参考手册

配置指南

故障排除

目录结构

npm-tool
├── index.js                 # 统一出口
├── src
│   ├── https
│   │   └── TsHttpUtil.js    # HTTP 请求封装(基于 umi-request
│   └── utils
│       ├── TsCommon.js      # 通用工具
│       ├── TsCrypto.js      # SM4 加解密门面
│       ├── TsGlobalConfig.js# 全局配置(挂载在 window.httpConfig
│       ├── TsSM4.js         # SM4 算法实现
│       └── TsStorage.js     # localStorage 封装
└── .qoder/repowiki/zh       # 项目 Wiki 文档

依赖


如在使用过程中遇到问题,可先查阅 故障排除 文档,或联系仓库维护者。