Skip to content
霞露小伙 — HfWang
On this page

淘宝小程序插件通讯记录

提示

待完善

插件与容器的通信

  • getApp 方法

应用提供了全局的 getApp() 方法,可获取当前应用实例,一般用于在子页面中获取顶层应用。

js
const { cloud } = getApp()

小程序怎么请求外部接口数据

小程序设置 http 白名单之后就可以使用 云函数为我们提供的 http 外联 能力进行接口请求

淘宝小程序使用插件

html
// demo.axml
<view>
  <component
    is="dynamic-plugin://你的插件id/index"
    a:if="{{isActive}}"
  ></component>
</view>

外部HTTP调用客户端调用云函数

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);
        }
      }
    })
  })
};

本站中引用到的其他资料,如有侵权,请联系本人删除