Skip to main content

跳转业务小程序传参

接口说明

请求方式:uni.navigateToMiniProgram

跳转地址:业务小程序的页面path,如/pages/home/index

流程描述: 用户点击Portal小程序的功能按钮或链接,并携带参数跳转到业务小程序的指定页面。 业务小程序需要根据信息进行用户身份的识别与鉴权

是否加密:是

请求参数

参数名类型必填参数说明示例
unionidstringUNIONID微信用户身份标识
customerIdstring企业编号
oncestring随机数随机且不重复
timestampstring时间戳UNIX毫秒级
sourcestring请求来源PORTAL
signstring安全签名

请求示例

https://demo.xxx.com/index.html?unionid=XXXXXX&customerId=XXXXXX&customerId=XXXXXX&nonce=XXXXXX&timestamp=XXXXXX&sign=XXXXXX

签名方法

RSA是一种非对称加密算法,也称为公钥加密。其核心在于使用一对密钥,而非单个密钥: 公钥:完全公开,用于加密数据或验证签名。 私钥:严格保密,用于解密数据或创建签名。 关键特性:用公钥加密的内容,只能用对应的私钥解密;反之亦然(用于数字签名时)。这解决了对称加密中密钥分发的难题。

image.png

待签名串(注意顺序)

unionid=XXXXXX&customerId=XXXXXX&nonce=XXXXXX&source=XXXXXX&timestamp=XXXXXX #如无customerId参数则为如下 unionid=XXXXXX&nonce=XXXXXX&source=XXXXXX&timestamp=XXXXXX

算法

Rsa签名... (待签名串,自己的私钥)

小程序间调用示例代码

wx.navigateToMiniProgram({
appId: 'wxbb18ad238825c527',
path: 'pages/index/index',
extraData: {
unionid: 'oVIxu6YKFedf0p3u4_IAMUwWlpKo',
customerId: 'xxxx'
nonce: '37185902458631479250618439568742',
timestamp: 1721985235
source: 'PORTAL',
sign: 'xxxxxxxxxxxxxxxxxxxxx'
},
envVersion: 'release',
success(res) {
console.log('success');
},
fail(err) {
console.log('跳转失败', err)
}
})