日本电影一区二区_日本va欧美va精品发布_日本黄h兄妹h动漫一区二区三区_日本欧美黄色

低代碼可視化平臺操作手冊第五篇(低代碼平臺的設(shè)計與實現(xiàn))

綁定WebSocket數(shù)據(jù)源

在組件數(shù)據(jù)源配置界面中,數(shù)據(jù)源類型,選擇【W(wǎng)ebSocket】

低代碼可視化平臺操作手冊第五篇(低代碼平臺的設(shè)計與實現(xiàn))

在具體配置之前,我們先創(chuàng)建一個WebSocket測試地址,我們使用NodeJS創(chuàng)建了一個測試案例:

const WebSocket = require('ws');

const wss2 = new WebSocket.Server({ port: 8083 });

wss2.on('onopen', function () {

console.log('open')

})

wss2.on('connection', function connection(ws) {

ws.on('message', function incoming(message) {

console.log('received: %s', message);

});

setInterval(() => {

ws.send(JSON.stringify([{

value: '我是消息' Math.ceil(Math.random()*100)

}]))

}, 1000)

});

此案例中,我們模擬了每隔一秒發(fā)送一次【多行文本】組件所需的數(shù)據(jù)源結(jié)果集JSON

然后我們填寫【W(wǎng)S地址】為:ws://localhost:8083

低代碼可視化平臺操作手冊第五篇(低代碼平臺的設(shè)計與實現(xiàn))

值得注意的是,WebSocket數(shù)據(jù)源在設(shè)計器編輯模式下是不會發(fā)起鏈接的,只有在預(yù)覽或發(fā)布模式下訪問頁面才能看到效果,如果我們想要在設(shè)計器模式下測試是否鏈接成功,我們可以點擊【測試鏈接】,如下圖所示,當我們點擊測試鏈接之后,可以看到組件已經(jīng)成功與WebSocket建立了鏈接,且接收到了推送過來的消息。

低代碼可視化平臺操作手冊第五篇(低代碼平臺的設(shè)計與實現(xiàn))

使用WebSocket數(shù)據(jù)源需要注意以下幾點:

· 使用WebSocket數(shù)據(jù)源后,組件將無法使用【定時輪訓器】

· 默認情況下,WebSocket數(shù)據(jù)源只能接收數(shù)據(jù),無法推送數(shù)據(jù)(當然我們可以通過一些手段實現(xiàn)數(shù)據(jù)推送,這會在后續(xù)的進階使用中說明)

· WS接口返回的數(shù)據(jù)建議使用純字符串形式的數(shù)據(jù),可以注意到,我們的WebSocket測試程序中,返回的就是使用JSON.stringify格式化后的JSON數(shù)據(jù)

· ws.send(JSON.stringify([{

· value: '我是消息' Math.ceil(Math.random()*100)

· }]))

綁定CSV數(shù)據(jù)源

在組件數(shù)據(jù)源配置界面中,數(shù)據(jù)源類型,選擇【CSV文件】

低代碼可視化平臺操作手冊第五篇(低代碼平臺的設(shè)計與實現(xiàn))

然后點擊【新建】,打開【CSV數(shù)據(jù)源編輯】界面

低代碼可視化平臺操作手冊第五篇(低代碼平臺的設(shè)計與實現(xiàn))

這里我們可以上傳CSV文件進行解析,表單中我們提供了一個示例,假如您需要一個如下的數(shù)據(jù)源結(jié)果集:

[

{

"label":"南寧",

"value":10

},

{

"label":"柳州",

"value":20

},

]

注:CSV文件大小不能超過5MB,且文件編碼應(yīng)為UTF-8

添加了CSV數(shù)據(jù)源之后,我們就可以選擇對應(yīng)的數(shù)據(jù)源來綁定給組件了。

管理CSV數(shù)據(jù)源

可以在管理工作臺中管理我們的CSV數(shù)據(jù)源,可以對某個CSV數(shù)據(jù)源的解析結(jié)果進行再編輯。

低代碼可視化平臺操作手冊第五篇(低代碼平臺的設(shè)計與實現(xiàn))

值得注意的是,組件綁定CSV數(shù)據(jù)源是動態(tài)綁定的,也就是說,如果我們對某個CSV數(shù)據(jù)源的解析結(jié)果進行再編輯后保存,那么我們頁面中所有綁定了這個CSV數(shù)據(jù)源的組件在訪問的時候也會更新至最新的狀態(tài)。

CSV數(shù)據(jù)源的特點

CSV數(shù)據(jù)源本質(zhì)上與靜態(tài)JSON數(shù)據(jù)源是一樣的,只是CSV數(shù)據(jù)源是通過解析CSV文件得到的結(jié)果集,但是與靜態(tài)數(shù)據(jù)源不同的是,組件綁定了指定的CSV數(shù)據(jù)源之后,每次加載數(shù)據(jù),都會動態(tài)獲取平臺數(shù)據(jù)庫中的CSV數(shù)據(jù)源結(jié)果集, 因此,當我們需要為多個組件綁定同一個靜態(tài)數(shù)據(jù)結(jié)果集,同時又希望能夠在一個統(tǒng)一的地方去修改這個結(jié)果集時,就可以給組件去綁定CSV數(shù)據(jù)源,這樣就能通過修改CSV數(shù)據(jù)源來實現(xiàn)同步多個組件的效果。

配置結(jié)果集過濾器

當我們在使用動態(tài)數(shù)據(jù)源時,會面臨非標準的數(shù)據(jù)結(jié)果集接入的場景,此時可通過結(jié)果集過濾器進行字段類型變更、數(shù)值去零、字段拆分、字段重組等數(shù)據(jù)格式轉(zhuǎn)換以及一些簡單的邏輯運算。

如果只是簡單的字段綁定,而不需要對結(jié)果集字段進行計算邏輯,可直接使用 數(shù)據(jù)字段映射 功能進行配置。

結(jié)果集過濾器采用標準JS語法,JS語法參考:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript(opens new window)

DataSoli中基于JS標準語法之上,定義了自己的編寫標準,過濾器中通過ds_resultObj變量來存儲結(jié)果集對象,我們只需要對ds_resultObj進行重構(gòu)賦值即可

下面將以【多行文本】組件作為示例,說明結(jié)果集過濾器如何編寫,首先【多行文本】組件要求的結(jié)果集格式為:

[

{

"value": "hello world"

}

]

DataSoli中 標準的過濾器寫法 為:

let newData = [

{

value: 'new value'

}

]

ds_resultObj = newData

假設(shè)我們使用了API接口作為數(shù)據(jù)源,接口返回的結(jié)果集為:

[

{

"text": "hello world"

}

]

以上結(jié)果集是無法正常被【多行文本】組件解析的,這時候我們就可以通過過濾器去構(gòu)建新的結(jié)果集數(shù)據(jù):

let newData = [

{

value: ds_resultObj[0].text

}

]

ds_resultObj = newData

相關(guān)新聞

聯(lián)系我們
聯(lián)系我們
公眾號
公眾號
在線咨詢
分享本頁
返回頂部
白水县| 民乐县| 洛浦县| 永城市| 宜城市| 安化县| 红河县| 长沙市| 东平县| 壶关县| 滨州市| 桓台县| 乐都县| 揭西县| 延边| 墨竹工卡县| 广丰县| 庆云县| 卢氏县| 广河县| 汕头市| 武义县| 张家川| 高陵县| 左贡县| 武定县| 洛阳市| 安义县| 郴州市| 垣曲县| 财经| 峨山| 聊城市| 施秉县| 峨眉山市| 襄城县| 广宁县| 奎屯市| 临邑县| 青海省| 江城|