介绍
Web小组件是一个被编译成JS文件的异步Vue组件,用于Web端的凌云工作台门户上。
工作台组件栅格布局系统,是基于Vue Grid Layout插件,部分参数可参考 GridItem
完整的小组件从开发到使用的流程为两部分:
- 开发者:创建——编译——上传部署——绑定套件——发布上线;
- 用户:安装套件——可视化配置布局;
小组件结构
├─static
│ └─widget
│ └─web // 存放WEB小组件目录
│ ├─comp-a // 小组件名,即文件夹名
│ │ ├─index.vue // 主入口
│ │ ├─meta.json // 配置文件(配置小组件名称、大小高宽拉伸参数)【用于上传】
│ │ ├─icon.png // 图标【用于上传】
│ │ └─comp-a.js // 编译后文件,根据小组件名生成【用于上传】
│ └─comp-b
│ └─ ...
meta.json 配置文件说明
{
"info": {
"desc": "用户分析", // 小组件名称
"enabled": true // 是否启用(在套件中是否可见,默认启用)
},
"props": {
"w": 6,
"h": 4,
"minW": 4,
"minH": 4,
"maxW": "Infinity",
"maxH": "Infinity",
"isResizable": true
}
}
注:props里的属性也可不配置或删除,即按工作台默认。
props具体属性
w
type: Number
required: false
标识栅格元素的初始宽度,值为整数。
h
type: Number
required: false
标识栅格元素的初始高度,值为整数。
minW
type: Number
required: false
default: 1
栅格元素的最小宽度,值为整数。
如果 w 小于 minW,则 minW 的值会被 w 覆盖。
minH
type: Number
required: false
default: 1
栅格元素的最小高度,值为整数。
如果 h 小于 minH,则 minH 的值会被 h 覆盖。
maxW
type: Number
required: false
default: Infinity
栅格元素的最大宽度,值为整数。(Infinity: 不限制)
如果 w 大于 maxW,则 maxW 的值会被 w 覆盖。
maxH
type: Number
required: false
default: Infinity
栅格元素的最大高度,值为整数。(Infinity: 不限制)
如果 h 大于 maxH,则 maxH 的值会被 h 覆盖。
isResizable
type: Boolean
required: false
default: true
标识栅格元素是否可拉伸。
index.vue 文件说明
该文件是编译小组件的主入口,可引用其他vue模块
功能解析
1、接口请求方法($REQUEST)
this.$REQUEST({
url: `${this.$BASE_URL}/console-api/user/v1/me`,
method: 'GET'
})
2、接口请求前缀($BASE_URL)
this.$REQUEST({
url: `${this.$BASE_URL}/console-api/user/v1/me`,
method: 'GET'
})
3、当前用户令牌($TOKEN)
console.log('userToken==>', this.$TOKEN)
4、引用图片
引用的图片将会编译成Base64编码到JS小组件文件里(会影响JS文件大小)
icon.png 文件说明
该图片是小组件的图标文件
xxx.js 文件说明
该与文件夹名字相同的JS文件,是为编译后生成的JS文件,是工作台门户里加载的小组件文件。
编译说明
编译前需要安装当前工程依赖
npm install
使用NPM编译
全部编译
将会对/static/widget/web/ 里的每个文件夹进行编译
npm run build:widget
编译指定名称的表单
npm run build:widget -n xxx(文件夹名)
npm run build:widget -n comp-a
预览小组件
打开页面,输入以下路由即可查看(未编译预览/已编译预览);xxx为当前工程二级路由:
http://localhost:80/xxxx/preview
可根据实时参数,再填写meta.json配置,以达到最好的显示效果。
上传部署小组件
部署所需文件:
- meta.json
- icon.ong
- xxx.js(xxx文件夹名)
PAI 工具部署
注:小组件存在版本隔离,每次部署将会进行添加0.01个版本,即1.01 => 1.02。
pai widget deploy web -n xxx(文件夹名)
示例:pai widget deploy web -n comp-a
简要步骤
1、web组件发布pai widget deploy web
2、云端-开发中心-沙箱安装对应套件
3、云端-工作台(控制台)测试
4、测试无误,如果边端安装的套件是预发行版本,云端-开发中心-版本管理-预发行版本-查看内容-保存
5、边端-运营中心-同步套件
6、边端-控制台-更新套件
文档更新时间: 2023-08-07 17:13 作者:伍润源