当前位置:   article > 正文

H5页面与app的交互(jsBridge)和小程序的交互(weixin-js-sdk)_【h5-js-sdk】: cannot find pc bridge

【h5-js-sdk】: cannot find pc bridge

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

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

        在main.ts里面:

  1. const ua = window.navigator.userAgent;
  2. let AppSource = "";
  3. if (
  4. ua.match(/iPad/) ||
  5. ua.match(/iPhone/) ||
  6. ua.match(/iPod/) ||
  7. ua.match(/ios/)
  8. ) {
  9. AppSource = "ios";
  10. } else if (/android_poly/i.test(ua)) {
  11. AppSource = "android";
  12. }
  13. Vue.prototype.$AppSource = AppSource;

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

  1. /**
  2. * APP端交互
  3. * @param method 交互方法
  4. * @param params 给app传输数据
  5. * @param callback 非app环境处理
  6. */
  7. jsBridge(method: string , params: any, callback?: () => any): void {
  8. if (Vue.prototype.$AppSource === "ios") {
  9. if (window.webkit.messageHandlers[method]) {
  10. window.webkit.messageHandlers[method].postMessage(params);
  11. } else {
  12. callback && callback();
  13. }
  14. } else if (Vue.prototype.$AppSource === "android") {
  15. if (window.android[method]) {
  16. if (params) {
  17. window.android[method](JSON.stringify(params));
  18. } else {
  19. window.android[method]();
  20. }
  21. } else {
  22. callback && callback();
  23. }
  24. } else {
  25. // 否则是H5页面
  26. callback && callback();
  27. }
  28. }

其中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为小程序里面对应的页面。

注:前面记得打 /  

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/710354
推荐阅读
相关标签
  

闽ICP备14008679号