19 KiB
19 KiB
API 参考手册
**本文档引用的文件** - [index.js](file://index.js) - [package.json](file://package.json) - [README.md](file://README.md) - [TsCommon.js](file://src/utils/TsCommon.js) - [TsCrypto.js](file://src/utils/TsCrypto.js) - [TsSM4.js](file://src/utils/TsSM4.js) - [TsStorage.js](file://src/utils/TsStorage.js) - [TsGlobalConfig.js](file://src/utils/TsGlobalConfig.js) - [TsHttpUtil.js](file://src/https/TsHttpUtil.js)目录
简介
npm-tool 是一个功能丰富的 JavaScript 工具包,专为现代 Web 应用开发而设计。该工具包提供了完整的 HTTP 请求处理、数据加密解密、本地存储管理、通用工具函数等功能模块,旨在简化开发者在日常开发中的重复工作。
本工具包的核心特性包括:
- 完整的 HTTP 请求封装,支持 GET、POST、表单提交等多种请求方式
- 基于 SM4 算法的安全数据加密解密功能
- 智能的本地存储管理,支持自动序列化和反序列化
- 丰富的通用工具函数,涵盖字符串处理、数据验证等常用操作
- 灵活的全局配置系统,支持运行时动态配置
项目结构
npm-tool 采用模块化的文件组织结构,主要分为以下几个核心目录:
graph TB
subgraph "项目根目录"
A[index.js]
B[package.json]
C[README.md]
end
subgraph "源代码目录 (src/)"
D[src/utils/]
E[src/https/]
end
subgraph "工具模块 (src/utils/)"
F[TsCommon.js]
G[TsStorage.js]
H[TsCrypto.js]
I[TsSM4.js]
J[TsGlobalConfig.js]
end
subgraph "HTTP模块 (src/https/)"
K[TsHttpUtil.js]
end
A --> D
A --> E
D --> F
D --> G
D --> H
D --> I
D --> J
E --> K
图表来源
- index.js:1-16
- TsCommon.js:1-98
- TsStorage.js:1-55
- TsCrypto.js:1-34
- TsSM4.js:1-456
- TsGlobalConfig.js:1-34
- TsHttpUtil.js:1-171
章节来源
核心组件
npm-tool 工具包由六个主要模块组成,每个模块都提供特定的功能领域:
主要模块概览
| 模块名称 | 文件路径 | 功能描述 |
|---|---|---|
| TsHttpUtil | src/https/TsHttpUtil.js | HTTP 请求处理和网络通信 |
| TsCommon | src/utils/TsCommon.js | 通用工具函数集合 |
| TsStorage | src/utils/TsStorage.js | 本地存储管理 |
| TsCrypto | src/utils/TsCrypto.js | 数据加密解密服务 |
| TsSM4 | src/utils/TsSM4.js | SM4 算法实现 |
| TsGlobalConfig | src/utils/TsGlobalConfig.js | 全局配置管理 |
版本信息
- 包名: @tiesheng/npm-tool
- 当前版本: 2.0.6
- 主要依赖:
- base64-js: 1.5.1 (Base64 编码解码)
- umi-request: 1.4.0 (HTTP 请求封装)
章节来源
架构概览
npm-tool 采用了清晰的分层架构设计,各模块之间通过明确的接口进行交互:
graph TB
subgraph "应用层"
APP[业务应用]
end
subgraph "HTTP 层"
HTTP[TsHttpUtil]
CONFIG[TsGlobalConfig]
end
subgraph "加密层"
CRYPTO[TsCrypto]
SM4[TsSM4]
end
subgraph "存储层"
STORAGE[TsStorage]
COMMON[TsCommon]
end
subgraph "外部依赖"
UMI[umi-request]
BASE64[base64-js]
end
APP --> HTTP
HTTP --> CONFIG
HTTP --> STORAGE
HTTP --> CRYPTO
CRYPTO --> SM4
STORAGE --> COMMON
HTTP --> UMI
CRYPTO --> BASE64
SM4 --> BASE64
图表来源
组件交互流程
sequenceDiagram
participant Client as 应用客户端
participant HttpUtil as HTTP工具
participant Crypto as 加密服务
participant Storage as 存储服务
participant Config as 配置服务
Client->>HttpUtil : 发起HTTP请求
HttpUtil->>Config : 获取全局配置
HttpUtil->>Storage : 获取用户令牌
HttpUtil->>Crypto : 加密请求数据(可选)
HttpUtil->>HttpUtil : 发送网络请求
HttpUtil->>Crypto : 解密响应数据(可选)
HttpUtil->>Storage : 更新状态信息
HttpUtil-->>Client : 返回处理后的结果
图表来源
详细组件分析
HTTP 请求处理模块 (TsHttpUtil)
HTTP 请求处理模块是整个工具包的核心,提供了完整的网络通信能力。
主要功能
- HTTP 请求封装: 支持 GET、POST、表单提交等多种请求方式
- 数据加密: 可选的请求体加密功能
- 响应处理: 统一的响应数据处理和错误处理
- 配置管理: 灵活的全局配置系统
API 接口定义
get 方法
- 功能: 发送 GET 请求
- 参数:
- url: string - 请求的 URL 地址
- params: object - 查询参数对象 (可选)
- options: object - 请求选项 (可选)
- 返回值: Promise