OneCode AIGC快速無代碼構(gòu)建應(yīng)用(無代碼應(yīng)用搭建平臺)
前言
OneCode是一款基于DDD模型驅(qū)動設(shè)計的低代碼引擎。從2022年底推出以來,現(xiàn)在的最新版本是1.1.0。本文重點是采用OneCode提供的工具來實際搭建一個簡單的(員工請銷假)業(yè)務(wù)應(yīng)用。在搭建過程中穿插講解一些功能設(shè)計思想以及使用方法。
一,OneCode建模流程
OneCode建模流程
(二)倉儲庫準備:
1,利用chatgpt 輔助完成數(shù)據(jù)庫表設(shè)計
數(shù)據(jù)庫表設(shè)計我們可以通過GPT來輔助一下,本文使用的是百度的文心一言輔助操作:
(1)向文心一言發(fā)起基本操作請求:請設(shè)計一張請假單的數(shù)據(jù)庫表
(2)根據(jù)返回結(jié)果進行個性化微調(diào):OneCode推薦采用UUID主鍵的方式來做,并且需要字段添加注解以方方便生成頁面,于是繼續(xù)域文心交互:為請假單設(shè)計一張UUID為主鍵的數(shù)據(jù)庫表,為字段添加中文comment 輸出為mysql數(shù)據(jù)庫腳本
這個交互中添加了4個提示詞,分別是:1,請假單,2,UUID主鍵,3,字段添加中文注解 4,mysql 腳本
經(jīng)過微調(diào)后文心一言返回腳本:
CREATE TABLE `leave_requests` ( -- 請假單ID,唯一標識請假單 `id` CHAR(36) NOT NULL PRIMARY KEY COMMENT '請假單ID', -- 員工ID,與員工表關(guān)聯(lián)的外鍵 `employee_id` INT COMMENT '員工ID', -- 請假開始日期 `start_date` DATE COMMENT '請假開始日期', -- 請假結(jié)束日期 `end_date` DATE COMMENT '請假結(jié)束日期', -- 請假原因,可存儲文本或JSON格式的理由 `reason` TEXT COMMENT '請假原因', -- 請假狀態(tài),使用字符串常量表示('Pending', 'Approved', 'Rejected') `status` VARCHAR(20) COMMENT '請假狀態(tài)', -- 請假單提交日期 `submitted_date` DATE COMMENT '請假單提交日期', -- 批準人ID,與用戶表關(guān)聯(lián)的外鍵 `approved_by` INT COMMENT '批準人ID',-- 批準日期 `approval_date` DATE COMMENT '批準日期');
(2)打開OneCode 進入資源庫管理
2,使用OneCode工具創(chuàng)建資源庫模型
(1)打開OneCode 進入資源庫管理
選擇添加數(shù)據(jù)庫表,查看信息,確認無誤后,開始構(gòu)建:
構(gòu)建完畢后控制臺,輸出了創(chuàng)建的后端對象以及編譯信息。
(2)進入OneCode 代碼編輯器,查看一下代碼結(jié)構(gòu):
至此我們便完成了OneCode流程中的第一部倉儲庫的建模。
(三)領(lǐng)域視圖構(gòu)建
(1)將剛剛創(chuàng)建的倉儲庫接口導入到領(lǐng)域模型中
(2)編譯配置領(lǐng)域模型接口創(chuàng)建可供web訪問的接口層代碼
(3)利用OneCode工具讀取配置web訪問代碼
從領(lǐng)域工具中將接口代碼自動識別為了,視圖接口和領(lǐng)域事件。
其中,視圖:包括一張查詢的列表頁面,和表單的編輯頁面。
而數(shù)據(jù)操作方面則自動讀取為,領(lǐng)域事件,包括update 更新,find查找、delete刪除,和findByWhere條件查找.
(4)繼續(xù)編譯構(gòu)建頁面交互視圖
進入到可是話交互頁面可以看到,兩個視圖的基本頁面:但有一些結(jié)構(gòu)和信息還需要從數(shù)據(jù)層面做一下調(diào)整。
(四)領(lǐng)域聚合構(gòu)建
在完成視圖的基礎(chǔ)建模后,可以通過OneCode提供的運行期配置工具進行前后段一體的領(lǐng)域聚合構(gòu)建
(1)運行期配置(從快速開始進入選擇運行配置)
找到剛剛創(chuàng)建的請假表配置
運行期配置主要包括:視圖配置、視圖路由、以及領(lǐng)域事件三個配置部分。
視圖配置會根據(jù)當前頁面的類型自動匹配可以配置的屬性
而配置完成后又可以通過,OneCode逆向編譯為OneCode代碼結(jié)構(gòu),方便可視化編譯器以及程序員進行二次加工處理。
(2)運行期配置快捷應(yīng)用
對于常見用戶操作,OneCode建模還提供了一些快捷的操作入口。如:在列表上增加幾個常用功能按鈕,然后點擊編譯視圖;
我們再回到當前可視化編輯器,會發(fā)現(xiàn)一些基本基本的操作功能已經(jīng)自動構(gòu)建了。
而點擊編譯后,回到代碼窗口發(fā)現(xiàn)對應(yīng)的OneCode代碼也同步發(fā)生了變化。
而這些配置覆蓋了絕大多數(shù)的接口以及模塊組件級別的操作包括:數(shù)據(jù)路由層面的接口參數(shù)、動作監(jiān)聽以及動作事件等等。
而視圖層面更是通過,領(lǐng)域模型以及子域的擴展將領(lǐng)域模型中常用配置進行了高度的概括和有序的整理。
(五)領(lǐng)域模型混搭配置
完成基礎(chǔ)的表單模型設(shè)置后,我們便進入到了具體的業(yè)務(wù)功能設(shè)計。
(1)打開流程工具繪制一個基礎(chǔ)的請假流程。
(2)選擇流程屬性—動態(tài)表單—數(shù)據(jù)庫表選擇請假單表
(3)選擇流程屬性–辦理權(quán)限設(shè)置
(4)返回從快速開始進入到仿真測試
(六)應(yīng)用聚合輸出
完成上述5步基本配置后,一個小的業(yè)務(wù)模塊便可以進入到微調(diào)和個性化修改的階段。但再具體的實施過程中,根據(jù)業(yè)務(wù)應(yīng)用不同,單一的從表單和流程配置角度還不能達到用戶個性化的需求。這些就要求平臺對于面向用戶的公共部分提供相應(yīng)的配置修改以及建模能力。應(yīng)用聚合輸出作為最后一個步驟最主要的是提供,所有通用組件的根據(jù)也模塊的自適應(yīng)能力配置。為此我們回到OneCode提供運行期配置。我們發(fā)現(xiàn)在這個用例中作為應(yīng)用最多的流程部分的通用組件應(yīng)用也可以和其他表單以及數(shù)據(jù)服務(wù)接口一樣完成建模設(shè)定。