AMIS
dgiot引入百度amis低代码框架的方式有两种
页面级引入
- 在dgiot_dashboard原有的vue框架下,采用渐进式的方式,逐步引入页面级的amis组件,实现半低代码化,
- 可以兼顾vue和react两大语音优势,适合承接较大型的物联网管理后台,详见dgiot_dashboard,
- 计划在今年年底前完成,并在数个大型物联网管理平台上做完技术验证
整站式引入
- 在amis_admin框架下引入App级别的amis技术框架,
- 支持中小型的物联网管理后台快速开发,详见dgiot_amis,
- 计划在明年上半年完成低代码化,并在数个中小型物联网平台上做完技术验证
预期效果
百度amis着重于表单渲染的低代码化,Konva侧重于二维组态的低代码化渲染,
系统通过这两个github上低代码组件,能给广大的dgiot开发者和用户代码带来更好的额体验。
dgiot-amis 请求配置
由于dgiot-server 返回的后端格式参数与amis适配器参数默认不一致,因此需要配置amis的adaptor和requestAdaptor。示例如下:
payload示例
amis json
{
"type": "page",
"initApi": {
"url": "iotapi/classes/Device/parse_objectid",
"method": "get",
"adaptor": "return {\r\n \"status\":0,\r\n \"msg\":\"\",\r\n \"data\":response.data.basedata\r\n }",
"headers": {
"store": "localStorage",
"dgiotReplace": "parse_objectid"
},
"dataType": "json"
},
"body": [
{
"type": "form",
"api": {
"method": "put",
"url": "iotapi/classes/Device/parse_objectid",
"headers": {
"store": "localStorage",
"dgiotReplace": "parse_objectid"
},
"dataType": "json",
"requestAdaptor": "return {\r\n ...api,\r\n data: {\r\n basedata:{ ...api.data}\r\n }\r\n}"
},
"body": [
{
"type": "input-text",
"label": "设备名称",
"name": "name"
}
]
}
]
}请求适配器(requestAdaptor)
"requestAdaptor": "return {\r\n ...api,\r\n data: {\r\n basedata:{ ...api.data}\r\n }\r\n} "
在页面提交时将数据中的...api.data存储到basedata字段里
页面初始化(initApi)
页面初始化时,会通过axios请求数据。在请求时,会将对应的变量进行替换
接受适配器(adaptor) payload
"adaptor": "return {\r\n \"status\":0,\r\n \"msg\":\"\",\r\n \"data\":payload.basedata\r\n }"
在页面初始化时,将amis请求返回数组basedata字段的数据渲染到页面data中
配置接收适配器