/** * Created by bingo on 16-1-11. */ function array_combine(a,b){ for(item in b){ a[item] = b[item]; } return a; } var wxShare = { config : { appId : ‘‘, timestamp : 0, nonceStr : ‘‘, signature : ‘‘, func: [‘shareTimeline‘,‘shareAppMessage‘], /*--- 分享成功动态调用的方法----*/ timeLineSuccess : ‘‘, timeLineError : ‘‘, appMessageSuccess : ‘‘, appMessageError : ‘‘, /*--- 分享成功动态调用的方法----*/ timeLine : { title: ‘‘, // 分享标题 link: ‘‘, // 分享链接 imgUrl: ‘‘ // 分享图标 }, appMessage :{ title: ‘‘, // 分享标题 desc: ‘‘, // 分享描述 link: ‘‘, // 分享链接 imgUrl: ‘‘, // 分享图标 type: ‘‘, // 分享类型,music、video或link,不填默认为link dataUrl: ‘‘ // 如果type是music或video,则要提供数据链接,默认为空 }, shareModel :[ ‘checkJsApi‘,‘onMenuShareTimeline‘,‘onMenuShareAppMessage‘ ] }, init : function(json){ wxShare.config = array_combine(wxShare.config,json); wxShare.configReg(); if(wxShare.config.func.length){ for(var i = 0 ; i < wxShare.config.func.length ; i++){ var mN = wxShare.config.func[i]; eval(wxShare.func[mN]()); } } }, configReg : function(){ wx.config({ debug : false, appId: wxShare.config.appId, // 必填,公众号的唯一标识 timestamp: wxShare.config.timestamp, // 必填,生成签名的时间戳 nonceStr: wxShare.config.nonceStr, // 必填,生成签名的随机串 signature: wxShare.config.signature,// 必填,签名,见附录1 jsApiList: wxShare.config.shareModel }); }, func : { shareTimeline :function(){//分享朋友圈 wx.ready(function () { wx.onMenuShareTimeline(array_combine(wxShare.config.timeLine,{success: function(){ typeof wxShare.config.timeLineSuccess === ‘function‘ && wxShare.config.timeLineSuccess()},cancel: function(){ typeof wxShare.config.timeLineError === ‘function‘ && wxShare.config.timeLineError()}})); }) }, shareAppMessage :function(){//分享单个朋友 wx.ready(function () { wx.onMenuShareAppMessage(array_combine(wxShare.config.appMessage,{success: function(){typeof wxShare.config.appMessageSuccess === ‘function‘ && wxShare.config.appMessageSuccess()},cancel: function(){typeof wxShare.config.appMessageError === ‘function‘ && wxShare.config.appMessageError()}})); }) } } }
JS 太薄弱。第一次尝试写的稍微不一样一点。