小程序:跳转半屏小程序

微信小程序新出的 API,可以以半屏的形式,打开另一个小程序。
这种方式和之前的跳转小程序方式相比,优势是:

  • 不用弹框了,减少用户操作
  • 有主次解构,适合打开一些工具型的小程序。

那么如何使用呢?

实践

首页要在小程序后台配置:
设置 -> 第三方设置 -> 半屏小程序管理
点击添加输入另一个小程序的 appid 发送申请,另一个小程序管理员通过后这边状态会显示已通过,如图:
在这里插入图片描述

然后我们开始代码中调用,我这里简单封装了一个函数:

export const openHalfMini = () => {
  const platform = wx.getSystemInfoSync().platform
  if (platform !== 'android') {
    wx.showLoading({
      title: '打开小程序中',
      mask: true
    })
  }
  const token = wx.getStorageSync('token')
  wx.openEmbeddedMiniProgram({
  	// 要跳转的小程序的appid
    appId: 'wxcfxxxx',
    envVersion: __ENV__ !== 'production' ? 'trial' : 'release',
    path: `/pages/index/index?id=xxx`,
    success: () => {},
    fail: (error) => {
      console.log('跳转小程序失败', error)
    },
    complete: () => {
      wx.hideLoading()
    }
  })
}

  • 为什么加了 loading?
    因为打开这个 api 会有一些延时,比如点击触发后1s左右才能打开另一个小程序。
  • 为什么 android 下我没有加 loading?
    因为 android 触发这个 api 的时候系统自己有 loading,我加了会重复。

都是实践出来的坑啊~

对了,还有一个坑,有些手机会唤起失败,直接唤起了全屏的小程序,所以我们为了兼容,要在 app.json 中加上:

{
  "embeddedAppIdList": ["wxxxxxxxx"]
}

这里的 appid 是你要跳转到的小程序的 appid。

传给另一个小程序的参数,可以在另一个小程序接收(具体看文档),我是在另一个小程序做了一个通用页面来接收的。

效果

在这里插入图片描述

参考文档

https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/openEmbeddedMiniProgram.html

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Lvan的前端笔记

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值