asp.net mvc 如何调用微信jssdk接口:分享到微信朋友(圈)| 分享到qq空间
如何在asp.net mvc 项目里, 调用微信jssdk接口,现实功能: 分享到微信朋友(圈)| 分享到qq空间
1 创建一个Action,准备一些数据,初始化数据(签名):
/// <summary>/// 分享的内容/// 必须写在html的head里面才可以生效/// </summary>/// <param name="fxUrl"></param>/// <returns></returns>public ActionResult SharePartial(string fxUrl=""){BLL.SiteConfigBLL SiteBLL = new BLL.SiteConfigBLL();Model.siteconfig siteConfig = SiteBLL.getConfig();ShareModel fxModel = new ShareModel();fxModel.appid = siteConfig.appid;fxModel.timestamp = JSSDKHelper.GetTimestamp();fxModel.nonce = JSSDKHelper.GetNoncestr();fxModel.thisUrl = Request.Url.ToString();//MyCommFun.getTotalUrl();if (fxUrl == null || fxUrl.Trim() == ""){fxModel.fxUrl = fxModel.thisUrl;}else{fxModel.fxUrl = fxUrl;}string ticket = AccessTokenContainer.TryGetJsApiTicket(siteConfig.appid, siteConfig.appsecret);JSSDKHelper jsHelper = new JSSDKHelper();//最后一个参数url,必须为当前的网址var signature = JSSDKHelper.GetSignature(ticket, fxModel.nonce, fxModel.timestamp, fxModel.thisUrl);fxModel.signature = signature;return PartialView("SharePartial", fxModel);}
View Code
2 创建一个局部视图,对应上面的Action。
@model Model.ShareModel <!--分享--> <script src="http://res.wx.qq.com/open/js/jweixin-1.0.0.js" type="text/javascript"></script> <script type="text/javascript">//本活动被分享次数var dataForWeixin = {appId: "@Model.appid",MsgImg: "@Model.fxImg",TLImg: "@Model.fxImg",url: "@Model.thisUrl",fxUrl: "@Model.fxUrl",title: "@Model.fxTitle",desc: "@Model.fxContent",timestamp: "@Model.timestamp",nonceStr: "@Model.nonce",signature: "@Model.signature",jsApiList: ['onMenuShareTimeline', 'onMenuShareAppMessage', 'onMenuShareQQ', 'onMenuShareQZone', 'onMenuShareWeibo', 'showOptionMenu', 'closeWindow'],fakeid: "",callback: function () { }};wx.config({debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。 appId: dataForWeixin.appId, // 必填,公众号的唯一标识 timestamp: dataForWeixin.timestamp, // 必填,生成签名的时间戳 nonceStr: dataForWeixin.nonceStr, // 必填,生成签名的随机串 signature: dataForWeixin.signature,// 必填,签名,见附录1 jsApiList: dataForWeixin.jsApiList // 必填,需要使用的JS接口列表,所有JS接口列表见附录2 });wx.ready(function () {//在此输入各种API wx.showOptionMenu();//分享到朋友圈 wx.onMenuShareTimeline({title: dataForWeixin.title, // 分享标题 link: dataForWeixin.fxUrl, // 分享链接 imgUrl: dataForWeixin.MsgImg, // 分享图标 success: function () {// 用户确认分享后执行的回调函数 fxJia();//分享+1 },cancel: function () {// 用户取消分享后执行的回调函数 }});//分享给朋友 wx.onMenuShareAppMessage({title: dataForWeixin.title, // 分享标题 desc: dataForWeixin.desc, // 分享描述 link: dataForWeixin.fxUrl, // 分享链接 imgUrl: dataForWeixin.TLImg, // 分享图标 type: '', // 分享类型,music、video或link,不填默认为link dataUrl: '', // 如果type是music或video,则要提供数据链接,默认为空 success: function () {// 用户确认分享后执行的回调函数 fxJia();//分享+1 },cancel: function () {// 用户取消分享后执行的回调函数 }});//QQ wx.onMenuShareQQ({title: dataForWeixin.title, // 分享标题 desc: dataForWeixin.desc, // 分享描述 link: dataForWeixin.fxUrl, // 分享链接 imgUrl: dataForWeixin.MsgImg,// 分享图标 success: function () {// 用户确认分享后执行的回调函数 },cancel: function () {// 用户取消分享后执行的回调函数 }});//QQ微博 wx.onMenuShareWeibo({title: dataForWeixin.title, // 分享标题 desc: dataForWeixin.desc, // 分享描述 link: dataForWeixin.fxUrl, // 分享链接 imgUrl: dataForWeixin.TLImg, // 分享图标 success: function () {// 用户确认分享后执行的回调函数 },cancel: function () {// 用户取消分享后执行的回调函数 }});//QQ空间 wx.onMenuShareQZone({title: dataForWeixin.title, // 分享标题 desc: dataForWeixin.desc, // 分享描述 link: dataForWeixin.fxUrl, // 分享链接 imgUrl: dataForWeixin.TLImg, // 分享图标 success: function () {// 用户确认分享后执行的回调函数 },cancel: function () {// 用户取消分享后执行的回调函数 }});// config信息验证后会执行ready方法,所有接口调用都必须在config接口获得结果之后,config是一个客户端的异步操作,//所以如果需要在页面加载时就调用相关接口,则须把相关接口放在ready函数中调用来确保正确执行。对于用户触发时才调用的接口,则可以直接调用,不需要放在ready函数中。 });wx.error(function (res) {//alert(res);// config信息验证失败会执行error函数,如签名过期导致验证失败,具体错误信息可以打开config的debug模式查看,也可以在返回的res参数中查看,对于SPA可以在这里更新签名。 });</script> <!--end分享-->
View Code
之所以使用局部视图,是方便其他的页面(视图)调用,哪个页面(视图)需要,就直接调用局部视图;也就不需要在每个页面都写了。
在写项目之前,需要引用2个dll:
Senparc.Weixin.dll
Senparc.Weixin.MP.dll
注意事项:
1 签名时,传的参数,必须是当前页面的地址,必须一模一样;
2 js最好放在<head>内。
3 在微信公众号官方后台,公众号设置---功能设置---业务域名 和 JS接口安全域名,填写你网页的域名(需备案)。
asp.net mvc 如何调用微信jssdk接口:分享到微信朋友(圈)| 分享到qq空间相关推荐
- 微信小程序 点击生成朋友圈分享图
A:wxml(一定要加上image标签,如果你没有加的话,那么即使图片生成了,在页面上也是不会显示的,问过大神之后我才知道我之前一直没弄出来是因为我没加image标签) 1 <view hidd ...
- 调用微信JS-SDK接口上传图片
最近要在微信上做个问卷调查,有个上传图片功能,折腾找了半天资料,都不好弄,最终打算调用微信提供的上传图片接口,实现上传图片功能!此功能最大的好处是可以在微信服务器上暂存图片,减少本地服务器图片的缓存, ...
- 微信JS接口 分享到朋友圈 分享给朋友 分享到QQ 拍照或从手机相册中选图 识别音频并返回识别结果 使用微信内置地图查看位置
微信JS接口 微信JS接口 分享到朋友圈 分享给朋友 分享到QQ 拍照或从手机相册中选图 识别音频并返回识别结果 使用微信内置地图查看位置 来源:http://www.cnblogs.com/txw1 ...
- 【微信JSSDK】PHP版微信录音文件下载
微信的录音文件上传到微信服务器上,只能保存三天. 因此需要做一个转存到自己服务器,或者七牛云的操作. 转存到自己服务器 调用微信JSSDK API 录音, 录音结束,上传到微信服务器,获取录音文件的 ...
- 微信JS-SDK 分享到朋友圈 分享给朋友 分享到QQ 拍照或从手机相册中选图 识别音频并返回识别结果 使用微信内置地图查看位置
微信JS-SDK 分享到朋友圈 分享给朋友 分享到QQ 拍照或从手机相册中选图 识别音频并返回识别结果 使用微信内置地图查看位置 一.JS部分 wx.ready(function () {// 1 判 ...
- 微信朋友圈分享接口使用总结
微信朋友圈分享接口是非常细节的,而且不好调试,所以在此总结一下,以帮助大家 首先应该遵循微信开发者文档介绍,用接口调试工具将你需要的接口的权限确定一下(这里得去申请接口权限)?然后将这个网址用手机端微 ...
- java 朋友圈分享接口_Java实现微信公众平台朋友圈分享功能详细代码
其实分享的方法在微信官网有较为详细的文档说明,现就其中一些比较绕的步骤进行总结,有问题随时交流哈. 首先微信其实已经自带分享到朋友圈,朋友,qq空间等功能,对于开发微信专门提供了一个接口,可以根据需要 ...
- java给朋友发微信_微信api接口,给微信好友收发消息
微信api接口,给微信好友收发消息 /** * 给微信好友发消息 * @author wechatno:tangjinjinwx * @blog http://www.wlkankan.cn */ @ ...
- 微信支付接口怎么申请 微信支付接口申请教程
微信支付接口:点击进去 一直让大家翘首以盼的微信最核心的杀手锏--"微信支付"终于开放申请了!今天微信团队在官网发布消息,微信公众平台支付功能已正式开放申请,已开通公众号的 ...
- 企业微信朋友圈操作流程,发送获取数据,企业微信hook,企业微信群发接口,企业微信第三方接口。
企业微信营销接口. 企业微信web端 通过dll扩展 实现发送朋友圈功能 请求说明: syncKey 是 string 同步key 发送朋友圈实例: {"type":110003, ...
最新文章
- Linux中用mkdir同时创建多个文件夹
- struts2之OGNL用法
- SDN第4次上机作业
- 如何查看ubuntu的版本信息和查看几位 32 or 64位
- 一般项目中是如何调bug的 ------- 手把手带你体验整个流程
- MariaDB 加密特性及使用方法
- 使用describe命令进行Kubernetes pod错误排查
- [mybatis]Getting Started
- P4036-[JSOI2008]火星人【Splay,二分,hash】
- 算法证明_CFR+算法证明过程
- Linux 命令之 whois 命令-用于查找并显示用户信息
- ns3中调试程序------命令行、gdb和logging系统
- robocopy的退出返回代码
- mysql ---- 多表查询
- 机器学习-西瓜书、南瓜书第三章
- python中流程图的基本元素_面试干货:成为Python程序员的终极指南!(内附回答)...
- layui中弹出层的两种表达方式
- ZStack 3.6.0发布:支持云主机从KVM云平台在线迁移至ZStack
- 《机器人学导论》Matlab计算坐标系变换矩阵
- [PHPCMS]精美大气自适应资源模板下载网站源码