若是一个后端开发掌握了微信开发,甚至有微信开发上线项目,这在换工做的时候 仍是有竞争力的。html
微信开发的资料不少,可是用asp.net c#进行微信开发好像比较少,或者资料不够完整。c#
使用JS-SDK自定义分享功能,分享朋友圈,分享给朋友,这里基本上不涉及后端语言。后端
一、首先要绑定域名,固然域名得备案。api
先登陆微信公众平台进入“公众号设置”的“功能设置”里填写“JS接口安全域名”。安全
说明:设置此安全域名目的是为了当发现此公众平台发现诱导分享行为时,能够根据此域名追溯到全部分享出去的连接,以及经过这些连接增长的粉丝。微信
二、引入js文件微信开发
在须要调用JS接口的页面引入以下JS文件http://res.wx.qq.com/open/js/jweixin-1.0.0.jsapp
说明:若是页面启用了https,务必要引入https://res.wx.qq.com/open/js/jweixin-1.0.0.js ,不然将没法在iOS9.0以上系统中成功使用JSSDK微信公众平台
三、经过config接口注入权限验证配置asp.net
在微信公众平台JSSDK说明文档是这样解释的:
wx.config({ debug: true, // 开启调试模式,调用的全部api的返回值会在客户端alert出来,若要查看传入的参数,能够在pc端打开,参数信息会经过log打出,仅在pc端时才会打印。 appId: '', // 必填,公众号的惟一标识 timestamp: , // 必填,生成签名的时间戳 nonceStr: '', // 必填,生成签名的随机串 signature: '',// 必填,签名,见附录1 jsApiList: [] // 必填,须要使用的JS接口列表,全部JS接口列表见附录2 });
四、经过ready接口处理成功验证
wx.ready(function(){ // config信息验证后会执行ready方法,全部接口调用都必须在config接口得到结果以后,config是一个客户端的异步操做,因此若是须要在页面加载时就调用相关接口,则须把相关接口放在ready函数中调用来确保正确执行。对于用户触发时才调用的接口,则能够直接调用,不须要放在ready函数中。 });
五、经过error接口处理失败验证
wx.error(function(res){ // config信息验证失败会执行error函数,如签名过时致使验证失败,具体错误信息能够打开config的debug模式查看,也能够在返回的res参数中查看,对于SPA能够在这里更新签名。 });
分享接口
一、获取“分享到朋友圈”按钮点击状态及自定义分享内容接口
wx.onMenuShareAppMessage({ title: '', // 分享标题 desc: '', // 分享描述 link: '', // 分享连接 imgUrl: '', // 分享图标 type: '', // 分享类型,music、video或link,不填默认为link dataUrl: '', // 若是type是music或video,则要提供数据连接,默认为空 success: function () { // 用户确认分享后执行的回调函数 }, cancel: function () { // 用户取消分享后执行的回调函数 } });
二、获取“分享给朋友”按钮点击状态及自定义分享内容接口
wx.onMenuShareAppMessage({ title: '', // 分享标题 desc: '', // 分享描述 link: '', // 分享连接 imgUrl: '', // 分享图标 type: '', // 分享类型,music、video或link,不填默认为link dataUrl: '', // 若是type是music或video,则要提供数据连接,默认为空 success: function () { // 用户确认分享后执行的回调函数 }, cancel: function () { // 用户取消分享后执行的回调函数 } });
完整的代码以下:
<%--引入js文件--%> <script src="http://res.wx.qq.com/open/js/jweixin-1.0.0.js"></script> <%--经过config接口注入权限验证配置--%> <script> wx.config({ debug: false, appId: '${shakeMap.appId}', timestamp: '${shakeMap.timestamp}', nonceStr: '${shakeMap.nonceStr}', signature: '${shakeMap.signature}', jsApiList: [ 'checkJsApi', 'onMenuShareTimeline', 'onMenuShareAppMessage' ] }); wx.ready(function () { <%--公共方法--%> var shareData = { title: '${title}', desc: '${description}', link: '${url}', imgUrl: '${headImgUrl}', success: function (res) { //alert('已分享'); }, cancel: function (res) { } }; <%--分享给朋友接口--%> wx.onMenuShareAppMessage({ title: '${title}', desc: '${description}', link: '${url}', imgUrl: '${headImgUrl}', trigger: function (res) { // alert('用户点击发送给朋友'); }, success: function (res) { //alert('已分享'); }, cancel: function (res) { //alert('已取消'); }, fail: function (res) { alert(JSON.stringify(res)); } }); <%--分享到朋友圈接口--%> wx.onMenuShareTimeline(shareData); }); <%--处理失败验证--%> wx.error(function (res) { alert("error: " + res.errMsg); }); </script>
C#示例 点此下载