學習資料介紹
github地址:mcg-helper代碼生成工具
什么是 FreeMarker? - FreeMarker 中文官方參考手冊
視頻學習地址:
第一節、視頻教程內容介紹 探討研發工作中典型的重復繁雜工作,可通過流程自動化實現代替的常見場景。
第二節、mcg-helper初步認識教程 mcg-helper概述、核心設計、基本操作、工作原理、入門示例、使用場景等。
第三節、開始、文本、結束控件講解 了解流程控件運行原理,介紹與演示控件的功能與作用。
第四節、data、json控件講解 全局變量的使用、動態讀取表結構信息、輸出指定內容到文件。
第五節、js、java、python控件講解 在流程中使用多種計算機語言,發揮各自優勢,讓流程更為靈活強大。
第六節、sql查詢、sql執行控件講解 實現常用關系型數據庫的交互功能。
第七節、Linux、循環、子流程控件講解 Linux SSH連接,流程循環功能,以及流程拆分復用與組合。
第八節、萬能代碼生成講解 以一款java開源框架jeecg為例子,實現一鍵代碼生成。
開始、文本、結束控件
開始控件
開始控件添加的變量名及值會根據箭頭的指向傳遞到下一個控件,如圖所示的屬性變量名
在其它控件中可以通過${path} 、${fileName}的形式放到到這個動態設置的值。比如傳遞到文本控件,如下所示圖:
文本控件
那么我們在文本控件中的設置如圖所示:
然后在文本控件中的源代碼中輸入輸入下內容:
這是輸出的一段內容
${content}
結束控件
我們在結束控件的屬性中添加如下內容:
第一個簡單的測試流程例子
${name}
添加${name}的作用就是測試下 在開始控件添加的這個name變量名是不是一個全局變量名。
接下來我們點擊流程菜單中的保存,點了保存后我們點擊執行,來看下結果。
怎么查看運行的過程與結果呢?
我們點擊如圖所示:
比如我點擊的開始控件下的這個按鈕,那么就會控制台看到開始控件的運行值:
我們看下文本控件的控制台信息如下圖所示:
從結果圖可以看出,有傳遞給文本控件的參數,以及文本控件的創建文件的內容信息,在我的D盤對應的位置也創建了該txt文件。
接下來看下結束控件的運行結果如下:
一個大致的流程就是這樣。
循環語句與判斷語句
怎樣在如上面的文本控件的源碼中編寫循環語句或者判斷語句呢?
我在上面的文本控件的源碼中編寫如下代碼:
這是輸出的一段內容 ${content} <#if name == 'mcg-helper'> ---- 你好,我是mcg-helper <#else> ---- 請輸入我的名字 </#if> <#assign max = 5> <#list 1..max as t> <#if t == 3> ---- 你好,我是數字編號3 <#else> --- 你好,我是其它循環編號 </#if> </#list>
在保存並執行,我們在控制台中看下執行結果如下:
一張圖簡單總結:
data控件、json控件
控件作用:
- data控件作用:讀取表結構信息;可動態調整數據。
- json控件作用:定義復雜類型數據;參數擴展
js控件
該控件會執行main方法,傳遞上個控件返回的數據
var Console = Java.type('com.mcg.plugin.assist.Console'); var console = new Console(); function main(param) { var result = {}; // 傳遞的param參數內容進行處理操作 最后返回結果到下一個控件 // 比如 result = JSON.parse(JSON.stringify(param)); result.addAttr = 'newatrr'; console.info(result); return result; }