云服务器内容精选

  • init 组件初始化入口API,以SelectWidgetTemplate组件为例,初始化组件通用能力,负责注册组件事件和组件动作。主逻辑建议如下: init() { this._super.apply(this, arguments); // 组件通用能力构建,调用父类constructor,必须要写 this.render(); // 渲染组件 this.registerWidgetActionAndEvent(); // 注册组件事件和动作 },
  • getMessages 一般用于在初始化阶段,获取该组件国际化配置文件中定义的国际化文件内容,推荐配置vue和vueI18n使用,无入参,使用方式参考如下: const i18n = HttpUtils.getI18n({ locale: HttpUtils.getLocale(), messages: thisObj.getMessages() }); getMessages()返回messages-en.json和messages-zh.json两个国际化文件中定义的国际化内容。
  • callFlowConn 监听必要的dom尺寸变化事件,使用方式参考如下: /** * 根据组件配置的数据类型(数据集、桥接器、数据源、静态数据)获取数据, 未配置默认调用getMockData * @param {*} connector Connector实例 * @param {*} param 参数, 没有特殊需求可以直接传入 {} ,如果传入 { test: 1 }, 发起请求时请求体会带上 test 的值 * @param {*} callbackFunc 将数据传入回调函数 */ this.callFlowConn(this.connectorIns, param, this.dealRespData.bind(this));
  • getConnectorInstanceByName 通过Connector名称获取Connector实例,再通过process方法调用接口获得数据。使用方式参考如下: const connectorInst = thisObj.getConnectorInstanceByName('selectDataConnector'); /** * @param renderCbk 成功回调 * @param errCbk 失败回调 */ connectorInst.process(renderCbk, errCbk) 其中,“connectorInst”用来调用数据源数据接口。
  • render 组件核心渲染API,负责组件的实例化、数据调用及事件、动作的实际实现。主逻辑建议如下: render() { var thisObj = this; var widgetProperties = thisObj.getProperties(); // 获取组件属性 var elem = thisObj.getContainer(); // 获取组件dom,对后续操作dom的逻辑备用 var items = thisObj.getItems(); var connectorProperties = thisObj.getConnectorProperties(); // 获取组件Connector数据 // 监听resize事件, 画布resize时需要重新绘制,如果有其他需要,参数可以传入函数,resize时会调用 this.registerResizeEvent(); },
  • getContainer 一般用于在初始化阶段,获取组件dom,无入参,使用方式参考如下: var elem = thisObj.getContainer(); var readerVm = new Vue({ el:$("#select", elem)[0], }), getContainer是页面上组件的父容器,具有唯一标识。组件内操作dom的场景必须都加上这个父容器,如上面的代码。
  • getSafeUrl() 对外部链接进行xss安全过滤 ,获取安全的绝对URL地址,使用方式参考如下: /* * @param {*} url */SafeUtils.getSafeUrl(url);SafeUtils.getSafeUrl('/test.html') //return:https://华为云Astro大屏应用 域名 /test.htmlSafeUtils.getSafeUrl('javascript:alert(123)') //return:'unsafe:' 只有安全的链接才会被访问,其他形式的URL都会响应一个“unsafe:”,无法访问。