淘宝小程序插件通讯记录
提示
待完善
插件与容器的通信
- getApp 方法
应用提供了全局的 getApp() 方法,可获取当前应用实例,一般用于在子页面中获取顶层应用。
js
const { cloud } = getApp()
小程序怎么请求外部接口数据
小程序设置 http 白名单之后就可以使用 云函数为我们提供的 http 外联 能力进行接口请求
淘宝小程序使用插件
html
// demo.axml
<view>
<component
is="dynamic-plugin://你的插件id/index"
a:if="{{isActive}}"
></component>
</view>
js
// utils/http.js
// 调用云函数
export let http = async ({
invokeName, // 云函数名称
parameter={}, // 调用云函数时的传参
handler="main", // 指定云函数的handler
loadingText="加载中...", // loading 时的提示文案
needLoading=true, // 接口请求是否开启 loading
callback=function(){} // 回调函数
}) => {
if (needLoading){
addLoading(loadingText);
}
let res = {};
try {
const { cloud } = getApp();
res = await cloud.function.invoke(invokeName, parameter,handler);
if(needLoading)
isCloseLoading();
if(res.success) {
callback(res.result)
return Promise.resolve(res.result)
}
}
//....
}
// 调用oms接口
let httpOms = ({
cloud,
sessionId,
data,
api,
callback,
fail,
needLoading = false,
handler = 'omsHttp'
}) => {
api = `/oms-web-api${api}`;
return new Promise((resolve, reject) => {
http({
cloud: cloud || store.cloud,
invokeName:'omsBase',
parameter:{
//......
},
handler,
needLoading,
callback:(res)=>{
if(!res.success) {
reject(res)
}else if(callback) {
callback(res);
} else {
resolve(res);
}
}
})
})
};