返回

不藏私!H5打开微信小程序指定页面,让你体验新世界

前端

# 写在前面#
最近接到一个需求,一个h5页面需要在微信内部浏览器及外部浏览器打开微信小程序的指定页面,并且携带参数。注意:是“指定页面”。微信内部打开小程序指定页面还是比较简单,写上页面地址就可以,难的是外部h5打开小程序指定页面。经过一段时间的摸索,最终找到了解决办法,并在此分享给大家。

# H5页面打开微信小程序指定页面 #

打开微信小程序指定页面有两种方法:

  1. 直接在H5页面中使用微信提供的wx.miniProgram.navigateTo方法。

  2. 通过云函数间接打开小程序指定页面。

## 方法一:直接在H5页面中使用wx.miniProgram.navigateTo方法 ##

这种方法比较简单,直接在H5页面中使用微信提供的wx.miniProgram.navigateTo方法即可。wx.miniProgram.navigateTo方法的语法如下:

wx.miniProgram.navigateTo({
  url: '小程序页面地址',
  success: function () {
    // 成功打开小程序页面
  },
  fail: function () {
    // 打开小程序页面失败
  }
});

# 方法二:通过云函数间接打开小程序指定页面 #

这种方法需要借助云函数来实现。云函数是一种在云端运行的无服务器函数,可以在不配置服务器的情况下,快速开发和部署应用。

  1. 创建云函数

首先,我们需要创建一个云函数。云函数的代码如下:

const cloud = require('wx-server-sdk');

exports.main = async (event, context) => {
  // 获取小程序页面地址和参数
  const url = event.url;
  const params = event.params;

  // 打开小程序页面
  await cloud.openapi.templateMessage.send({
    touser: 'OPENID',
    template_id: 'TEMPLATE_ID',
    page: url,
    data: params
  });

  return {
    success: true
  };
};
  1. 部署云函数

创建好云函数后,需要将其部署到云端。

  1. 在H5页面中调用云函数

云函数部署完成后,可以在H5页面中调用它。云函数的调用方式如下:

wx.cloud.callFunction({
  name: '云函数名称',
  data: {
    url: '小程序页面地址',
    params: '参数'
  },
  success: function () {
    // 成功打开小程序页面
  },
  fail: function () {
    // 打开小程序页面失败
  }
});

# 注意 #

  1. 在使用云函数打开小程序指定页面时,需要确保H5页面与小程序属于同一主体。

  2. 在使用云函数打开小程序指定页面时,需要在云函数中配置小程序的appidsecret