從零實現Dooring低代碼印章組件
今天繼續和大家分享一下比較有意思的可視化印章組件的實現.
你將收獲
- 低代碼組件的基本設計模式
- 印章組件的設計原理(canvas相關)
- 如何快速將任意組件集成到低代碼平臺
低代碼組件的基本設計模式
我們都知道任何低代碼或者零代碼搭建產品都非常注重底層搭建協議(schema), 這些產品通常會設計一套向上兼容且可擴展的 DSL 結構, 來實現頁面元件的標準化配置, 并支持元件的向上擴展:
在設計 H5-Dooring? 可視化搭建平臺前, 我也參考了很多標準化軟件數據協議, 給我啟發最大的就是 ODATA 規范, 具體設計細節可以參考我之前的文章:
- Dooring無代碼搭建平臺技術演進之路
之所以要介紹低代碼的 schema? 設計, 是因為低代碼組件的設計與開發需要依賴 schema 的定義, 為了滿足低代碼組件能被用戶實時編輯, 其基本的組成類似如下:
我們只需要在寫普通組件的基礎上加一個 schema 文件即可, 這里以Dooring組件來舉一個例子:
在初步了解了低代碼組件的設計模式之后, 我們接下來就來實現一下低代碼印章組件的實現.
印章組件的設計原理
我們由上圖可以看出, 一個印章組件包含如下幾個部分:
對于印章的繪制, 我們可以采用 canvas? 或者 svg? 來實現, 這里我采用 canvas 來實現, 首先我們需要定義組件可以對外暴露的屬性, 以便在低代碼平臺中可以讓用戶來自定義, 這里我直接列出基本的配置:
接下來我們就來實現一下吧!
1. 繪制印章邊框
由上面代碼可知我們用 canvas? 的 arc 方法來創建一個圓形邊框.
2. 繪制五角星
創建一個五角星形狀. 該五角星的中心坐標為(x0, y0),中心到頂點的距離為 radius?, rotate=0 時一個頂點在對稱軸上
3. 繪制印章名稱
4. 繪制環形印章單位
在基本的印章實現之后, 我們來接收屬性配置:
對于低代碼的 schema? 配置, 這里以 H5-Dooring 的組件為例, 給大家分享一下:
快速將任意組件集成到低代碼平臺
在上面的分析實現中我們可以發現, 只需要把普通組件按照屬性對外暴露出來, 并按照 Dooring? 的 schema 定義模式來描述出來, 普通組件就可以立馬變成低代碼組件, 并自動生成組件配置面板:
具體的 schema 描述我在文檔中做了詳細的介紹, 大家感興趣可以參考一下:
? ?