對於TWaver可視化家族的成員,大家比較熟悉的是我們的網絡拓撲圖組件和MONO Design三維建模工具。作為開發工具,這兩款產品面向廣大的程序猿同志,在界面可視化上為大家省時省力。但是,當項目交付以后,我們經常會遇到這種情況:
在已經交付的某客戶現場,甲方又提出了界面改動需求。
通常情況下,需求都不難,但是會超出了當初需求調研以及驗收標准中的要求了。而且按照傳統的開發流程,撇開時間和費用等問題,界面改動通常需要讓后方的美工大人重新調整界面,開發人員進行代碼修改,一來一回,耗時耗力。我們近期也遇到了這樣的情況,不過得益於項目所使用的Legolas™工業自動化平台,這個改動只花了幾分鍾就搞定了。
是的,今天我們就來大張旗鼓地給大家介紹一下這位TWaver可視化家族的新成員 ———— Legolas。
還是從項目說起吧。最近我們做了一個油田鑽井用工程車輛工況管理的項目。項目早已完成驗收,系統運行也沒有問題,但是甲方提出,希望能有個表示鑽井鑽頭作業方向的功能,用來方便指導作業工人的工作。下面是我們已經開發完成的界面:
大家看到的這個界面,是用Legolas™平台開發的。如何實現在這個界面上添加一個表示鑽井鑽頭作業方向的功能呢?
第一步:現場工人打開系統中的圖紙編輯工具,打開需要修改的頁面圖紙。
(是的,你沒有看錯,只要讓現場工人來操作就可以了)
第二步:從左邊工具欄中,拖拽一個新的組件到圖紙中,設置一下它的ID。
這個組件是用來顯示圖片的,我們可以通過邏輯判斷例如井深數據的變化,來動態計算出鑽頭的走向趨勢,然后用表示上、下的箭頭來指明方向。
第三步:點擊動態邏輯管理界面,進行符合甲方需求的邏輯代碼。
由於編輯平台是使用JavaScript開發的,追加一些基本邏輯就是如此簡單:
function (r){
var v = r.value;
vardd =this.depth;
if(dd){
if(v>=dd){
this.setValue("image","./images/vi/2d/arrow2.png");
}else{
this.setValue("image","./images/vi/2d/arrow1.png");
}
}
this.depth = v;
}
第四步:動態邏輯添加完畢,進行新的數據關聯。
由於客戶希望是進行井深數據的判斷,我們就直接把井深數據關到我們新加的這個可視化組件上。
好了,編輯工作完成,保存一下圖紙就可以跳轉到實際運行界面上看結果了。
這只是Legolas應用的一個很小的例子,面對現場突發需求,開發人員不用再半夜起來敲代碼,只要指導現場的工人拖拽一下新的需求頁面,設置一下所需的動態邏輯就可以了。這也是我們創造Legolas的初衷:
通過Legolas工業自動化平台,用可視化拖拽的方式就能實現應用系統界面布局,並通過復雜邏輯動態注入和數據模型的動態映射,設計出可以運行在各類設備上的應用系統,滿足各種領域和行業的需求。