wx.config({ debug: true, // 开启调试模式,调用的全部api的返回值会在客户端alert出来,若要查看传入的参数,能够在pc端打开,参数信息会经过log打出,仅在pc端时才会打印。 appId: '', // 必填,公众号的惟一标识 timestamp: , // 必填,生成签名的时间戳 nonceStr: '', // 必填,生成签名的随机串 signature: '',// 必填,签名,见附录1 jsApiList: [] // 必填,须要使用的JS接口列表,全部JS接口列表见附录2 });
开启调试模式:(true|false);javascript
公众号的惟一标识,这个参数是固定数值html
当前时间参数,也可使其余时间参数(为安全起见不要hardcode)java
生成一个随机字符串,具体长度我司是定的16位api
private function createNonceStr($length = 16) { $chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; $str = ""; for ($i = 0; $i < $length; $i++) { $str .= substr($chars, mt_rand(0, strlen($chars) - 1), 1); } return $str; }
$signature = sha1("jsapi_ticket=$jsapiTicket&noncestr=$nonceStr×tamp=$timestamp&url=$url");
签名是由jsapi_ticket、noncestr(随机字符串)、timestamp(随机时间串)、url 四部分经过“&”链接并进行SHA-1编码后所得缓存
生成签名以前必须先了解一下jsapi_ticket,jsapi_ticket是公众号用于调用微信JS接口的临时票据。正常状况下,jsapi_ticket的有效期为7200秒,经过access_token来获取。因为获取jsapi_ticket的api调用次数很是有限,频繁刷新jsapi_ticket会致使api调用受限,影响自身业务,开发者必须在本身的服务全局缓存jsapi_ticket 。安全
(解读:jsapi_ticket是一个临时调用js接口的凭证,每过7200秒会自动失效,并且这个jsapi_ticket的调用次数是有限制的,若是很差好利用这7200秒的缓存的话,就会过快的调用完这个次数限制,从而影响项目业务。因此咱们须要将jsapi_ticket进行一个缓存,并加上建立日期,判断这个时间是否超出7200秒的限制。一旦超出就从新获取,否者调用缓存的凭据)微信