當(dāng)前位置:工程項(xiàng)目OA系統(tǒng) > ERP系統(tǒng) > ERP設(shè)計(jì)運(yùn)用 > ERP系統(tǒng)開發(fā)
erp軟件用什么開發(fā)的
申請(qǐng)免費(fèi)試用、咨詢電話:400-8352-114
ERP軟件設(shè)計(jì)與實(shí)現(xiàn)
1系統(tǒng)設(shè)計(jì)
1.1系統(tǒng)架構(gòu)
系統(tǒng)以ERP系統(tǒng)中庫存、OA等模塊為例﹐搭建基于前后端分離的系統(tǒng)架構(gòu)﹐以此搭建一個(gè)具有響應(yīng)式布局的泛普后臺(tái)ERP管理系統(tǒng)。
基于開發(fā)架構(gòu)的控制層與模型層,將視圖層脫離出來,Reaction+DVA的前端技術(shù)組建系統(tǒng)的前端頁面,并通過訪問控制層公開的接口對(duì)后臺(tái)進(jìn)行操作,最終形成了該系統(tǒng)架構(gòu)。
系統(tǒng)分為前后端兩部分:
1)前端向云服務(wù)器發(fā)起靜態(tài)文件請(qǐng)求,如 HT-M L.css、Js 、 Image 等﹐由 Nginx 服務(wù)器搭建的HTTP服務(wù)會(huì)訪問本地資源﹐得到HTML.Css . Js . Image等文件,并返回到前端﹐然后展示通過瀏覽器編譯成用戶可以看到的頁面。
(2)Nginx通過反向代理將V3執(zhí)行系統(tǒng)的地址代理到8O端口,比如訪問http://w.Mitarl.com l api時(shí),通過反向代理后最終訪問的是http://www.mitarl.com:8080/webapil。
3)前端通過AJAX獲取、POST)向Nginx服務(wù)器發(fā)出請(qǐng)求,訪問V3的WebAPI接口,WebAPI通過規(guī)則鏈對(duì)數(shù)據(jù)進(jìn)行處理,最后通過訪問數(shù)據(jù)庫并得到相應(yīng)的數(shù)據(jù),然后以JSON格式的數(shù)據(jù)返回到前端,前端拿到數(shù)據(jù)后對(duì)其進(jìn)行處理,并展示在用戶的瀏覽器上。
1.2系統(tǒng)技術(shù)架構(gòu)
系統(tǒng)技術(shù)架構(gòu).
1狀態(tài)表示模型的狀態(tài)數(shù)據(jù);
2動(dòng)作是一個(gè)帶型屬性指明具體行為的對(duì)象,它是視圖層改變狀態(tài)的唯一途徑,通過調(diào)用dis-補(bǔ)丁方法,傳遞動(dòng)作到模型層,根據(jù)減速器改變狀態(tài);
3異步的操作,與同步的Action在調(diào)度時(shí)是一樣的,但是到達(dá)模型層,層會(huì)先根據(jù)ty pe先觸發(fā)減速器再觸發(fā)效應(yīng);
4調(diào)度是一個(gè)用于觸發(fā)動(dòng)作的函數(shù),可以看作是觸發(fā)這個(gè)行為的方式1°;
5還原劑是描述如何改變數(shù)據(jù)的12;
Effect被稱為副作用﹐dva底層引入redux -—saga做異步流程控制1﹐運(yùn)用ES6的generator的相關(guān)概念將異步轉(zhuǎn)成同步寫法﹔
7訂閱,然后根據(jù)條件調(diào)度需要的動(dòng)作,可以監(jiān)聽路由、鍵盤輸入等的變化;
8連接將Reaction與Redux數(shù)據(jù)連通,通過映射State里面的數(shù)據(jù),以Reaction中props數(shù)據(jù)的方式傳遞給組件。
1.3系統(tǒng)框架整合
先訂閱監(jiān)聽瀏覽器的路由變化,當(dāng)?shù)刂菲ヅ涑晒螅瑫?huì)觸發(fā)向服務(wù)器獲取數(shù)據(jù)的異步請(qǐng)求,獲取到數(shù)據(jù)后,對(duì)狀態(tài)容器進(jìn)行賦值,狀態(tài)容器發(fā)生改變后映射到了對(duì)應(yīng)的組件,組件就會(huì)講行溶染外理
(1)訂閱訂閱代碼。
配置О濫聽路由路由地址)如果路由地址==/home或者==/則觸發(fā)getOwnerTiles方法}
(2)效應(yīng)代碼(主要處理異步請(qǐng)求)。
GetOwnersTask洗從State樹里獲取當(dāng)前狀態(tài)的app樹下的User和Home樹下的Query,再創(chuàng)建傳遞給接口的數(shù)據(jù)對(duì)象,然后調(diào)用寫好的service接口并傳入?yún)?shù)。等待調(diào)用的結(jié)果,判斷結(jié)果是否正確,正確就PUT觸發(fā)對(duì)應(yīng)的Reducer去修改狀態(tài)樹}
(3)Service服務(wù)接口代碼。
一個(gè)異步函數(shù),提供給效應(yīng)調(diào)用,以JSON格式的數(shù)據(jù)傳遞仿射參數(shù)到服務(wù)端接口,最終收到接口的返回?cái)?shù)據(jù)并傳遞給正在等待的效應(yīng)。
(4)還原器和狀態(tài)樹。
還原劑接收動(dòng)作,即把時(shí)帶的參數(shù),這里是把接口傳過來的參數(shù)Hodo.做兩個(gè)數(shù)組)合并到當(dāng)前的樹里.
(5)連接將Redux與連接起來。
將state樹中Home節(jié)點(diǎn)﹐app節(jié)點(diǎn)下的 isNavbar、user映射到Home組件﹐使得 Home組件的prors屬性存在這幾個(gè)屬性。
(6)家庭組件下的表組件。
數(shù)據(jù)源是通過State樹傳過來響應(yīng)的道具屬性下的todo,滾動(dòng)條是根據(jù)瀏覽器大小決定的。使用Reaction進(jìn)行組件編寫,通過DVA Redux+Reaction-Rails+Redux-saga)提供的Connection組件對(duì)Reaction組件對(duì)Reaction和Redux進(jìn)行通信,從而Reaction組件可以獲取Redux里面的Store數(shù)據(jù),React通過發(fā)送action去觸發(fā)Effect異步)請(qǐng)求V3WebAPI接口或Reducer同步),從而Redux改變Store里面的數(shù)據(jù),Reaction組件的Props屬性綁定了Redux的Store,Store改變Props也會(huì)改變,Reaction組件就會(huì)自動(dòng)刷新狀態(tài)。
2.2系統(tǒng)實(shí)現(xiàn)
基于篇幅,本節(jié)只介紹系統(tǒng)開發(fā)過程中用到的框架技術(shù)的典型示例.
2.2.1登錄功能
登錄功能主要是對(duì)用戶身份進(jìn)行驗(yàn)證,核對(duì)用戶輸入的用戶名、密碼和驗(yàn)證碼的數(shù)據(jù)合法性和一致性.登錄功能采用異步請(qǐng)求到快速開發(fā)平臺(tái)的登錄構(gòu)件,實(shí)現(xiàn)過程如下:
點(diǎn)擊登錄按鈕會(huì)觸發(fā)作用,然后作用觸發(fā)效應(yīng)(帶*的是ES6的異步函數(shù)),接收兩個(gè)參數(shù).)第一個(gè)參數(shù):接收動(dòng)作傳過來的數(shù)據(jù),這里是把這個(gè)參數(shù)里面的有效載荷拿出來;第二個(gè)參數(shù):獲取DVA框架提供的兩種異步方法,Call是去請(qǐng)求service定義請(qǐng)求接口,類似于AJAX)并傳入有效載荷,通過關(guān)鍵字去等待異步數(shù)據(jù),當(dāng)異步數(shù)據(jù)獲取回來后,賦值給Res,RES里面的Data就是從V3WebAPI獲取過來的數(shù)據(jù),再判斷數(shù)據(jù)是否正確,如果正確則PUT一個(gè)Reducer,將傳過來的數(shù)據(jù)對(duì)應(yīng)修改商店里面的數(shù)據(jù),Response再刷新組件狀態(tài)。
2.2.2流程定義功能
快速開發(fā)平臺(tái)支持完整流程定義和擴(kuò)展,提供高度可視化流程設(shè)計(jì)器,集流程圖設(shè)計(jì)、規(guī)則定制和代碼擴(kuò)展、調(diào)試于一體,流程設(shè)計(jì)開發(fā)快捷高效A.使用iframe連通快速開發(fā)平臺(tái)的窗體,使快速開發(fā)平臺(tái)的窗體能在自己的系統(tǒng)中使用,將自己寫的頁面與快速開發(fā)平臺(tái)的窗體結(jié)合起來.
2.2.3組織機(jī)構(gòu)管理功能
組織機(jī)構(gòu)管理也是使用iframe連接快速開發(fā)平臺(tái)的窗體,因?yàn)榭焖匍_發(fā)平臺(tái)已經(jīng)提供了一套組織機(jī)構(gòu)管理的標(biāo)準(zhǔn)的窗體與規(guī)則,完全不用自己去做任何的業(yè)務(wù)編寫,所以利用快速開發(fā)平臺(tái)的這些窗體來對(duì)系統(tǒng)進(jìn)行擴(kuò)展.
總之﹐使用iframe來連接快速開發(fā)平臺(tái)提供的窗體﹐簡(jiǎn)化系統(tǒng)的一些必要業(yè)務(wù)﹐如 OA、組織機(jī)構(gòu)管理等模塊,可以直接引入快速開發(fā)平臺(tái)的窗體來對(duì)系統(tǒng)進(jìn)行擴(kuò)展﹐從而節(jié)約開發(fā)時(shí)間和簡(jiǎn)化開發(fā)過程。
- 1erp系統(tǒng)開發(fā)設(shè)計(jì)維護(hù)
- 2泉州erp系統(tǒng)定制開發(fā)
- 3erp系統(tǒng)開發(fā)過程
- 4北京倉庫erp系統(tǒng)開發(fā)
- 5定制erp系統(tǒng)開發(fā)流程
- 6erp系統(tǒng)如何開發(fā)市場(chǎng)
- 7java開發(fā)erp系統(tǒng)的步驟
- 8erp系統(tǒng)開發(fā)使用技術(shù)
- 9erp訂制開發(fā)
- 10erp系統(tǒng)開發(fā)詳細(xì)教程
- 11用低代碼平臺(tái)開發(fā)erp系統(tǒng)
- 12委托erp系統(tǒng)定制開發(fā)協(xié)議
- 13深圳erp制造系統(tǒng)開發(fā)
- 14福州廣州erp系統(tǒng)開發(fā)
- 15erp系統(tǒng)開發(fā)代碼書籍
- 16H5小程序制作都有哪些類型,如何選擇小程序制作平臺(tái)?
- 17如何在微信上自己創(chuàng)建一個(gè)小程序店鋪?
- 18erp系統(tǒng)應(yīng)用程序開發(fā)
- 19定制開發(fā)一個(gè)小程序需要多少錢?
- 20軟件開發(fā)erp
- 21開發(fā)erp系統(tǒng)需要多久時(shí)間
- 22成都深圳erp系統(tǒng)開發(fā)
- 23電商erp系統(tǒng)開發(fā)服務(wù)
- 24erp系統(tǒng)系統(tǒng)開發(fā)教學(xué)
- 25erp系統(tǒng)開發(fā)實(shí)施方案
- 26福州深圳erp系統(tǒng)開發(fā)
- 27微信小程序開發(fā)指南
- 28開發(fā)erp系統(tǒng)哪種語言最簡(jiǎn)單
- 29erp系統(tǒng)開發(fā)培訓(xùn)機(jī)構(gòu)
- 30云南辦公系統(tǒng)erp軟件開發(fā)
成都公司:成都市成華區(qū)建設(shè)南路160號(hào)1層9號(hào)
重慶公司:重慶市江北區(qū)紅旗河溝華創(chuàng)商務(wù)大廈18樓