From 90b79a92b0bc878491d9d7d64ec732f0f50ba4a3 Mon Sep 17 00:00:00 2001
From: Tevin <tingquanren@163.com>
Date: Sat, 08 Mar 2025 18:17:22 +0800
Subject: [PATCH] 知识库文档,参数说明放弃表格改用列表

---
 @framework/210-公共工具箱Tools.md   |  484 ++++++++++++++++++++-----------------------
 @framework/202-数据控制层基类Pilot.md |   34 +-
 @framework/201-请求层基类Fetcher.md |  128 +++++------
 3 files changed, 302 insertions(+), 344 deletions(-)

diff --git "a/@framework/201-\350\257\267\346\261\202\345\261\202\345\237\272\347\261\273Fetcher.md" "b/@framework/201-\350\257\267\346\261\202\345\261\202\345\237\272\347\261\273Fetcher.md"
index b99995a..5166145 100644
--- "a/@framework/201-\350\257\267\346\261\202\345\261\202\345\237\272\347\261\273Fetcher.md"
+++ "b/@framework/201-\350\257\267\346\261\202\345\261\202\345\237\272\347\261\273Fetcher.md"
@@ -57,18 +57,14 @@
 ### `spellURL(devSuffix, serSuffix)`
 
 **功能**  
-根据开发环境和生产环境拼接 URL 地址。
+根据开发环境和生产环境拼接 URL 地址
 
 **参数**
-| 参数名    | 类型   | 说明                      |
-| --------- | ------ | ------------------------- |
-| devSuffix | String | 开发环境 URL 后缀         |
-| serSuffix | String | 生产环境 URL 后缀(可选) |
+- `devSuffix` (String):开发环境下的 URL 后缀
+- `serSuffix` (String, 可选):生产环境下的 URL 后缀。如果未提供,则使用 `devSuffix`
 
 **返回值**
-| 类型   | 说明                              |
-| ------ | --------------------------------- |
-| String | 拼接后的完整 URL 地址(不含域名) |
+- (String):处理后的完整 URL 地址
 
 **示例**
 ```javascript
@@ -81,27 +77,23 @@
 ```
 
 **注意事项**
-- 如果启用了 Mock 模式(比如本地开发时),URL 会指向本地的 JSON 文件。
-- 支持处理路径中的 `../` 和多余的 `/`。
+- 如果启用了 Mock 模式(比如本地开发时),URL 会指向本地的 JSON 文件
+- 自动处理路径中的 `../` 和多余的 `/`,确保路径正确
 
 ---
 
 ### `get(url, data, options)`
 
 **功能**  
-发起 GET 请求。
+发起 GET 请求
 
 **参数**  
-| 参数名  | 类型   | 说明             |
-| ------- | ------ | ---------------- |
-| url     | String | 请求的 URL 地址  |
-| data    | Object | 请求参数         |
-| options | Object | 请求配置(可选) |
+- `url` (String):请求的 URL 地址
+- `data` (Object):请求参数
+- `options` (Object,可选):请求配置
 
 **返回值**  
-| 类型    | 说明                   |
-| ------- | ---------------------- |
-| Promise | 返回请求结果的 Promise |
+- (Promise):返回请求结果的 Promise
 
 ---
 
@@ -111,16 +103,12 @@
 发起 POST 请求,query 方法的简写
 
 **参数**  
-| 参数名  | 类型   | 说明             |
-| ------- | ------ | ---------------- |
-| url     | String | 请求的 URL 地址  |
-| data    | Object | 请求参数         |
-| options | Object | 请求配置(可选) |
+- `url` (String):请求的 URL 地址
+- `data` (Object):请求参数
+- `options` (Object,可选):请求配置
 
 **返回值**  
-| 类型    | 说明                   |
-| ------- | ---------------------- |
-| Promise | 返回请求结果的 Promise |
+- (Promise):返回请求结果的 Promise
 
 **示例**
 ```js
@@ -142,17 +130,13 @@
 发起基础 AJAX 请求
 
 **参数**  
-| 参数名  | 类型   | 说明                             |
-| ------- | ------ | -------------------------------- |
-| type    | String | 请求类型(如 `'get'`、`'post'`) |
-| url     | String | 请求的 URL 地址                  |
-| data    | Object | 请求参数(可选)                 |
-| options | Object | 请求配置(可选)                 |
+- `type` (String):请求类型(如 `'get'`、`'post'`)
+- `url` (String):请求的 URL 地址
+- `data` (Object,可选):请求参数
+- `options` (Object,可选):请求配置
 
 **返回值**  
-| 类型    | 说明                   |
-| ------- | ---------------------- |
-| Promise | 返回请求结果的 Promise |
+- (Promise):返回请求结果的 Promise
 
 **注意事项**  
 - 小程序环境下会自动处理 Cookie,无需手动设置
@@ -165,14 +149,10 @@
 将下划线命名的字符串转换为小驼峰命名
 
 **参数**  
-| 参数名 | 类型   | 说明             |
-| ------ | ------ | ---------------- |
-| str    | String | 需要转换的字符串 |
+- `str` (String):需要转换的字符串  
 
 **返回值**  
-| 类型   | 说明                 |
-| ------ | -------------------- |
-| String | 转换后的小驼峰字符串 |
+- (String):转换后的小驼峰字符串
 
 ---
 
@@ -181,14 +161,10 @@
 将小驼峰命名的字符串转换为下划线命名,如果没有大写字母,则返回原字符串
 
 **参数**  
-| 参数名 | 类型   | 说明             |
-| ------ | ------ | ---------------- |
-| str    | String | 需要转换的字符串 |
+- `str` (String):需要转换的字符串  
 
 **返回值**  
-| 类型   | 说明                 |
-| ------ | -------------------- |
-| String | 转换后的下划线字符串 |
+- (String):转换后的下划线字符串
 
 ---
 
@@ -197,15 +173,13 @@
 将 JSON 对象的键名在驼峰与下划线命名模式之间转换
 
 **参数**  
-| 参数名 | 类型   | 说明                                 |
-| ------ | ------ | ------------------------------------ |
-| type   | String | 转换类型:`'camel'` 或 `'underline'` |
-| json   | Object | 需要转换的 JSON 对象                 |
+- `type` (String):转换的目标类型,有两个值:
+  - `'camel'`:下划线转小驼峰
+  - `'underline'`:小驼峰转下划线
+- `json` (Object):需要转换的 JSON 对象
 
 **返回值**  
-| 类型   | 说明               |
-| ------ | ------------------ |
-| Object | 转换后的 JSON 对象 |
+- (Object):转换后的 JSON 对象
 
 **示例**  
 ```js
@@ -224,16 +198,40 @@
 ## 请求的 options 配置
 
 ### `hostType` 主机类型
-在混合 App 中,指定本次请求的主机类型(即域名)
 
-- `base` 基础主机(预登陆用)
-- `main` 默认主机,默认值,正常业务主机
+在混合 App 中,指定本次请求的主机类型(即域名),有两个值:
+
+- `base`:基础主机(预登陆用)
+- `main`:默认主机,默认值,正常业务主机
   - 优先由 java 层在 webview 的 URL 上指定
   - 未指定时,按文件 project.config.json 的 host.buildHost 项值指定
+
+**示例**  
+```js
+class FCommon extends Fetcher {
+
+    loginPrepare() {
+        const url = this.spellURL('loginPrepare', 'User/preLogin');
+        const send = {};
+        return this.post(url, send, { hostType: 'base' });
+    }
+}
+```
 
 ### `silence` 静音请求
 设为 true 时,如果请求失败,不显示提示
 
+**示例**  
+```js
+class FCommon extends Fetcher {
+
+    getUserInfo() {
+        const url = this.spellURL('getUserInfo', 'User/info');
+        const send = {};
+        return this.post(url, send, { silence: true });
+    }
+}
+```
 
 
 ## 响应处理
@@ -253,7 +251,7 @@
 
 格式如下:
 
-```
+```js
 {
     state: { // 状态
         code, // 状态码
@@ -283,13 +281,11 @@
 
 ### 前端统一响应状态码
 
-| 状态码 | 意义                                                   |
-| ------ | ------------------------------------------------------ |
-| 2000   | 通用请求成功                                           |
-| 2001   | 请求成功,但是没有数据,弹窗提示 msg(仅特殊情况使用) |
-| 5000   | 通用请求失败,弹窗提示 msg                             |
-| 9001   | 登录已过期,返回登录页                                 |
-| 9002   | 已登录但没有操作权限,弹窗提示 msg                     |
+- `2000`:通用请求成功  
+- `2001`:请求成功,但是没有数据,弹窗提示 msg(仅特殊情况使用)  
+- `5000`:通用请求失败,弹窗提示 msg  
+- `9001`:登录已过期,返回登录页  
+- `9002`:已登录但没有操作权限,弹窗提示 msg
 
 ## 请求调用
 
diff --git "a/@framework/202-\346\225\260\346\215\256\346\216\247\345\210\266\345\261\202\345\237\272\347\261\273Pilot.md" "b/@framework/202-\346\225\260\346\215\256\346\216\247\345\210\266\345\261\202\345\237\272\347\261\273Pilot.md"
index 9547ade..63bfadb 100644
--- "a/@framework/202-\346\225\260\346\215\256\346\216\247\345\210\266\345\261\202\345\237\272\347\261\273Pilot.md"
+++ "b/@framework/202-\346\225\260\346\215\256\346\216\247\345\210\266\345\261\202\345\237\272\347\261\273Pilot.md"
@@ -38,14 +38,10 @@
 创建页面合并对象,将实例的属性和方法映射到页面合并对象中
 
 **参数**  
-| 参数名  | 类型   | 说明                       |
-| ------- | ------ | -------------------------- |
-| dataAdd | Object | 需要添加到页面中的额外数据 |
+- `dataAdd` (Object):需要添加到页面中的额外数据  
 
 **返回值**  
-| 类型   | 说明         |
-| ------ | ------------ |
-| Object | 页面合并对象 |
+- (Object):页面合并对象
 
 
 **注意事项**  
@@ -53,20 +49,17 @@
 - `$` 开头的属性会被直接映射到合并对象中,同时去掉 `$` 前缀
 - 非 `$` 开头的属性会被映射到合并对象的 `methods` 属性中
 
+---
 
 ### `transAssets(assets)`
 **功能**  
 转换静态图片引用的路径,根据运行环境(H5 或小程序)生成图片实际发布的路径
 
 **参数**  
-| 参数名 | 类型   | 说明               |
-| ------ | ------ | ------------------ |
-| assets | Object | 包含图片路径的对象 |
+- `assets` (Object):包含图片路径的对象  
 
 **返回值**  
-| 类型   | 说明                 |
-| ------ | -------------------- |
-| Object | 转换后的图片路径对象 |
+- (Object):转换后的图片路径对象
 
 #### 静态图片地址转换说明
 
@@ -107,12 +100,12 @@
 
 ## 页面合并流程
 
-`createOptions` 是类 Pilot 的核心方法,此方法将独立申明的信息合并回原 Vue 对象
+`createOptions` 是类 Pilot 的核心方法,此方法将独立申明的信息转换为合并对象,以方便原 Vue 对象进行合并
 
 ### 第一步:生成合并对象
 
-* 扫描当前类,以 \$ 开头的属性或方法,去掉 \$ 符后,直接作为 Vue 的属性或方法准备合并
-* 扫描当前类,非以 \$ 开头的方法,作为 Vue 对象申明中 methods 的子级方法准备合并
+* 扫描当前类,以 `$` 开头的属性或方法,去掉 `$` 符后,直接作为 Vue 的属性或方法准备合并
+* 扫描当前类,非以 `$` 开头的方法,作为 Vue 对象申明中 methods 的子级方法准备合并
 * 生成合并对象,用以进行合并
 
 ```js
@@ -192,11 +185,12 @@
 this.$poster(direction, action, data);
 ```
 
-| 参数名    | 类型   | 必填 | 描述                                                     |
-| --------- | ------ | ---- | -------------------------------------------------------- |
-| direction | String | 是   | 发送去向,有两个值,下一页'nextPage'、上一页'prevPage') |
-| action    | String | 是   | 动作名称                                                 |
-| data      | any    | 否   | 携带数据                                                 |
+参数:  
+- `direction` (String,必填):发送去向,有两值:
+  - `'nextPage'`:发生给下一页(如果正在创建,会等待创建成功后再传递)
+  - `'prevPage'`:发送给上一页
+- `action` (String,必填):动作名称  
+- `data` (any,可选):携带数据
 
 例如:
 
diff --git "a/@framework/210-\345\205\254\345\205\261\345\267\245\345\205\267\347\256\261Tools.md" "b/@framework/210-\345\205\254\345\205\261\345\267\245\345\205\267\347\256\261Tools.md"
index 4e41d51..93e77c0 100644
--- "a/@framework/210-\345\205\254\345\205\261\345\267\245\345\205\267\347\256\261Tools.md"
+++ "b/@framework/210-\345\205\254\345\205\261\345\267\245\345\205\267\347\256\261Tools.md"
@@ -5,6 +5,18 @@
   - [引用方法](#引用方法)
   - [使用方法](#使用方法)
   - [方法列表](#方法列表)
+    - [`toast()`](#toast)
+    - [`getUrlParam(name, search)`](#geturlparamname-search)
+    - [`createGUID()`](#createguid)
+    - [`getRandomString(long)`](#getrandomstringlong)
+    - [`isNumber(data)`](#isnumberdata)
+    - [`isString(data)`](#isstringdata)
+    - [`isBoolean(data)`](#isbooleandata)
+    - [`isObject(data)`](#isobjectdata)
+    - [`isArray(data)`](#isarraydata)
+    - [`isFunction(data)`](#isfunctiondata)
+    - [`isUndefined(data)`](#isundefineddata)
+    - [`isNull(data)`](#isnulldata)
   - [部分功能详解](#部分功能详解)
     - [momentFormat 时间格式化](#momentformat-时间格式化)
     - [debounce、throttle 防抖和节流](#debouncethrottle-防抖和节流)
@@ -31,269 +43,225 @@
 
 ## 方法列表
 
-```JS
-export class Tools {
-    /**
-     * 显示消息
-     * @param {string} msg - 消息内容
-     * @param {number} [duration=2000] - 显示时长,默认2000毫秒
-     * @param {boolean} [mask=false] - 是否显示透明蒙层,防止触摸穿透,默认false
-     */
-    static toast(msg, duration = 2000, mask = false) {}
+### `toast()`
+**功能**  
+显示消息提示。
 
-    /**
-     * URL参数解析
-     * @param {string} name - 参数名
-     * @param {string} [search] - URL查询字符串,默认当前页面URL
-     * @return {string|null} 返回参数值或null
-     */
-    static getUrlParam(name, search) {}
+**参数**  
+- `msg` (String):需要显示的消息内容。  
+- `duration` (Number,可选,默认值 `2000`):消息显示的时长,单位为毫秒。  
+- `mask` (Boolean,可选,默认值 `false`):是否显示遮罩层。
 
-    /**
-     * 生成 GUID
-     * @return {string} 返回生成的GUID
-     */
-    static createGUID() {}
+**返回值**  
+无
 
-    /**
-     * 获取随机字符串
-     * @param {number} [long] - 字符串长度,默认32
-     * @return {string} 返回生成的随机字符串
-     */
-    static getRandomString(long = 32) {}
-
-    /**
-     * 判断是否是数字
-     * @param {*} data - 要判断的数据
-     * @return {boolean} 返回是否为数字
-     */
-    static isNumber(data) {}
-
-    /**
-     * 判断是否是字符串
-     * @param {*} data - 要判断的数据
-     * @return {boolean} 返回是否为字符串
-     */
-    static isString(data) {}
-
-    /**
-     * 判断是否为布尔值
-     * @param {*} data - 要判断的数据
-     * @return {boolean} 返回是否为布尔值
-     */
-    static isBoolean(data) {}
-
-    /**
-     * 判断是否是普通对象
-     * @param {*} data - 要判断的数据
-     * @return {boolean} 返回是否为普通对象
-     */
-    static isObject(data) {}
-
-    /**
-     * 判断是否是数组
-     * @param {*} data - 要判断的数据
-     * @return {boolean} 返回是否为数组
-     */
-    static isArray(data) {}
-
-    /**
-     * 判断是否是函数
-     * @param {*} data - 要判断的数据
-     * @return {boolean} 返回是否为函数
-     */
-    static isFunction(data) {}
-
-    /**
-     * 判断是否为未定义
-     * @param {*} data - 要判断的数据
-     * @return {boolean} 返回是否为未定义
-     */
-    static isUndefined(data) {}
-
-    /**
-     * 判断是否为 null
-     * @param {*} data - 要判断的数据
-     * @return {boolean} 返回是否为 null
-     */
-    static isNull(data) {}
-
-    /**
-     * 是否为空对象
-     * @param {*} obj - 要判断的对象
-     * @return {boolean} 返回是否为空对象
-     */
-    static isEmptyObject(obj) {}
-
-    /**
-     * 判断对象是否在属性上相等
-     * @param {Object} a - 对象a
-     * @param {Object} b - 对象b
-     * @return {boolean} 返回对象是否相等
-     */
-    static isObjValEqual(a, b) {}
-
-    /**
-     * 统计字符串占位宽度(汉字占两位)
-     * @param {string} string - 要统计的字符串
-     * @return {number} 返回字符串占位宽度
-     */
-    static countStringLength(string) {}
-
-    /**
-     * 获取字符串基于字节长度的剪切点
-     * @param {string} string - 要剪切的字符串
-     * @param {number} byteLength - 字节长度
-     * @return {number} 返回剪切点位置
-     */
-    static getStringCutIndex(string, byteLength) {}
-
-    /**
-     * 限制数值范围,超出边界返回边界值
-     * @param {number|string} num - 数值
-     * @param {[number, number]} range - 数值范围
-     * @return {number} 返回限制后的数值
-     */
-    static limitNumberRange(num, range) {}
-
-    /**
-     * 深拷贝
-     * @param {Object} source - 源对象
-     * @return {Object|Array} 返回深拷贝后的对象或数组
-     */
-    static deepCopy(source) {}
-
-    /**
-     * 深合并
-     * @param {Object|Array} target - 目标对象或数组
-     * @param {Object|Array} source - 源对象或数组
-     * @return {Object|Array} 返回合并后的对象或数组
-     */
-    static deepCombine(target, source) {}
-
-    /**
-     * 数组元素交换位置
-     * @param {Array} arr - 数组
-     * @param {number} fromIndex - 要交换项目的位置
-     * @param {number} toIndex - 被交换项目的位置
-     * @return {Array} 返回交换后的数组
-     */
-    static swapArray(arr, fromIndex, toIndex) {}
-
-    /**
-     * 使用 moment.js 格式化时间戳
-     * @param {number|string} timestamp - 时间戳
-     * @param {string} [type='date'] - 格式化类型
-     * @return {string} 返回格式化后的时间字符串
-     */
-    static momentFormat(timestamp, type = 'date') {}
-
-    /**
-     * 数值转换为时长描述
-     * @param {number} timestamp - 时间戳
-     * @return {string} 返回时长描述
-     */
-    static durationFormat(timestamp) {}
-
-    /**
-     * 数值转换为金钱格式
-     * @param {number|string} number - 数值
-     * @param {string} [forRead=''] - 便于阅读财务金额模式
-     * @return {string} 返回格式化后的金钱字符串
-     */
-    static moneyFormat(number, forRead = '') {}
-
-    /**
-     * 数值转换为千分位格式
-     * @param {number|string} number - 数值
-     * @param {string} decimalFormat - 处理小数的方式,有 notRetain、keepTwo、keepThree 三个值
-     * @return {string} 返回格式化后的字符串
-     */
-    static thousandFormat(number, decimalFormat = 'keepTwo') {}
-
-    /**
-     * 加法函数,用来得到精确的加法结果
-     * @param {number|string} num1 - 数值1
-     * @param {number|string} num2 - 数值2
-     * @return {number} 返回加法结果
-     */
-    static accAdd(num1, num2) {}
-
-    /**
-     * 减法函数,用来得到精确的减法结果
-     * @param {number|string} num1 - 数值1
-     * @param {number|string} num2 - 数值2
-     * @return {number} 返回减法结果
-     */
-    static accSub(num1, num2) {}
-
-    /**
-     * 乘法函数,用来得到精确的乘法结果
-     * @param {number|string} num1 - 数值1
-     * @param {number|string} num2 - 数值2
-     * @return {number} 返回乘法结果
-     */
-    static accMul(num1, num2) {}
-
-    /**
-     * 除法函数,用来得到精确的除法结果
-     * @param {number|string} num1 - 数值1
-     * @param {number|string} num2 - 数值2
-     * @return {number} 返回除法结果
-     */
-    static accDiv(num1, num2) {}
-
-    /**
-     * 求小数点后的数据长度
-     * @param {number|string} num - 数值
-     * @return {number} 返回小数点后的数据长度
-     */
-    static getDecimalLength(num) {}
-
-    /**
-     * 判断是否为手机号码
-     * @param {number|string} phone - 手机号码
-     * @return {boolean} 返回是否为手机号码
-     */
-    static isPhone(phone) {}
-
-    /**
-     * 转换周数到日期
-     * @param {number} year - 年份
-     * @param {number} week - 周数
-     * @param {number} weekDay - 需要输出星期几对应的日期 (1~7)
-     * @return {string} 返回对应的日期
-     */
-    static transWeekIndexToDate(year, week, weekDay) {}
-
-    /**
-     * 防抖函数(一段时间周期内,仅执行最后一次回调)
-     * @param {Function} fnc - 回调函数
-     * @param {number} wait - 等待时间,默认200毫秒
-     * @return {Function} 返回防抖函数
-     * @tutorial Tools.debounce(<fnc>, <wait>)(<DebounceKey>)
-     */
-    static debounce(fnc, wait = 200) {}
-
-    /**
-     * 节流函数(本段时间内,仅执行第一次回调)
-     * @param {Function} fnc - 回调函数
-     * @param {number} wait - 等待时间,默认200毫秒
-     * @return {Function} 返回节流函数
-     * @tutorial Tools.throttle(<fnc>, <wait>)(<ThrottleKey>)
-     */
-    static throttle(fnc, wait = 200) {}
-
-    /**
-     * 精确保留小数点几位数,自动补零,修复 toFixed 四舍五入和后端不一致的问题
-     * @param {number|string} num - 数值
-     * @param {number} [digit=0] - 小数点后位数
-     * @return {string|NaN} 返回保留小数点后的数值或NaN
-     */
-    static accFixed(num, digit = 0) {}
-}
+**示例**  
+```javascript
+Tools.toast('操作成功');
 ```
 
+---
+
+### `getUrlParam(name, search)`
+**功能**  
+解析 URL 参数。
+
+**参数**  
+- `name` (String):需要解析的参数名。  
+- `search` (String,可选):自定义的查询字符串,默认为当前页面的 `window.location.search`。
+
+**返回值**  
+- `String`: 解析后的参数值。  
+- `Null`: 如果参数不存在或在小程序环境中,返回 `null`。
+
+**示例**  
+```javascript
+const userId = Tools.getUrlParam('userId');
+```
+
+**注意事项**  
+- 该方法仅适用于浏览器环境,在小程序环境中,该方法直接返回 `null`  
+
+---
+
+### `createGUID()`
+**功能**  
+生成一个全局唯一标识符(GUID)。
+
+**参数**  
+无
+
+**返回值**
+- `String`:返回一个符合 GUID 格式的字符串。
+
+**示例**
+```javascript
+const guid = Tools.createGUID();
+console.log(guid); // 输出类似 "3b9f1a2c-4e5f-4d3a-8b2c-1a2b3c4d5e6f"
+```
+
+**注意事项**
+- 生成的 GUID 是基于随机数的,虽然概率极低,但不能保证绝对唯一,因此不适于永久存储的业务。
+  
+---
+
+### `getRandomString(long)`
+**功能**  
+生成一个指定长度的随机字符串。
+
+**参数**
+- `long` (Number,可选):生成的字符串长度,默认为 32。
+
+**返回值**:
+- (String):返回一个随机字符串。
+
+**示例**
+```javascript
+const randomString = Tools.getRandomString(16);
+console.log(randomString); // 输出类似 "aB3dEfGhIjKlMnOp"
+```
+
+**注意事项**:
+- 生成的字符串仅包含指定的字符集,不包含容易混淆的字符(如 `1`, `l`, `0`, `O` 等)。
+
+---
+
+### `isNumber(data)`
+**功能**:判断传入的数据是否为数值类型。
+
+**参数**:
+- `data` (*):需要判断的数据。
+
+**返回值**:
+- (Boolean):如果数据是数值类型,返回 `true`,否则返回 `false`。
+
+**示例**:
+```javascript
+console.log(Tools.isNumber(123)); // true
+console.log(Tools.isNumber('123')); // false
+```
+
+---
+
+### `isString(data)`
+**功能**:判断传入的数据是否为字符串类型。
+
+**参数**:
+- `data` (*):需要判断的数据。
+
+**返回值**:
+- (Boolean):如果数据是字符串类型,返回 `true`,否则返回 `false`。
+
+**示例**:
+```javascript
+console.log(Tools.isString('hello')); // true
+console.log(Tools.isString(123)); // false
+```
+
+---
+
+### `isBoolean(data)`
+**功能**:判断传入的数据是否为布尔类型。
+
+**参数**:
+- `data` (*):需要判断的数据。
+
+**返回值**:
+- (Boolean):如果数据是布尔类型,返回 `true`,否则返回 `false`。
+
+**示例**:
+```javascript
+console.log(Tools.isBoolean(true)); // true
+console.log(Tools.isBoolean('true')); // false
+```
+
+---
+
+### `isObject(data)`
+**功能**:判断传入的数据是否为普通对象类型。
+
+**参数**:
+- `data` (*):需要判断的数据。
+
+**返回值**:
+- (Boolean):如果数据是普通对象类型,返回 `true`,否则返回 `false`。
+
+**示例**:
+```javascript
+console.log(Tools.isObject({})); // true
+console.log(Tools.isObject([])); // false
+```
+---
+
+### `isArray(data)`
+**功能**:判断传入的数据是否为数组类型。
+
+**参数**:
+- `data` (*):需要判断的数据。
+
+**返回值**:
+- (Boolean):如果数据是数组类型,返回 `true`,否则返回 `false`。
+
+**示例**:
+```javascript
+console.log(Tools.isArray([])); // true
+console.log(Tools.isArray({})); // false
+```
+
+---
+
+### `isFunction(data)`
+**功能**:判断传入的数据是否为函数类型。
+
+**参数**:
+- `data` (*):需要判断的数据。
+
+**返回值**:
+- (Boolean):如果数据是函数类型,返回 `true`,否则返回 `false`。
+
+**示例**:
+```javascript
+console.log(Tools.isFunction(() => {})); // true
+console.log(Tools.isFunction({})); // false
+```
+
+---
+
+### `isUndefined(data)`
+**功能**:判断传入的数据是否为 `undefined`。
+
+**参数**:
+- `data` (*):需要判断的数据。
+
+**返回值**:
+- (Boolean):如果数据是 `undefined`,返回 `true`,否则返回 `false`。
+
+**示例**:
+```javascript
+console.log(Tools.isUndefined(undefined)); // true
+console.log(Tools.isUndefined(null)); // false
+```
+
+---
+
+### `isNull(data)`
+**功能**:判断传入的数据是否为 `null`。
+
+**参数**:
+- `data` (*):需要判断的数据。
+
+**返回值**:
+- (Boolean):如果数据是 `null`,返回 `true`,否则返回 `false`。
+
+**示例**:
+```javascript
+console.log(Tools.isNull(null)); // true
+console.log(Tools.isNull(undefined)); // false
+```
+
+---
+
+
 ## 部分功能详解
 
 ### momentFormat 时间格式化

--
Gitblit v1.9.1