---
title: "消息、窗口与遮罩"
description: "提示、确认、登录、遮罩及窗口辅助方法。 共 23 个 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.toLocal

```javascript
Wb.toLocal(date);
```

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

**使用说明**

把服务器时间按时差转换成客户端本地时间。

**用法示例**

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

```javascript
Wb.toLocal(new Date());
```

**源码注释**

```javascript
/**
 * 把服务器时间按时差转换成客户端本地时间。
 * @param {Date} date 服务器端时间。
 * @return {Date} 加上时差后的客户端本地时间。
 */
```

## Wb.showIconMessage

```javascript
Wb.showIconMessage(title, message, handler, animateTarget, icon);
```

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

**使用说明**

显示一个带图表的信息对话框。 Ext.MessageBox.QUESTION, Ext.MessageBox.ERROR。

**用法示例**

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

```javascript
Wb.showIconMessage(
  "示例值",
  "示例值",
  function () {
  // 处理结果
},
  /* animateTarget */ undefined,
  /* icon */ undefined
);
```

**源码注释**

```javascript
/**
 * 显示一个带图表的信息对话框。
 * @param {String} title 标题。
 * @param {String} message 信息。
 * @param {Function} handler 回调函数。当对话框被点击按钮或按键而隐藏时触发。
 * @param {String} handler.buttonId 点击按钮时的值，可能值为ok, yes, no或cancel。
 * @param {String/Ext.dom.Element} animateTarget 对话框显示或隐藏时的动画效果目标id或元素对象。
 * @param {String} icon 显示在对话框中的图标，可能值为Ext.MessageBox.OK, Ext.MessageBox.WARNING,
 * Ext.MessageBox.QUESTION, Ext.MessageBox.ERROR。
 * @return {Ext.window.MessageBox} 对话框对象。
 */
```

## Wb.info

```javascript
Wb.info(message, handler, animateTarget, title);
```

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

**使用说明**

显示带消息图标的常规消息对话框。详细说明见 Wb.showIconMessage。

**用法示例**

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

```javascript
Wb.info(
  "示例值",
  function () {
  // 处理结果
},
  /* animateTarget */ undefined,
  "示例值"
);
```

**源码注释**

```javascript
/**
 * 显示带消息图标的常规消息对话框。详细说明见 {@link #showIconMessage}。
 */
```

## Wb.warn

```javascript
Wb.warn(message, handler, animateTarget, title);
```

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

**使用说明**

显示带警告图标的警告信息对话框。详细说明见 Wb.showIconMessage。

**用法示例**

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

```javascript
Wb.warn(
  "示例值",
  function () {
  // 处理结果
},
  /* animateTarget */ undefined,
  "示例值"
);
```

**源码注释**

```javascript
/**
 * 显示带警告图标的警告信息对话框。详细说明见 {@link #showIconMessage}。
 */
```

## Wb.error

```javascript
Wb.error(message, handler, animateTarget, title);
```

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

**使用说明**

显示带错误图标的错误信息对话框。详细说明见 Wb.showIconMessage。

**用法示例**

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

```javascript
Wb.error(
  "示例值",
  function () {
  // 处理结果
},
  /* animateTarget */ undefined,
  "示例值"
);
```

**源码注释**

```javascript
/**
 * 显示带错误图标的错误信息对话框。详细说明见 {@link #showIconMessage}。
 */
```

## Wb.except

```javascript
Wb.except(response, handler, animateTarget);
```

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

**使用说明**

显示带错误图标的异常信息对话框。异常信息来自服务器端，根据服务器端返回的状态码执行异常处理。 如果服务器返回401将打开登录对话框，其他状态码将显示该状态码的错误信息。 Ajax为response对象，form提交方法为action对象。 详细说明见 Wb.showIconMessage。

**用法示例**

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

```javascript
Wb.except(
  /* response */ undefined,
  function () {
  // 处理结果
},
  /* animateTarget */ undefined
);
```

**源码注释**

```javascript
/**
 * 显示带错误图标的异常信息对话框。异常信息来自服务器端，根据服务器端返回的状态码执行异常处理。
 * 如果服务器返回401将打开登录对话框，其他状态码将显示该状态码的错误信息。
 * @param {XMLHttpRequest/Ext.form.action.Submit} response 包含响应数据的对象。
 * Ajax为response对象，form提交方法为action对象。
 * 详细说明见 {@link #showIconMessage}。
 */
```

## Wb.confirm

```javascript
Wb.confirm(message, handler, animateTarget, title);
```

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

**使用说明**

显示带问号图标的确认对话框。详细说明见 Wb.showIconMessage。 如果参数为函数数组，则第一个函数在点击确定时执行，第二个函数在没有点击确定时执行。

**用法示例**

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

```javascript
Wb.confirm('确定要执行吗？', function(){
  Wb.info('你点击了确定按钮');
});
```

**源码注释**

```javascript
/**
 * 显示带问号图标的确认对话框。详细说明见 {@link #showIconMessage}。
 *
 * Example:
 *
 *     Wb.confirm('确定要执行吗？', function(){
 *       Wb.info('你点击了确定按钮');
 *     });
 *
 * @param {Function/Function[]} handler 如果参数为函数，则在点击确定按钮时执行；
 * 如果参数为函数数组，则第一个函数在点击确定时执行，第二个函数在没有点击确定时执行。
 */
```

## Wb.confirmDo

```javascript
Wb.confirmDo(records, handler, fieldName, verb, animateTarget);
```

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

**使用说明**

按格式化的提示文本显示确定对话框。见：Wb.confirm使用。

**用法示例**

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

```javascript
Wb.confirmDo(
  [],
  function () {
  // 处理结果
},
  "示例值",
  /* verb */ undefined,
  /* animateTarget */ undefined
);
```

**源码注释**

```javascript
/**
 * 按格式化的提示文本显示确定对话框。见：Wb.confirm使用。
 * @param {Ext.data.Model[]} records 记录数组。该方法从这些记录中获取提示信息。
 * @param {Function} [handler] 回调函数。
 * @param {String} [fieldName] 提示文本取自哪个字段。默认为第1个字段。
 * @param {String} [verb] 提示文本中的操作词。默认为Str.del。
 * @param {String/Ext.dom.Element} [animateTarget] 对话框显示或隐藏时的动画效果目标id或元素对象。
 * @return {Ext.window.MessageBox} 对话框对象。
 */
```

## Wb.choose

```javascript
Wb.choose(message, handler, animateTarget, title);
```

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

**使用说明**

显示带“是”，“否”和“取消”按钮的选择对话框。详细说明见 Wb.showIconMessage。

**用法示例**

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

```javascript
Wb.choose('请点击按钮。', function(btn){
  Wb.info('你点击了：'+btn);
});
```

**源码注释**

```javascript
/**
 * 显示带“是”，“否”和“取消”按钮的选择对话框。详细说明见 {@link #showIconMessage}。
 *
 * Example:
 *
 *     Wb.choose('请点击按钮。', function(btn){
 *       Wb.info('你点击了：'+btn);
 *     });
 *
 */
```

## Wb.login

```javascript
Wb.login(beforeFn, afterFn);
```

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

**使用说明**

以对话框的形式显示登录窗口。

**用法示例**

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

```javascript
Wb.login(
  /* beforeFn */ undefined,
  /* afterFn */ undefined
);
```

**源码注释**

```javascript
/**
 * 以对话框的形式显示登录窗口。
 * @param {Function} [beforeFn] 显示登录对话框后的回调函数。
 * @param {Function} [afterFn] 登录成功后的回调函数。
 */
```

## Wb.upRedisService

```javascript
Wb.upRedisService(keyName);
```

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

**使用说明**

以同步请求调用 common/S_Code/S_CodeEdit/updateRedisService，并仅传递 keyName。方法不处理响应值或失败回调，因此调用方应确认当前页面允许同步阻塞。

**用法示例**

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

```javascript
Wb.upRedisService("CLIENT_TYPE");
```

**源码注释**

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

## Wb.mask

```javascript
Wb.mask(component, message, maskTimeout);
```

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

**使用说明**

对指定组件覆盖mask，并显示提示信息。如果组件被多次mask，则多条信息同时显示在mask上。组件在开始时只加盖透明mask， 在指定时间之后加盖半透明mask，以防止快速加载时的闪烁，该时间值由变量sys.session.maskTimeout设定。

**用法示例**

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

```javascript
Wb.mask(null, '正在保存中...');
```

**源码注释**

```javascript
/**
 * 对指定组件覆盖mask，并显示提示信息。如果组件被多次mask，则多条信息同时显示在mask上。组件在开始时只加盖透明mask，
 * 在指定时间之后加盖半透明mask，以防止快速加载时的闪烁，该时间值由变量sys.session.maskTimeout设定。
 *
 * Example:
 *
 *     Wb.mask(null, '正在保存中...');
 *
 * @param {Component/Function} [component] 需要加遮盖的组件，默认为整个窗口。
 * @param {String} [message] 指定覆盖在组件上mask的提示信息，默认为Str.processing。
 * @param {Number} [maskTimeout] 指定多少毫秒后显示mask，默认为sys.session.maskTimeout。
 */
```

## Wb.unmask

```javascript
Wb.unmask(component, message);
```

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

**使用说明**

移去覆盖在组件上的mask。如果组件被多次mask，则每次unmask仅移去指定信息，直至信息为空而移去mask本身。

**用法示例**

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

```javascript
Wb.unmask(
  app.component,
  "示例值"
);
```

**源码注释**

```javascript
/**
 * 移去覆盖在组件上的mask。如果组件被多次mask，则每次unmask仅移去指定信息，直至信息为空而移去mask本身。
 * @param {Component/Function} component 需要移去遮盖的组件，默认为整个窗口。
 * @param {String} [message] 指定移去遮盖在组件上mask的提示信息，默认为Str.processing。
 */
```

## Wb.doMethod

```javascript
Wb.doMethod(component, method);
```

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

**使用说明**

执行指定控件下所有子控件指定名称的方法。

**用法示例**

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

```javascript
Wb.doMethod(
  app.component,
  "示例值"
);
```

**源码注释**

```javascript
/**
 * 执行指定控件下所有子控件指定名称的方法。
 * @param {Component} component 需要获取值的组件对象或组件对象列表。
 * @param {String} method 方法名称 需要执行的方法名称。
 * @param {Mixed...} [params] 参数。
 */
```

## Wb.equals

```javascript
Wb.equals(value1, value2);
```

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

**使用说明**

判断两个值是否相等。如果值为字符串，则null,undefined和空串都相等。

**用法示例**

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

```javascript
Wb.equals(
  /* value1 */ undefined,
  /* value2 */ undefined
);
```

**源码注释**

```javascript
/**
 * 判断两个值是否相等。如果值为字符串，则null,undefined和空串都相等。
 * @param {Object} value1 比较的左值。
 * @param {Object} value2 比较的右值。
 * @return {Boolean} 如果值相等返回true，否则返回false。
 */
```

## Wb.uniqueName

```javascript
Wb.uniqueName(object, name);
```

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

**使用说明**

获取在指定对象中不存在的名称。默认名称如果在对象中不存在则直接返回， 否则在默认名称后添加后缀索引直到名称不在对象中出现。

**用法示例**

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

```javascript
Wb.uniqueName(
  app.object,
  "示例值"
);
```

**源码注释**

```javascript
/**
 * 获取在指定对象中不存在的名称。默认名称如果在对象中不存在则直接返回，
 * 否则在默认名称后添加后缀索引直到名称不在对象中出现。
 * @param {Object} object 包含名称的对象。
 * @param {String} name 默认名称。
 * @return {String} 在对象中不存在的唯一的名称。
 */
```

## Wb.getFileSize

```javascript
Wb.getFileSize(size);
```

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

**使用说明**

把文件大小数值转换成以KB或MB为单位的字符串。

**用法示例**

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

```javascript
Wb.getFileSize(0);
```

**源码注释**

```javascript
/**
 * 把文件大小数值转换成以KB或MB为单位的字符串。
 * @param {Number} size 文件大小数值。
 * @return {String} 以KB或MB为单位的值。如果size为非数值返回空串。
 */
```

## Wb.getNode

```javascript
Wb.getNode(node, depth);
```

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

**使用说明**

根据特定节点，获取同一分支指定深度的节点。

**用法示例**

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

```javascript
Wb.getNode(
  /* node */ undefined,
  0
);
```

**源码注释**

```javascript
/**
 * 根据特定节点，获取同一分支指定深度的节点。
 * @param {Ext.data.NodeInterface} node 节点对象，该节点深度必须大于等于所获取的节点。
 * @param {Number} [depth] 所获取节点的深度，默认为0（根节点）。
 * @return {Ext.data.NodeInterface} 如果指定深度的节点存在则返回，否则返回参数node指定的节点。
 */
```

## Wb.turnTab

```javascript
Wb.turnTab(component);
```

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

**使用说明**

转到控件所在的Tab，包含该控件的所有Tab选项卡都将被激活。。

**用法示例**

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

```javascript
Wb.turnTab(app.component);
```

**源码注释**

```javascript
/**
 * 转到控件所在的Tab，包含该控件的所有Tab选项卡都将被激活。。
 * @param {Component} component 需要转到的控件。
 */
```

## Wb.prompt

```javascript
Wb.prompt(configs);
```

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

**使用说明**

显示对话框窗口并获取输入的值。 控件saveKeyname为唯一名称，用于保存控件的最后输入值。当子控件为下拉框时，配置pickKeyname为唯一的名称，用于保 存用户输入值作为下拉列表。该属性对应Ext.container.Container的items属性。 每次将更新和应用以下属性title,iconCls,handler,focusControl。

**用法示例**

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

```javascript
Wb.prompt({title:'查询', iconCls: 'new_icon',
  items: [{fieldLabel: '姓名', allowBlank: false, itemId: 'name'}, {fieldLabel: '身高', xtype: 'numberfield'}],
  handler:function(values, win) {
alert(Wb.encode(values));
win.close();
  }});
```

**源码注释**

```javascript
/**
 * 显示对话框窗口并获取输入的值。
 *
 * Example:
 *
 *     Wb.prompt({title:'查询', iconCls: 'new_icon',
 *       items: [{fieldLabel: '姓名', allowBlank: false, itemId: 'name'}, {fieldLabel: '身高', xtype: 'numberfield'}],
 *       handler:function(values, win) {
 *         alert(Wb.encode(values));
 *         win.close();
 *       }});
 *
 * @param {Object} configs 配置选项。
 * @param {Object/Object[]} configs.items 对话框子控件配置项。每个子控件允许配置itemId作为控件的名称。配置
 * 控件saveKeyname为唯一名称，用于保存控件的最后输入值。当子控件为下拉框时，配置pickKeyname为唯一的名称，用于保
 * 存用户输入值作为下拉列表。该属性对应Ext.container.Container的items属性。
 * @param {Function} configs.handler 点击确定按钮后执行的回调函数。
 * @param {Object} configs.handler.values 值对象，例如：{itemId1:'abc',itemId2:123}。
 * @param {Ext.window.Window} configs.handler.win 窗口对象。
 * @param {Object} configs.defaults 窗口内组件的默认值。
 * @param {Object} configs.isUpload 是否为上传模式，上传模式使用form提交。
 * @param {Object} configs.windowName 如果指定该值，窗口关闭时将隐藏，下次调用时将不创建新实例而直接显示，同时
 * 每次将更新和应用以下属性title,iconCls,handler,focusControl。
 * @param {Object} configs.autoReset 指定窗口隐藏时是否重置所有控件值，默认为true。
 * @param {Object} configs.resetScrollbar 指定窗口隐藏后显示时是否重置垂直滚动条位置，默认为false。
 * @param {Mixed...} configs.more 窗口更多配置项，见Ext.window.Window。
 * @return {Ext.window.Window} 窗口对象。
 */
```

## Wb.touchPrompt

```javascript
Wb.touchPrompt(configs);
```

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

**使用说明**

Touch Prompt方法，使用说明见Wb.prompt。

**用法示例**

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

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

**源码注释**

```javascript
/**
 * Touch Prompt方法，使用说明见Wb.prompt。
 */
```

## Wb.promptText

```javascript
Wb.promptText(title, handler, configs);
```

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

**使用说明**

显示获取文本对话框窗口。

**用法示例**

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

```javascript
Wb.promptText(
  "示例值",
  function () {
  // 处理结果
},
  { /* 配置项 */ }
);
```

**源码注释**

```javascript
/**
 * 显示获取文本对话框窗口。
 * @param {String} title 窗口标题。
 * @param {Function} handler 点击确定后的回调函数，可用参数value和window，分别表示文本框输入值和窗口对象。
 * @param {Object} [configs] 窗口配置参数，指定allowBlank为false可设置文本框不允许为空，指定value属性可设置文本框默认值。
 * @return {Ext.window.Window} 窗口对象。
 */
```

## Wb.viewText

```javascript
Wb.viewText(title, text, configs);
```

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

**使用说明**

打开显示文本的对话框窗口。

**用法示例**

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

```javascript
Wb.viewText(
  "示例值",
  "示例值",
  { /* 配置项 */ }
);
```

**源码注释**

```javascript
/**
 * 打开显示文本的对话框窗口。
 * @param {String} title 窗口标题。
 * @param {String} text 要显示的文本。
 * @param {Object} [configs] 窗口内textArea控件的配置项。
 * @return {Ext.window.Window} 窗口对象。
 */
```

Source: https://ag.879818327.xyz/api/feedback-and-window/index.mdx
