写一个具体实例
https://github.com/i5ting/wx_jsapi_sign
app.post('/getsignature', function(req, res){
var url = req.body.url;
console.log(url);
signature.getSignature(config)(url, function(error, result) {
if (error) {
res.json({
'error': error
});
} else {
res.json(result);
}
});
});
<script src="jweixin-1.0.0.js"></script>
<script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
<script>
// 使用 jq 动态加载 微信配置
$.ajax({
url: '/getsignature' // 此处url请求地址需要替换成你自己实际项目中服务器数字签名服务地址
,
type: 'post',
data: {
url: location.href.split('#')[0] // 将当前URL地址上传至服务器用于产生数字签名
}
}).done(function(r) {
// 返回了数字签名对象
console.log(r);
console.log(r.appid);
console.log(r.timestamp);
console.log(r.nonceStr);
console.log(r.signature);
// 开始配置微信JS-SDK
wx.config({
debug: true,
appId: r.appId,
timestamp: r.timestamp,
nonceStr: r.nonceStr,
signature: r.signature,
jsApiList: [
'checkJsApi',
'onMenuShareTimeline',
'onMenuShareAppMessage',
'onMenuShareQQ',
'onMenuShareWeibo',
'hideMenuItems',
'chooseImage'
]
});
// 调用微信API
wx.ready(function() {
var sdata = {
title: '那年|测试微信分享及相关API',
desc: '那年|测试微信分享及相关API',
link: 'http://game.4gshu.com/deep-love/index2.html',
imgUrl: 'http://game.4gshu.com/xuangedan/other-project/2015-01-06/img/share-wx-logo.jpg',
success: function() {
alert('用户确认分享后执行的回调函数');
},
cancel: function() {
alert('用户取消分享后执行的回调函数');
}
};
wx.onMenuShareTimeline(sdata);
wx.onMenuShareAppMessage(sdata);
// 添加图片
$('#addPic').on('click', function() {
wx.chooseImage({
success: function(res) {
var localIds = res.localIds; // 返回选定照片的本地ID列表,localId可以作为img标签的src属性显示图片
// var imgs = localIds.split(',');
localIds.forEach(function(v, i) {
alert(v);
$('#picList').append('<li><img src="' + v + '" alt="" width="50"></li>');
});
}
});
});
});
});
1、如果微信公众号没有认证,无法自定义分享标题和图片;
见https://segmentfault.com/q/1010000002488298
2、填写域名