这两天在搞H5跳转小程序,踩了N次坑,论坛看的解决方案都没有一个完整的说明,Mark一下——
1、JS安全域名,只需要在小程序关联的公众号(服务号)后台,配置路径【公众号设置》功能设置》JS接口安全域名】
按照提示配置即可
2、获取公众号的jsapi_ticket,其中access_token是公众号的【全局唯一接口调用凭据】
调用接口https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token={$access_token}&type=jsapi
3、签名的问题,主要是url
前端上送:encodeURIComponent(window.location.href.split('#')[0])
后台:decodeURIComponent(args['url'])
排序拼接字符串signStr,sha1加密
signStr=sha1(signStr)
微信提供了签名校验工具:https://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=jsapisign
4、重点来了
wx.config里面的appId,是公众号的appId(wx...开头的)!!!
h5页面dom里面的userName,是要跳转的小程序的原始ID(gh_...开头的)!!!
dom里面的path指向小程序的目标页面,index后面带不带.html都可以
我就是因为一直用小程序的jsapi_ticket签名,小程序的appId传给wx.config,导致一直提示invalid url domain!!