W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
一個門店插件的定義包含插件類型、UI 規(guī)范、協(xié)議規(guī)范三個屬性。
插件類型定義了插件的業(yè)務(wù)屬性,比如 秒殺插件、拼團插件、預(yù)約插件等。每種類型的插件會由一或多個協(xié)議組成。門店主體小程序在喚起插件的時候會根據(jù)協(xié)議規(guī)范逐個調(diào)用協(xié)議 API。
指插件需要遵循的 UI 標準,標準由門店平臺定義。
協(xié)議規(guī)范是指插件實現(xiàn)時需要遵照的規(guī)范。
協(xié)議實現(xiàn)依賴插件的接口導(dǎo)出能力,插件可以在接口文件(在 plugin.json 配置文件中指定,詳情請參見 插件配置文件)中導(dǎo)出 js 接口,供插件的使用者調(diào)用,例如:
export default {
events: {
onInit: funciont(storeCtx) {
// 插件初始化回調(diào)
// todo
}
},
methods: {
attrApi: function() {
// 獲取插件屬性api
// todo
}
}
}
對于門店小程序來說,平臺定義了唯一的協(xié)議調(diào)用 this.props.onEmit
。
this.props.onEmit(this, apiName, param)
因此插件實現(xiàn)者需要導(dǎo)出如下接口:
export default {
methods: {
apiName: function(storeCtx, param) {
console.log('invoke api success!')
}
}
}
平臺自動注入門店上下文信息,包含如下屬性,插件開發(fā)者可以按需獲取。
{
"pid": "2088xxxxxxxx",
"storeId": "1000",
"storeName": "同樂坊Z空間店"
}
主體小程序 APPID,插件開發(fā)者可以通過 my.getParentAppIdSync() 進行獲取。
調(diào)用參數(shù),協(xié)議調(diào)用需要其他參數(shù)(業(yè)務(wù)參數(shù))放在這個對象里面,由主體小程序調(diào)用時傳入。
this.props.onEmit(this, "selectItems", { "size": 3 })
export default {
events: {
onInit: function(storeCtx) {
// 插件初始化回調(diào)
// todo
}
},
methods: {
// 組裝用戶選擇的商品
selectItems: function(storeCtx, param) {
const { pid } = storeCtx;
const { size } = param;
console.log('select items success!')
return new Promise(resolve => {
asyncAction((result) => {
resolve(result);
});
});
},
// 刪除商品
deleteItem: function(storeCtx, param) {
console.log('delete item success!')
}
}
}
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: