H5页面与app的交互(jsBridge)和小程序的交互(weixin-js-sdk)

各端引用H5页面,H5跳回各端交互。

1、H5页面与app的交互(jsBridge):

        在main.ts里面:

const ua = window.navigator.userAgent;
let AppSource = "";

if (
  ua.match(/iPad/) ||
  ua.match(/iPhone/) ||
  ua.match(/iPod/) ||
  ua.match(/ios/)
) {
  AppSource = "ios";
} else if (/android_poly/i.test(ua)) {
  AppSource = "android";
}
Vue.prototype.$AppSource = AppSource;

        可以在mixin.ts里定义也可以直接建一个ts文件定义:

  /**
   * APP端交互
   * @param method 交互方法
   * @param params 给app传输数据
   * @param callback 非app环境处理
   */

  jsBridge(method: string , params: any, callback?: () => any): void {
    if (Vue.prototype.$AppSource === "ios") {
      if (window.webkit.messageHandlers[method]) {
        window.webkit.messageHandlers[method].postMessage(params);
      } else {
        callback && callback();
      }
    } else if (Vue.prototype.$AppSource === "android") {
      if (window.android[method]) {
        if (params) {
          window.android[method](JSON.stringify(params));
        } else {
          window.android[method]();
        }
      } else {
        callback && callback();
      }
    } else {
      // 否则是H5页面
      callback && callback();
    }
  }

其中method为APP和H5约定的方法,params为约定要传的参数。

列如:双方定义的方法名为 goClassify 参数为一个变量:linkId 

H5页面使用 this.jsBridge("goClassify", linkId);

2、H5页面与小程序的交互(weixin-js-sdk): 

安装:

npm install weixin-js-sdk

官方使用说明:

https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/JS-SDK.html

在使用页面引用:

import wx from "weixin-js-sdk";

H5页面跳转app交互:

列如:

wx.miniProgram.navigateTo({

  url: `/pagesIndex/performanceScreeningF?id=${linkId}&theaterId=${theaterId}`,

});

 wx.miniProgram.switchTab({

    url: `/pages/mall/mall`,

});

url为小程序里面对应的页面。

注:前面记得打 /  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值