微信JSSDK分享可以实现自己的网页在微信自定义图标,标题,还有描述,还可以分享到朋友圈,分享到微信群,分享给朋友等操作。
上图就是,左侧是分享到朋友圈,右侧是分享到微信群。
很多开发者下载官方的demo进行开发,最后debug的时候,显示的是config:invalid signature ,这个原因其实很有可能是签名不一致。
我们需要保持签名一致,才能完整注入这个权限的。
一般,签名不一致的是因为access_token生成的时候,获取jsapi_ticket的时候有问题造成的,我一开始弄了好久都没搞对,后来一个个尝试。
我先尝试生成的一个jsapi_ticket,写死在页面,发现没问题,然后再尝试获取access_token写死在页面,也没问题,但是直接在页面上生成access_token再调用就不行。
我就另外写了一个access.php进行生成access_token,把access_token存入数据库,搞一个定时任务,每隔1小时生成一个新的access_token,因为access_token仅有2小时有效期,而且每天最多调用2000次,所以我觉得存数据库是比较好的。
然后在分享页面取数据库的access_token就行了。
下面是生成access_token的代码: access.php
access_token; //连接数据库$con = mysql_connect("数据库地址","数据库账号","数据库密码");mysql_select_db("数据库名", $con);mysql_query("INSERT INTO access_token (access_token) VALUES ('$token')");mysql_close($con);?>复制代码
下面是分享页面代码: index.php
'ADDPID修改为您的', "nonceStr" => $nonceStr, "timestamp" => $timestamp, "url" => $url, "signature" => $signature ); return $signPackage; } $signPackage = getSignPackage();?>微信分享DEMO test复制代码
大概就这样就可以config:ok了
当然,开发过程中需要设置IP白名单,JS接口安全域名这些我就不多说了。作者:TANKING
2018-10-15