---
title: "基础与请求"
description: "初始化、通用工具和 HTTP 请求封装。 共 15 个 Wb 公共方法。"
---

> Documentation Index
> Fetch the complete documentation index at: https://ag.879818327.xyz/llms.txt
> Use this file to discover all available pages before exploring further.

# 基础与请求

本文档由项目中的 `wb-debug.js` 自动提取。每个条目包含源码提炼的使用说明、优先采用源码示例的用法示例，以及完整 JSDoc 供参数和行为核对。

## Wb.tip

```javascript
Wb.tip(message, isError, topCenter);
```

源码：`wb-debug.js:85`

**使用说明**

显示带有标题和图标的浮动提示信息窗口。

**用法示例**

以下为最小调用模板；请将 `app.*`、示例值和地址替换为当前页面的实际对象。

```javascript
Wb.tip(
  "示例值",
  true,
  /* topCenter */ undefined
);
```

**源码注释**

```javascript
/**
 * 显示带有标题和图标的浮动提示信息窗口。
 * @param {String/Object} message 显示的信息或信息配置对象。
 * @param {Boolean} [isError] 是否为错误信息，默认为false。
 * @param {Boolean} [topCenter] 是否自顶部中间显示，默认在右下角显示。
 */
```

## Wb.notify

```javascript
Wb.notify(html, highlight, autoClear);
```

源码：`wb-debug.js:118`

**使用说明**

在Home主页的信息栏显示通知高亮消息。该方法仅在Home主页内有效，否则使用Wb.tip方法替代消息显示。

**用法示例**

以下为最小调用模板；请将 `app.*`、示例值和地址替换为当前页面的实际对象。

```javascript
Wb.notify(
  "示例值",
  true,
  true
);
```

**源码注释**

```javascript
/**
 * 在Home主页的信息栏显示通知高亮消息。该方法仅在Home主页内有效，否则使用Wb.tip方法替代消息显示。
 * @param {String} html 显示消息的内容。
 * @param {Booleann} [highlight] 是否亮高背景。默认为false。
 * @param {Boolean} [autoClear] 是否自动清除消息内容。false不清除，true 4.5秒后清除消息。默认为false。
 */
```

## Wb.toString

```javascript
Wb.toString(object);
```

源码：`wb-debug.js:145`

**使用说明**

把对象转换成以字符串形式显示的值。

**用法示例**

以下示例依据函数体中的实际调用关系整理。

```javascript
Wb.toString(app.object);
```

**源码注释**

```javascript
/**
 * 把对象转换成以字符串形式显示的值。
 * @param {Object} object 转换的对象。
 * @return {String} 字符串形式显示的值。
 */
```

## Wb.each

```javascript
Wb.each(data, fn, reverse);
```

源码：`wb-debug.js:157`

**使用说明**

遍历数组或对象的各个元素。 如果函数返回false，将中断遍历。

**用法示例**

以下为最小调用模板；请将 `app.*`、示例值和地址替换为当前页面的实际对象。

```javascript
Wb.each(
  { /* 参数或数据 */ },
  function () {
  // 处理结果
},
  true
);
```

**源码注释**

```javascript
/**
 * 遍历数组或对象的各个元素。
 *
 * @param {Array/Object} data 遍历的数组或对象。
 * @param {Function} fn 每遍历一个元素所执行的回调方法。对于数组传递的参数为值和索引，对于对象传递的参数为名称和值。
 * 如果函数返回false，将中断遍历。
 * @param {Boolean} [reverse] 是否倒序遍历，仅适用于数组，默认为false。
 * @return {Boolean} true遍历完成，否则返回索引号（数组）或false（对象）。
 */
```

## Wb.indexOf

```javascript
Wb.indexOf(array, item);
```

源码：`wb-debug.js:191`

**使用说明**

判断指定条目在数组中的位置。

**用法示例**

以下为最小调用模板；请将 `app.*`、示例值和地址替换为当前页面的实际对象。

```javascript
Wb.indexOf(
  /* array */ undefined,
  /* item */ undefined
);
```

**源码注释**

```javascript
/**
 * 判断指定条目在数组中的位置。
 * @param {Array} array 数组对象。
 * @param {Object} item 需要判断的条目。
 * @return {Number} 条目在数组中的位置。第1个为0，第2个为1，依此类推。-1表示没有找到。
 */
```

## Wb.dom

```javascript
Wb.dom(id);
```

源码：`wb-debug.js:206`

**使用说明**

获得指定id名称的dom对象

**用法示例**

以下为最小调用模板；请将 `app.*`、示例值和地址替换为当前页面的实际对象。

```javascript
Wb.dom(/* id */ undefined);
```

**源码注释**

```javascript
/**
 * 获得指定id名称的dom对象
 * @param {String} id 组件的id名称。
 * @return {DOM} DOM对象。
 */
```

## Wb.emptyFn

```javascript
Wb.emptyFn();
```

源码：`wb-debug.js:212`

**使用说明**

空方法。不执行任何操作，也不返回任何值。

**用法示例**

以下为最小调用模板；请将 `app.*`、示例值和地址替换为当前页面的实际对象。

```javascript
Wb.emptyFn();
```

**源码注释**

```javascript
/**
 * 空方法。不执行任何操作，也不返回任何值。
 */
```

## Wb.isEmpty

```javascript
Wb.isEmpty(value);
```

源码：`wb-debug.js:220`

**使用说明**

判断值是否为空。如果值为null, undefined, 空串或数组长度为0，则为空。

**用法示例**

以下为最小调用模板；请将 `app.*`、示例值和地址替换为当前页面的实际对象。

```javascript
Wb.isEmpty(/* value */ undefined);
```

**源码注释**

```javascript
/**
 * 判断值是否为空。如果值为null, undefined, 空串或数组长度为0，则为空。
 *
 * @param {Object} value 需要判断的值，可以为字符串或数组等。
 * @return {Boolean} 如果为空则返回true，否则返回false。
 */
```

## Wb.init

```javascript
Wb.init(sysData);
```

源码：`wb-debug.js:227`

**使用说明**

客户端wb.js初始化，完成对相关参数的赋值。

**用法示例**

以下为最小调用模板；请将 `app.*`、示例值和地址替换为当前页面的实际对象。

```javascript
Wb.init(/* sysData */ undefined);
```

**源码注释**

```javascript
/**
 * 客户端wb.js初始化，完成对相关参数的赋值。
 * @param {Object} sysData 系统数据。
 */
```

## Wb.defineConsoleMethods

```javascript
Wb.defineConsoleMethods();
```

源码：`wb-debug.js:282`

**使用说明**

定义浏览器控制台常用方法。如果指定控制台方法不存在，方法将不产生任何效果。

**用法示例**

以下为最小调用模板；请将 `app.*`、示例值和地址替换为当前页面的实际对象。

```javascript
Wb.defineConsoleMethods();
```

**源码注释**

```javascript
/**
 * 定义浏览器控制台常用方法。如果指定控制台方法不存在，方法将不产生任何效果。
 */
```

## Wb.request

```javascript
Wb.request(options);
```

源码：`wb-debug.js:320`

**使用说明**

发起HTTP请求至远程服务器，该方法是对Ext.Ajax.request的封装，以提供更多功能，如异常处理、参数传递及mask机制。

**用法示例**

以下示例直接取自源码注释。

```javascript
Wb.request({url: 'm?xwl=file', params: {foo: 'abc', bar: 123}, success: function(response){
  Wb.info(response.responseText);
}});
```

**源码注释**

```javascript
/**
 * 发起HTTP请求至远程服务器，该方法是对Ext.Ajax.request的封装，以提供更多功能，如异常处理、参数传递及mask机制。
 *
 * Example:
 *
 *     Wb.request({url: 'm?xwl=file', params: {foo: 'abc', bar: 123}, success: function(response){
 *       Wb.info(response.responseText);
 *     }});
 *
 * @param {Object} options 配置选项，参见Ext.Ajax.request的options参数。更多的选项：
 * @param {String} [options.message] 请求时显示的mask信息，默认为Str.processing。
 * @param {Boolean} [options.showMask] 指定请求时是否显示mask，默认为true。
 * @param {Element/Component} [options.mask] 指定请求时mask的遮盖对象，默认为整个window。
 * @param {Boolean} [options.showError] 指定是否显示请求返回的错误信息，默认为true。
 * @param {Boolean} [options.rawParams] 是否输出原始的参数，true原始参数，false经过编码后的参数。默认为false。如设置为true，参数param:[1,2,3]将输出多个同名的参数。
 * @param {Component/Component[]} [options.out] 控件列表，指定列表中的所有控件及其子控件值作为参数。
 * @return 请求的对象，通常用于取消请求。
 */
```

## Wb.requestAg

```javascript
Wb.requestAg(options);
```

源码：`wb-debug.js:351`

**使用说明**

修改requset

**用法示例**

以下为最小调用模板；请将 `app.*`、示例值和地址替换为当前页面的实际对象。

```javascript
Wb.requestAg({ /* 配置项 */ });
```

**源码注释**

```javascript
/**
 * 修改requset
 * @param options
 * @returns {*}
 */
```

## Wb.getKeyName

```javascript
Wb.getKeyName(keyName,type);
```

源码：`wb-debug.js:393`

**使用说明**

从redis获取下拉数据 array为数组 其他为对象 return [\{ \},\{...\}] 如果为其他 return \{ \}

**用法示例**

以下为最小调用模板；请将 `app.*`、示例值和地址替换为当前页面的实际对象。

```javascript
Wb.getKeyName(
  /* keyName */ undefined,
  /* type */ undefined
);
```

**源码注释**

```javascript
/**
 * 从redis获取下拉数据 array为数组 其他为对象
 * @param keyName scode值
 * @param type 类型
 * @returns 如果type为array
 * return [{
 *     label:"名称",
 *     value:"值"
 * },{...}]
 * 如果为其他
 * return {
 *     "值":"名称",
 *     ....
 * }
 */
```

## Wb.setTextLimitFirstP

```javascript
Wb.setTextLimitFirstP(url, panelTarget);
```

源码：`wb-debug.js:410`

**使用说明**

同步请求 common/selectTextLimit，并遍历一级 panel 数组的子项。匹配到 ITEMID 后会设置 allowBlank、maxLength；当 WRAPLENGTH 有值时，会绑定 change 事件并调用 Wb.getWrapValue 自动换行。

**用法示例**

以下示例依据函数体中的实际调用关系整理。

```javascript
Wb.setTextLimitFirstP(
  "module/edit",
  [app.panel1, app.panel2]
);
```

**源码注释**

```javascript
/**
 * 源码未提供 JSDoc。
 */
```

## Wb.getUuid

```javascript
Wb.getUuid();
```

源码：`wb-debug.js:514`

**使用说明**

生成主键

**用法示例**

以下为最小调用模板；请将 `app.*`、示例值和地址替换为当前页面的实际对象。

```javascript
Wb.getUuid();
```

**源码注释**

```javascript
/**
 * 生成主键
 * @param options
 */
```

Source: https://ag.879818327.xyz/api/core-and-request/index.mdx
