小程序带参跳转第三方小程序

需求如下

A为我方小程序,B为三方小程序。要求点击A某页面上的领取按钮,跳转至B,B拉取用户授权或强制用户登录后将得到的openid等信息在跳转的时候返回给A

第一步:A跳转到B
使用uniapp的uni.navigateToMiniProgram方法进行跳转,只要确定B的appid和版本类型就可以了

  uni.navigateToMiniProgram({
    appId: 'xxxxxxxxxxx',
    path: `/tpjump/pages/openid?auth_scope=base_info&callback_params=cmVxX25vPTEyMzQ1Njc4OTAmY2xpZW50X2lkPTk4NzY1NDMyMQ==&callback_type=wxmini&msg_sender=${msgSender}&nonce_str=${nonceStr}&sign_type=RSA&timestamp=${timeStamp}&sign=${sign}`,
    envVersion: 'trial',
    success: (r) => {
      console.log('跳转成功了', r)
    },
    fail: (e) => {
      console.log(e, '跳转失败了', e)
    }
  })

第二步:B带参数跳转回A
这一步有两个可能性,
第一种是B使用uni.navigateBackMiniProgram方法,这个方法有一个extraData用来放B返回来的参数。这种情况下B会跳转至A当时跳过去的页面,但是extraData的内容需要在app.vue的onShow里面获取。这种情况可以在app.vue的onShow方法中把获取到的数据存入vueX或者存到本地。然后再到页面的onshow里面获取vueX或者本地的数据就可以了;

第二种是B使用uni.navigateToMiniProgram同一个方法,这种情况可以直接在跳转的时候设置跳回A的页面path,如果path带上query参数,那在A的页面就可以直接在onLoad中获取数据,(如果是跳回原页面,onload可能不执行)

附:跳回A小程序后先执行app.vue的onShow,再执行跳回页面的onShow,所以才不会耽误在页面获取数据
附:这次需求还涉及到了前端RSA加签的问题,后续附上链接

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值