uni-app打包的app跳转到小程序相关页面

// 跳转小程序支付
const goOrderPayWx =(orderPayId) =>{
	// #ifdef APP-PLUS
	plus.share.getServices((res) => {
        let sweixin = null
        for (let i = 0; i < res.length; i++) {
          if (res[i].id == 'weixin') {
            sweixin = res[i]
          }
        }
        if (sweixin) {
          // path : 要跳转的微信小程序的页面路径 可通过 ? 拼接的形式传参
          const path = `/page_service/order/payment?payOrderId=${orderPayId}`
          sweixin.launchMiniProgram(
            {
              id: 'gh_xxxxxxx', // 原始id:gh_开头 要跳转的微信小程序原始ID
              path,
              type: 2, // 小程序版本默认为0, 0: 正式版 1:测试版 2:体验版
            },
            (success) => {},
            (err) => {
              console.log(err)
              return uni.showToast({
                title: '请检查手机是否有微信应用~',
                icon: 'none',
              })
            },
          )
        }
      })
    // #endif
}

上述为vue代码。复制更改参数即可。

注意 manifest.json的配置 是和微信开发平台申请的应用id,不是小程序的appid

申请的包名和签名 需要和uni-app打包时候的包名签名 对应上。

云端证书里的签名和微信开发平台填写的签名要一致。


1. 这个问题根本原因是你微信开发平台上的签名与你的应用签名不一致。顺便一提,微信开放平台上的签名是应用签名的keystore文件的MD5值。MD5值是xx:xx:xx:xx:xx:xx:xx这种格式的秘钥,你复制到微信开发平台上就应该全部转换为小写以及去掉冒号,如f221hghf2h3jhf3k1j这样的一串字符。  
2. 更简单地,可以用[签名检测工具](https://res.wx.qq.com/open/zh_CN/htmledition/res/dev/download/sdk/Gen_Signature_Android2.apk)工具检查一下app的签名,用法就是下载该工具到手机上,打开输入包名即可得到一串字符,不出意外跟上面的方法得出字符串是一样的。  
3. 如果你后面改回来,确认签名已经一致了,但是依旧报这个错误,那么无疑就是微信缓存问题,因为微信记录了app分享的值,删掉微信,重装微信就OK了。  
   以上方法由广大DCloud用户摸索出来,我负责总结,如果在这个问题上你还有其他的情况产生,欢迎评论留言。  
   参考链接:[分享错误码](http://ask.dcloud.net.cn/article/287)以及该文章下面的评论。欢迎点赞。  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值