当前位置:   article > 正文

通过微信小程序webview嵌套vue2项目相互跳转_微信小程序 webview 如何和里面的vue项目通讯

微信小程序 webview 如何和里面的vue项目通讯

首先如果你是小程序嵌套,而不是公众号嵌套的话,根本不需要按照网上的,说要配置在vue项目中引入weixin-js-sdk插件,并且需要wx.config配置

对于小程序中的 WebView 嵌套 Vue2 项目,不需要进行类似公众号中的 wx.config 相关的配置。小程序中的 WebView 是在小程序环境内嵌入的网页,可以直接通过小程序提供的 wx.navigateTowx.navigateBack 等 API 进行页面跳转和参数传递,不需要进行额外的配置。

而在公众号中的 WebView 嵌套 Vue2 项目,则通常需要使用微信公众平台提供的 JSSDK,通过 wx.config 来注入权限验证配置,以实现在公众号环境下与 WebView 之间的通信。这是因为公众号在安全考虑上要求进行权限验证,而小程序则不需要。

所以,在小程序中嵌套 Vue2 项目时,并不需要进行 wx.config 相关的配置。直接使用小程序提供的 API 进行页面跳转和参数传递即可。

npm到项目中:

在vue组件中引入:

import wx from "weixin-js-sdk";

 现在在vue2项目中使用微信的api了(注意 !如果当前没有被微信webview嵌套的话是没有任何效果的

跳转微信小程序普通页面

wx.miniProgram.navigateTo({ url: 这里写上要跳转的小程序页面路径 });

小程序部分:
  1. onLoad(options) {
  2. wx.getSetting({
  3. withSubscriptions: true,
  4. success(res) {
  5. // 判断用户是否已经授权订阅消息
  6. if (res.subscriptionsSetting.mainSwitch === true && res.subscriptionsSetting.itemSettings) {
  7. // 用户已经授权,可以进行相应操作
  8. console.log("用户已经授权订阅消息");
  9. wx.navigateBack({
  10. delta: 1, // 返回的页面数,根据实际情况进行调整
  11. success: function() {
  12. }
  13. });
  14. } else {
  15. // 用户未授权,展示订阅消息提示
  16. console.log("用户未授权订阅消息,展示提示");
  17. showSubscriptionMessageTip();
  18. }
  19. },
  20. fail(res) {
  21. console.log("获取用户订阅消息设置失败", res);
  22. }
  23. });
  24. function showSubscriptionMessageTip() {
  25. wx.showModal({
  26. title: "订阅消息提醒",
  27. content: "我们将向您发送消息通知,请允许通知。",
  28. confirmText: "确定",
  29. showCancel: false,
  30. success(res) {
  31. if (res.confirm) {
  32. // // 调用订阅消息的逻辑
  33. let workTaskTemplateId = 'NQrgV4zYF7naJ34NbjigkWaVm_VrgyjHe_lbGPeYzDk'; // 替换为你自己的模板ID
  34. let workTaskTemplateId2 = 'NQrgV4zYF7naJ34NbjigkWaVm_VrgyjHe_lbGPeYzDk'; // 替换为你自己的模板ID
  35. wx.requestSubscribeMessage({
  36. tmplIds: [workTaskTemplateId, workTaskTemplateId2],
  37. success(res) {
  38. console.log(res);
  39. if (res[workTaskTemplateId] == "accept") {
  40. console.log("成功");
  41. // 成功就回去
  42. wx.navigateBack({
  43. delta: 1, // 返回的页面数,根据实际情况进行调整
  44. success: function() {
  45. }
  46. });
  47. } else {
  48. console.log("用户拒绝");
  49. wx.navigateBack({
  50. delta: 1, // 返回的页面数,根据实际情况进行调整
  51. success: function() {
  52. const pages = getCurrentPages(); // 获取当前页面栈
  53. if (pages.length >= 2) {
  54. const prevPage = pages[pages.length - 2]; // 找到上一层页面
  55. prevPage.receiveParam('someValue'); // 调用上一层页面的接收参数方法,并传递参数
  56. }
  57. }
  58. });
  59. }
  60. },
  61. fail(res) {
  62. console.log(res);
  63. // 处理订阅消息失败的逻辑
  64. }
  65. });
  66. }
  67. }
  68. });
  69. }
  70. },
小程序效果:

 

然后再从小程序返上一层也就是webview包裹的vue项目中来

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

闽ICP备14008679号