客户端 API

客户端 API 包含 Enhaner 官方和 jQuery 三方,可以在任意客户端执行脚本中使用。

Enhancer 全局对象

openPage(pageId[, data]) 打开页面,并传递参数。

  • @param pageId {Number} [必须] 页面编号
  • @param data {Object} [可选] 传递给页面的参数键值对,目标页面可以通过变量 @9-[KEYNAME]@ 来取值。

resetCurrentPage() 重置当前页面。

getFileUploadUrl() 获取文件上传 URL。

  • @return url {String}

getCustomInterfaceUrl(interfaceName) 获取自定义接口 URL。

  • @param interfaceName {String} - [必须] 用户指定的后台接口名
  • @return url {String}

getEntityByNumber(no) 根据编号获取实体(帧,窗口)对象。

  • @param no {Number} [必须] 窗口或帧编号
  • @return entity {Object} 实体对象

getStaticResourceUrl(name) 获取在工作台全局配置中上传的静态资源 Url。

  • @param name {String} [必须] 资源名称
  • @return {String}

Enhancer.Util 对象

testCondition(condition) 测试条件函数,将带变量的条件表达式做变量替换,然后计算布尔值。

  • @param condition {String} 可以是带变量的 JS 条件表达式或类 SQL 语言表达式。比如: @11-name@ = '张三' AND @11-gender@ != '女'
  • @return {Boolean}

escapeHTML(str) 转义字符串包含的 HTML 字符:("、'、&、<、>)。

unescapeHTML(str) 反转义字符串中 HTML 字符串。

Enhancer.ZContext 对象

value(varname) 从全局上下文中获取指定变量的值。

  • @param varname {String} [必须] 变量名
  • @return value

values(vars) 从全局上下文中获取指定变量的值。

  • @param vars {Array} [必须] 变量名数组
  • @return value

parse(contextStr[, replace]) 解析带变量的文本,将文本中包含的变量替换成对应的值。

  • @param contextStr {String} [必须] 含变量的文本
  • @param replace {Function} [可选] 指定替换函数
  • @return parsed {String} 替换过的字符串

Enhancer.ZUserData 对象

val(name) 获取用户变量值

  • @param name {String} [必须] 变量名,只能获取以 10 以下数字开头的变量。
  • @return {Object} 变量值

set(name, value) 设置用户变量,只能设置以 10 以下数字开头的变量,供全局使用,如 7-CURR_CHECK_ID。

  • @param name {String} [必须] 变量名,必须是以 0 - 9 开头的变量名。
  • @param value {Object} [必须] 值。

get(name) 获取 10 以下数字开头的变量值

  • @param name {String} [可选] 如果为空,则返回全部 10 以下开头的变量集合。
  • @return {Object} 变量或变量集合。

add(name, value) 添加用户变量,只能添加以 10 以下数字开头的变量,供全局使用,如 7-CURR_CHECK_ID。

  • @param name {String} [必须] 变量名,必须是以 0 - 9 开头的变量名,如果变量已存在,则覆盖旧值。
  • @param value {Object} [必须] 值。

Enhancer.ZMessage 对象

alert(options) 弹框显示消息。

  • @params options {String | Object} [必须] 可以是消息内容字符串,直接调用如:Enhancer.ZMessage.alert('你好') 或者是配置项如下:
    • title {String} [可选] 消息标题。
    • content {String} [必须] 消息内容。
    • state {String} [可选] 显示状态:default | active | highlight | error 。
    • width {String} [可选] 消息框宽度
    • confirm {Function} [可选] 用户点击确定之后的回调函数

toast(options) 吐出消息。

  • @params options {String | Object} [必须] 可以是消息内容字符串,直接调用如:Enhancer.ZMessage.toast('你好')或者是配置项如下:
    • content {String} [必须] 消息内容。
    • state {String} [可选] 显示状态:default | active | highlight | error 。
    • width {String} [可选] 消息框宽度。
    • hPos {String} [可选] 水平位置:left | center | right 默认 center。
    • vPos {String} [可选] 垂直位置:top | center | bottom 默认 center。
    • duration {Number} 持续展示时间,毫秒,默认 3000。

Entity 实体对象,包括帧,窗口,一般由 Enhancer.getEntityByNumber 方法获得

getData(name) 获取实体当前变量数据。

  • @param name {String} [必须] 变量名,不需带编号开头的变量名,比如 STUDENT_NO。
  • @return {Object} 变量值。

setData(name, value) 设置变量值,设置之后可以使用变量。

  • @param name {String} [必须] 变量名,不需带编号的变量名,比如 STUDENT_NO。
  • @return {Object} [必须] 变量值。
【例】
var win = Enhancer.getEntityByNumber(12);
win.setData('STUDENT_NO。', 201808283858); 
// 设置后,可以在合适的地方使用变量 @12-STUDENT_NO@,值为 201808283858。

open() 打开

close() 关闭

reset() 重置

pop() 弹出

push() 按回

affected 受影响

getContainer() 获取窗口或者帧所在 DOM 容器。

  • return {jQuery Object}

getWidgetContainer() 获取组件所在 DOM 容器。

  • return {jQuery Object}

Widget 对象,由组件所在窗口 Entity 对象调用 getWidget() 方法,获得。如果是在自定义窗口中,那么 this 对象本身就是指该 widget 对象。

getSourceData(id[, criteria[, callback, errCallback]) 获取源数据。

  • @param id [required] 数据源 ID,由 Widget Configurator 配置生成。
  • @param criteria [optional] 查询标准参数

    • countRecords {boolean} [optional] 是否要统计记录数,默认 false
    • paged {Boolean} [optional] 是否分页,默认 false
    • page {Number} [optional] 页号
    • rowNum {Number} [optional] 每页行数
    • sortBy {String} [optional] 排序字段
    • format {String} [optional] 数据返回格式: object | array 默认 object
    • params {Object}[optional] 指定参数,覆盖由系统自动捕获的参数上下文。
    • metaData {Boolean} [optional] 是否要求结果集中包含描述数据特征的元数据,默认 false
    • filters {Object}`[optional] 过滤器,例:
      {
      "groupOp": "OR",   // 条件运算: OR | AND
      "groups": [        // 条件组,相当于 SQL 条件加括号,可以递归地定义下去。
      {
        "groupOp": "OR", 
        "rules": [
          {
            "field": "birth_place",
            "op": "eq",
            "data": "浙江"
          }
        ],
        "groups": []
      }
      ],
      "rules": [    // 条件数组,每个元素是一个单独的条件
      {
        "field": "id",  // 字段
        "op": "eq",     // 操作,取值含义对照:
        // eq 等于, ne 不等于, lt 小于, le 小于等于, gt 大于, ge 大于等于, bw 以开头, bn 不以开头,
        // ew 以结尾, en 不以结尾, cn 包含, nc 不包含, nu 为空, nn 不为空, in 在集合中, nn 不在集合中
        "data": 1       //数据
      },
      {
        "field": "id",
        "op": "eq",
        "data": 2
      }
      ]
      }
      
  • @param callback {Function} [required] 结果回调函数,参数即为请求的数据,结构如下:

        {
          rows:[...], 
          paged: false, 
          page: 1,
          rowNum: 15,
          records: 1321,
          metaData: [
            {name:'id', dbType: 'CHAR', varType: 'string'},
            ...
          ]
        }
    
  • @param errCallback {Function} [optional] 请求发生错误时的回调处理函数,参数为错误信息

【getSourceData 例】

var win = Enhancer.getEntityByNumber(11);
var widget = win.getWidget();
var criteria = {
    paged: true,
    page: 1,
    rowNum: 30,
    filters: {
        groupOp: 'OR',
        rules: [{
            field: 'id',
            op: 'eq',
            data: '32767'
        }, {
            field: 'name',
            op: 'cn',
            data: '张'
        }]
    }
};
widget.getSourceData(1, criteria, function(data) {
    alert('成功获取记录 ' + data.rows.length + ' 条');
}, function(result) {
    alert('出错了!');
});

此外,jQuery 可直接使用,无需额外引入。

results matching ""

    No results matching ""