最近在写微信公众号H5页面
遇到了一些坑,在这里记录一下
记录一下signature的计算
// 首先找到hex_sha1的加密算法,ticket 是后端提供的
var url_local = location.href.split('#')[0]
var timestamp = parseInt(new Date().getTime() / 1000)
var signature = hex_sha1('jsapi_ticket=' + wechatConfig.scan_info.ticket + '&noncestr=' + noncestr + '×tamp=' + timestamp + '&url=' + url_local)
在调用wx.config时
比如微信的扫码: ios 和 android 有些不同(限于我遇到的情况)
android 下 直接在wx.ready中调用微信的接口就可以
ios 需要把wx.conifg 的操作放在外层比如React /invitation/result 是android调用的,那么在Router走到/invitation/这一层的时候就把wx.config设置完
还有一个特别注意的点
比如说后端用微信做一个短连接
http://dwz.cn/505F7AA // 大概是这样的然后在微信中打开以后这个短连接会变成
http://你的网址/index?code=xxx&state=xxx&invite=xxx
这时候在做业务处理中有可能你需要绑定自己系统中的用户,这时候路由会发生跳转 http://你的网址/login,在处理完登录绑定以后,再跳转回来 http://你的网址/index,在这个时候一定要记得加上后面的?code=xxx&state=xxx&invite=xxx,这后面的参数也是计算signature关键的一部分,虽然微信告诉你绑定二级目录就可以,但这里是一个坑