采購(gòu)部文檔接口詳細(xì)步驟說(shuō)明 ------ 訂單管理

前言:客戶(hù)端與服務(wù)器相連接方式主要有兩種,第一種是containers中寫(xiě),將所有數(shù)據(jù)獲取,做類(lèi)似緩存的處理,在一定條件下觸發(fā)方法執(zhí)行,第二種是action文件夾中寫(xiě),通過(guò)action(實(shí)時(shí)操作)觸發(fā)。

1.初始化獲取所有快遞訂單,在client/modules/orderControl/containers/index.js文件中。
調(diào)用getGuestOrders方法具體為:

_Meteor.call('GuestOrder.methods.expressOrders', { condition, sort: _sort }, (err, data) => {})

condition為篩選訂單的條件,sort是排序(methods.expressOrders,在快遞訂單中查找符合條件的訂單)
GuestOrder.methods.expressOrders接口服務(wù)端的方法在server/methods/GuestOrder.js文件中,在server端查找方法:


image.png

(2)return expressOrders({ condition, sort }); 通過(guò)查看知道這只是中間的方法名連接,

 import expressOrders from './guestOrder/web';

image.png

Objece.assign()方法是es6的內(nèi)容,詳細(xì)可看http://es6.ruanyifeng.com/#docs/object(第9章,對(duì)象的擴(kuò)展
的第五點(diǎn)),里面將用法和作用講得十分清晰。
db.GuestOrder是連接數(shù)據(jù)庫(kù),find是查找符合條件的數(shù)據(jù)。
(3)web.js中的方法需要在core/db中注入或者在core/index中注入才能順利使用db.GuestOrder的方法,GuestOrder必須在db文件中存在,可以發(fā)現(xiàn)在db中有注入該方法的文件,順著文件找到如下圖。
image.png

(4)在這個(gè)頁(yè)面中的方法真正的連接到數(shù)據(jù)庫(kù)進(jìn)行查詢(xún),如下圖。collection是數(shù)據(jù)庫(kù)的方法,連接數(shù)據(jù)庫(kù)的表格。所有的數(shù)據(jù)庫(kù)表結(jié)構(gòu)都要在lib/index.js中導(dǎo)出。
image.png

(5)在web.js中的方法會(huì)對(duì)數(shù)據(jù)庫(kù)內(nèi)容做處理以及合并等措施,最終return數(shù)據(jù),再通過(guò)一步步的方法返回給客戶(hù)端。

2.訂單管理---已付款---備貨接口,在client/modules/orderControl/action/index.js文件中調(diào)用stockUp方法,

stockUp: ({ _Meteor, LocalState }, { stockUpData }, callback) => {
            _Meteor.call('BoxInfo.methods.purchaseStockUp', { stockUpData }, (stockUpError, stockUpResult)                                        
                      => {
                              callback(stockUpError, stockUpResult);
                      });
         },
image.png

(2)傳入的參數(shù)stockUpData(對(duì)象),分別是goods(數(shù)組,每件商品具體的信息),_id,該訂單的id。

(3)在調(diào)用之前需要在client/modules/orderControl/containers/index.js文件注入action中所有的方法


image.png

(4)同樣需要在client/main.js中引入action的內(nèi)容,執(zhí)行以下三個(gè)步驟

import orderControlModule from './modules/orderControl';
 ...orderControlModule.reducer,
app.loadModule(orderControlModule);

(5)和之前查找方法一樣找到BoxInfo.methods.purchaseStockUp,定位到server/methods/boxInfo/web.js文件,如下圖,綠色箭頭標(biāo)注的方法是自定義的,并不是db自帶的,文件在server/methods/core/common.js

image.png

MongoDB通用方法參考鏈接: http://blog.csdn.net/jession_lin/article/details/60581254
server/methods/core/common.js中的文件, Object.keys()同樣是es6的語(yǔ)法http://es6.ruanyifeng.com/#docs/object
image.png

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容