关于微信JSSDK的操作下面有非常详细的文档
微信JSSDK说明文档 - 微信公众平台开发者文档
具体步骤如下图所示
步骤一:绑定域名
先登录微信公众平台进入“公众号设置”的“功能设置”里填写“JS接口安全域名”。
备注:登录后可在“开发者中心”查看对应的接口权限。
步骤二:引入JS文件
在需要调用JS接口的页面引入如下JS文件,(支持https):http://res.wx.qq.com/open/js/jweixin-1.0.0.js
这里特别注意:我以为是这样写的
这样做的导致的结果是微信js sdk invalid signature签名错误。
我的错误截图:
至于怎么调试这个错误信息,在wx.config里面配置 debug:true,就可以看掉调试信息错误了。
还有一个原因导致,没有用最新的jssdk!但是最新的jssdk是基于SSl的https验证!
绑定域名,用自己的域名代替,这点很重要,很重要,很重要,千万注意了!
步骤三:通过config接口注入权限验证配置
wx.config({
debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
appId: '', // 必填,公众号的唯一标识
timestamp: , // 必填,生成签名的时间戳
nonceStr: '', // 必填,生成签名的随机串
signature: '',// 必填,签名,见附录1
jsApiList: [] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2
});
看到没有这就是debug模式,在正式的环境时,就不要ture了,该flase。但是在生产环境中,无论是wifi连接还是
蓝牙连接,这里有跟硬件相关的,还需要注意一个地方,这里也是一个坑。需要配置:beta: true,
百度搜索
这里有解释说明原因。
还要注意一点
下面是我自定义的JS文件
配置成功如下图:
步骤四:通过ready接口处理成功验证
wx.ready(function(){
// config信息验证后会执行ready方法,所有接口调用都必须在config接口获得结果之后,config是一个客户端的异步操作,所以如果需要在页面加载时就调用相关接口,则须把相关接口放在ready函数中调用来确保正确执行。对于用户触发时才调用的接口,则可以直接调用,不需要放在ready函数中。
});
这里没什么要将的,自己想干啥就干啥。
我的我ifi配置工作就是
步骤五:通过error接口处理失败验证
wx.error(function(res){
// config信息验证失败会执行error函数,如签名过期导致验证失败,具体错误信息可以打开config的debug模式查看,也可以在返回的res参数中查看,对于SPA可以在这里更新签名。
});
碰到问题时,多看看文档,微信的文档还是比较全的,还有测试工具
demo里面的代码有好多种。我这里用的php部分
注意看看readme.txt
PHP 部分代码包括了获取 access_token 和 jsapi_ticket 的操作,只需传入 appid 和 appsecret 即可,但要注意如果已有其他业务需要使用 access_token 的话,应修改获取 access_token 部分代码从全局缓存中获取,防止重复获取 access_token ,超过调用频率。
注意事项:
1. jsapi_ticket 的有效期为 7200 秒,开发者必须全局缓存 jsapi_ticket ,防止超过调用频率。
2.注意如果已有其他业务需要使用 access_token 的话,应修改获取 access_token 部分代码从全局缓存中获取,防止重复获取 access_token
最后说下微信开发用到的几个网址工具:
微信公众平台接口调试工具
获取jsApi
https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token=yPZn6I0DrojVN02iWOzMlXsHVgKPqveL1zK95zqZlU2NqscAd1NATSh5ZpJgPuTTXi5daYGP9FC8rpTyByM4FmPK7jEtPnWVk-y-irIHAuKubZy5wpUvw8Eo5l5fbniFALUfAIALWF&type=js
access_token根据自己的appID和appsecret来获取。
获取数字签名微信 JS 接口签名校验工具
微信 JS 接口签名校验工具
好了,基本就是这样,希望在和大家多多交流。