转发到微信的api官方文档:概述 | 微信开放文档
根据官方文档的介绍,微信官方已经开放了分享到朋友圈、微信好友、QQ空间等接口,我们只需要引入官方的js文件【http://res.wx.qq.com/open/js/jweixin-1.6.0.js】,通过wx.config接口配置权限验证的参数和需要调用的接口列表,执行成功则回调wx.ready,执行失败会调用wx.error。
wx.config需要的权限验证参数如下:
wx.config({
debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
appId: '', // 必填,公众号的唯一标识
timestamp: , // 必填,生成签名的时间戳
nonceStr: '', // 必填,生成签名的随机串
signature: '',// 必填,签名
jsApiList: [] // 必填,需要使用的JS接口列表
});其中appId是你的微信账号。我们需要使用appid和secret向微信的指定接口发起请求,获得签名。
※因为微信分享不支持跨域请求,所以获取access_token的请求必须从服务器发起,不能使用前端页面直接请求微信接口获得。
那我们就来看看获得签名具体的步骤:
1.使用GET请求调用【 https请求方式: GET https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET】接口,获取access_token

2.使用GET请求调用【https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token=ACCESS_TOKEN&type=jsapi】接口,获取jsapi_ticket,access_token就是步骤【1】中返回的token。因为jsapi_ticket的有效期为7200s,并且获取jsapi_ticket的api调用次数非常有限(每天仅能调用2000次),频繁刷新jsapi_ticket会导致api调用受限,影响自身业务,开发者必须在自己的服务全局缓存jsapi_ticket 。
3.将noncestr(随机串)、jsapi_ticket、timestamp(时间戳)、 url(当前网页的URL,不包含#及其后面部分)根据字典顺序排序,然后使用URL键值对的格式(即key1=value1&key2=value2…)拼接成字符串string1。
4.对string1作sha1加密,最后生成的值就是我们需要的签名。
具体的代码可以在我的git下载:
git@github.com:arphaGo/wxShare.git
最后就是将时间戳、随机串和签名返回,在wx.config中配置好之后,就可以调用微信的分享功能了。