![<web-view>中JSSDK <web-view>中JSSDK](https://image.shishitao.com:8440/aHR0cHM6Ly9ia3FzaW1nLmlrYWZhbi5jb20vdXBsb2FkL2NoYXRncHQtcy5wbmc%2FIQ%3D%3D.png?!?w=700&webp=1)
如果只是使用wx.miniProgram.navigateTo这种导航的接口,jssdk可以不用做配置,引用js后直接使用就行,如果chooseImage这种,就需要获取配置了,步骤如下:
先在后端通过AppID和AppSecret取到access_token,并缓存access_token
再通过access_token获取到jsapi_ticket,jsapi_ticket的值也要缓存
使用jsapi_ticket、当前URL、随机字符串、1970年1月1日00:00:00至今的秒数生成签名及及配置,返回给前端,签名记得使用https://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=jsapisign校验是否正确
前端拿到config后放到wx.config里执行
在wx.ready中注册事件
步骤比较多但是并不复杂,主要是这其中几个坑需要避开别踩到:
AppID和AppSecret不能用小程序的,要用公众号的,否则会报invalid url domain的错误,官方文档上并没有说明这一点,所以这个坑非常深非常隐蔽,另外这个公众号要不要与小程序关联还不清楚,我用的是关联的。
签名用到的当前URl不要解码,拿到的是什么就用什么,否则即使签名校验通过也会报签名错误
如果你用了chooseImage这个api,需要获取到选择的图片的话,官方文档上说是在success的tempFilePaths参数里,实际上并不是,是在localIds里面