检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
Studio对象预置API一览表 表1 Studio对象预置API一览表 API API说明 registerWidget 定义组件。 registerConnector 定义桥接器。 registerEvents 注册事件,只有通过此API注册后的事件才会在组件的事件列表中展现。
代码结构介绍 了解代码目录结构 目录文件详解 父主题: 自定义组件开发规范
了解代码目录结构 当系统预置的组件无法满足用户需求时,用户可自定义组件并上传到华为云Astro大屏应用中使用。华为云Astro大屏应用为您预置了一些组件模板(Widget包),您可以基于组件模板开发自定义组件。 获取组件模板包 参考登录华为云Astro大屏应用界面中操作,登录华为云Astro大屏应用界面。
packageinfo.json {widget}.css {widget}.editor.js {widget}.ftl {widget}.js 父主题: 代码结构介绍
arguments); thisObj.render(); if (typeof Studio != "undefined" && Studio) { Studio.registerEvents( thisObj, "sendSelect"
this._super(); cbk(); } }, }); // 注册组件,必填 window.Studio.registerWidget('EchartsWidgetTemplate', 'EchartsWidgetTemplate', {});
val,可以设置组件桩数据设置为简单二维对象数组[{val:123}]。 - 文件示例 通用的组件核心代码 var EchartsWidgetTemplate = StudioWidgetWrapper.extend({ /* * 组件初始化入口API,初始化组件通用能力,负责注册组件事件和组件动作
{widget}.editor.js 文件介绍及示例 eventConfig classfication propertiesConfig 父主题: 目录文件详解
], }, }, clickSeries字段对应组件{widget}.js文件中,注册的事件id。 window.Studio.registerEvents(this, 'clickSeries', { zh_CN: '点击系列', en_US: 'Click
{widget}.ftl 文件介绍 {widget}.html为组件DOM结构文件,相当于HTML文件,负责样式展示。 在华为云Astro大屏应用中自定义组件时,需要在服务端提前渲染的部分,可以写在此文件中。 文件示例 <div id="EchartsWidgetTemplate"
{}:为事件触发时传递的参数赋值,例如{param: value}。 Studio对象预置API Studio.registerWidget:用来定义组件。 Studio.registerConnector:用来定义桥接器。 Studio.registerEvents:用于注册事件,只有通过此
{widget}.css 文件介绍 {widget}.css为组件的样式文件,在该文件中编写组件的CSS样式。 华为云Astro大屏应用的组件未进行打包编译,CSS样式可能存在互相影响的风险。因为,CSS选择器务必要加上组件id,通过组件id减少互相影响的可能。 文件示例 #EchartsWidgetTemplate
在主菜单中,选择“项目设置”,进入项目设置页面。 参考设置项目锁中操作,获取项目锁。 在左侧导航栏中,选择“组件”。 单击“本地调试设置”,进行本地调试设置。 在本地开发组件后,频繁地打包组件包上传至公共环境再查看页面显示效果,是一件效率极低的事情。通过该配置,可打通本地环境与公共环境,实现实时在线调测组件。
i18n.json 文件介绍 i18n.json为组件的国际化资源文件,用于配置多语言,目前支持的多语言包含中英文两种,相应的key值分别为['zh-CN','en-US']。多语言文件支持配置在多个Json中,在packageinfo.json中的配置示例如下: "i18n":
); Studio.registerAction(thisObj, 'getInputValue', 'getInputValue', [], $.proxy(thisObj.getInputValue, thisObj), []); Studio.registerAction(
elem)[0], }), getContainer是页面上组件的父容器,具有唯一标识。组件内操作dom的场景必须都加上这个父容器,如上面的代码。 getWidgetBasePath 获取该组件静态资源的根路径,用来拼接组件内部的其他静态资源,无入参,使用方式参考如下: var widgetBasePath
按照项目限制:项目中页面首次完成验证后,其余页面无需二次验证。例如,页面A、B、C设置了Token认证,页面D、E、F设置了分享码。勾选按照项目限制时,校验过页面A的Token认证后,不会再校验页面B和C。校验了页面D的分享码后,同样不会再校验页面E和F。 按照页面限制:项目遵循各页面访问限制。
propertiesConfig 字段介绍 propertiesConfig是一个数组,用于保存组件配置项的相关字段,包括数据接入配置、组件配置项。 图1 propertiesConfig配置示例 数据接入配置 数据接入配置详细介绍,请参见组件数据接入。 组件配置项 配置示例如下
packageinfo.json 文件介绍 packageinfo.json是组件的元数据描述文件,用于配置组件的基本信息。 文件示例 { "widgetApi": [{ "name": "EchartsWidgetTemplate" }], "widgetDescription":
classfication 字段介绍 classfication字段代表的是当前组件需要展示哪些大的配置项分类。华为云Astro大屏应用在设计前期对分类也进行了分组,因此这个字段被扩展为双数组形式。一般默认情况下,直接在数组对象的第一个数组中配置即可。如果无配置,则所有属性展示在一个大的分类下。