Ovine提供系統(tǒng)應(yīng)用開發(fā)功能,軟件提供非常多的組件構(gòu)建新頁面,可以在軟件添加圖表組件,可以在軟件添加主題頁面布局組件,幫助用戶快速設(shè)計應(yīng)用頁面內(nèi)容,提高UI頁面設(shè)計效率,讓用戶在開發(fā)新系統(tǒng)的時候借助組件和ON配置管理系統(tǒng)功能,軟件提供儀表盤,您可以將其部署到自己的應(yīng)用程序,方便在儀表盤統(tǒng)計數(shù)據(jù),支持在線頁面編輯功能,點擊路由標(biāo)簽上的編輯圖標(biāo)可體驗在線編輯頁面效果,只有保存后才能看到頁面效果,目前只能體驗,等完成所有功能后將可用于生產(chǎn)環(huán)境!
Ovine軟件功能
強大ON配置
路由、權(quán)限、頁面、組件都由 json 配置,可簡單、快速的生成復(fù)雜的管理頁面。支持 json 數(shù)據(jù)渲染組件。也可無縫接入自定義組件。
完整權(quán)限管理
內(nèi)置企業(yè)級權(quán)限管理完整實現(xiàn),并集成到 json 配置中。支持自定義權(quán)限、權(quán)限依賴、接口 api 權(quán)限、基本可控制頁面上渲染的任意節(jié)點。
可擴展自定義主題
內(nèi)置三套主題可選。共有1000+ scss 樣式變量可供設(shè)置,可非常方便修改現(xiàn)有主題樣式,或者根據(jù)自定義需求添加一套新的主題樣式。
高效MOCK方案
支持基本的 crud 模擬數(shù)據(jù)生成,并且可以完全用程序生成模擬數(shù)據(jù)來實現(xiàn)各種場景的數(shù)據(jù)模擬。從而可實現(xiàn)脫離后端開發(fā)前端頁面。
基于百度Amis框架
本項目依賴百度 amis 框架二次封裝。該框架由百度 FEX 團隊開發(fā),已廣泛應(yīng)用于企業(yè)級項目中,經(jīng)得起實踐的考驗。
Ovine軟件特色
1、開箱即用
配套項目生成工具,3 分鐘左右可以快速構(gòu)建一個 Admin 應(yīng)用
無需再額外搭建開發(fā)環(huán)境
直接上手 Json 配置頁面、表單、權(quán)限、并對接 API
2、Json 格式數(shù)據(jù)生成界面
配置 路由、頁面、權(quán)限、CRUD 作 都集成在 Json 配置中
使用 Json 配置可以高效快速的完成各類型的表單數(shù)據(jù)展示頁面
可無縫接入自定義組件或者第三方組件,支持隨意擴展
3、完整的權(quán)限校驗體系
權(quán)限實現(xiàn)前后端分離控制
前端控制 界面元素 根據(jù)權(quán)限展示
后端控制 API 接口訪問權(quán)限
后端可記錄完整的用戶作路徑
權(quán)限使用 Json 配置,非常方便,擴展極強
支持簡單的權(quán)限匹配邏輯
4、高可擴展的樣式主題
可采用 scss 變量更改界面樣式展示,共 1000+ 可自定義設(shè)置的樣式變量
樣式使用 css in js 可以將樣式按照數(shù)據(jù)的方式數(shù)據(jù)寫入 Json 中
支持添加全新的自定義主題
5、簡潔的數(shù)據(jù) Mock 方案
生成 Mock 數(shù)據(jù)方便,可完全于后端 API,進行業(yè)務(wù)開發(fā)
Mock 數(shù)據(jù)與真實 API 數(shù)據(jù),無縫切換
Ovine教程
消息模塊
消息模塊主要是用于解藕模塊之間的依賴。可以用于多組件的通訊,也可用于數(shù)據(jù)模塊的處理。
publish 發(fā)布消息
主動發(fā)布消息,如果該消息被訂閱,則會觸發(fā)訂閱消息時的回調(diào)作。發(fā)布消息時,無攜帶數(shù)據(jù)時,可不傳第二參數(shù)。
subscbe 訂閱消息
訂閱消息就是為消息添加回調(diào)作,允許重復(fù)訂閱同一個消息。
unsubscbe 取消訂閱
當(dāng)對消息處理完畢,可以取消訂閱,后續(xù)消息則不再觸發(fā)回調(diào)。可用于組件銷毀時,取消對某些消息的訂閱。
subscbeOnce 僅訂閱一次
只是處理一次消息,便不再監(jiān)聽該消息。可用于一次數(shù)據(jù)的監(jiān)聽,防止重復(fù)處理。
observeStore 數(shù)據(jù)改變
數(shù)據(jù)改變,便會自動發(fā)消息。可用于監(jiān)聽數(shù)據(jù)變化。
路由跳轉(zhuǎn)
關(guān)于路由
Ovine 內(nèi)置了簡單的路由邏輯,只實現(xiàn)了 BwserHistory,不支持 HashHistory。新添加頁面,只需要在應(yīng)用配置的中 entry 中傳入路由頁面,或者在 aside-layout.utes 中傳入側(cè)邊欄路由頁面,就可以直接進行頁面跳轉(zhuǎn)了。
BwserHistory 是目前單頁面應(yīng)用普遍采取的方案,但項目部署有一些有簡單要求。
通過 Ovine 應(yīng)用配置 entry 添加頁面
aside-layout 布局內(nèi)頁面
路由跳轉(zhuǎn)
在 邏輯中進行頁面跳轉(zhuǎn).
使用 Action 渲染器, 在 ON 中實現(xiàn)頁面跳轉(zhuǎn)
Ovine常見問題
Ovine 基本都是 Json 配置,自定義擴展有保障嗎?
凡是配置 UI 的庫都會有類似的問題。如果我的需求,所有的存在配置項,都解決不了怎么辦?或者產(chǎn)品提出了刁鉆的需求,是不是就不能實現(xiàn)了,要換一個系統(tǒng)了!!完全不存在這個問題, Amis 實際上就是一系列 React 組件,使用 Json 配置渲染出來了而已。Amis 本質(zhì)上還是一個 React 組件。Ovine 也是一樣,它在 Amis 基上集成了一系列功能。如果這些配置都滿足不了需求,那么直接不用配置,自己純 DIY 寫就行了。React 能實現(xiàn)的,Ovine 就可以。所以不存在這個問題~
完全沒有用過 React 能用 Ovine 嗎?
國內(nèi) Vue 非常火,我都沒有接觸過 React,但是也覺得 Ovine 這的框架想嘗試。是不是能夠上手?
主要參考以下兩點
你要做的項目是不是純企業(yè)內(nèi)部系統(tǒng),很多功能都可以商量,達到目的就行了。還是面向 C 端用戶的中臺項目,很多功能都是特別個化的。那么 Ovine 不適合你了。
你是否有想上手 React 的想法,或者能夠時間去學(xué)習(xí)。 Ovine 寫 Admin,基本上不需要寫自定義組件,但是難免有特殊情況,如果沒有想了解 React 的打算,Ovine 也不推薦了。
那么換句話說,Ovine 是否可以支持用 Vue 寫自定義組件呢?這個后期可以考慮,如果實在有很多 Vue 開發(fā)者有這個需要,那么集成一下 Vue 依賴包就行了。
Dev 熱更新存在問題
本項目基于 Amis 而 它又是 Fis3 作為開發(fā)工具。Ovine 使用的 React-hot-loader 與 Webpack Hot Reload 方式,加了一個熱更新的功能。很因為很多都是組件都是層層封裝為 ON 渲染,再加上路由懶加載,某個環(huán)節(jié)就導(dǎo)致熱更模塊沒有匹配上。
雖然頁面雖然閃了下,數(shù)據(jù)也刷新了,但是代碼改動沒有在界面上更新過來。如果遇到這樣的情況,可以自己手動刷新一下就好了。
每次改了文件,頁面就刷新,就行完全不存在熱更新功能一樣。遇到這樣的情況,可能是熱更文件時,導(dǎo)致某個組件代碼報錯,熱更新就會失效,就會每次改動代碼就自動刷新頁面。