用c#开发微信 (10) JS-SDK 基本用法- 分享接口“发送到朋友”

微信JS-SDK是微信公众平台面向网页开发者提供的基于微信内的网页开发工具包。通过使用微信JS-SDK,网页开发者可借助微信高效地使用拍照、选图、语音、位置等手机系统的能力,同时可以直接使用微信分享、扫一扫、卡券、支付等微信特有的能力,为微信用户提供更优质的网页体验。

本文以介绍了分享接口里的“发送给朋友”事件的基本用法,其它的类推。

JSSDK使用步骤

1:绑定域名

先登录微信公众平台进入“公众号设置”的“功能设置”里填写“JS接口安全域名”。

备注:登录后可在“开发者中心”查看对应的接口权限。

2:引入JS文件

在需要调用JS接口的页面引入如下JS文件,(支持https):http://res.wx.qq.com/open/js/jweixin-1.0.0.js

本例中还用到了jquery,所以还引用了jquery的js。

3. 通过config接口注入权限验证配置

JS方法:

wx.config({
    debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
    appId: ‘<%= appID %>‘, // 必填,公众号的唯一标识
    timestamp: ‘<%= timestamp %>‘, // 必填,生成签名的时间戳
    nonceStr: ‘<%= nonceStr %>‘, // 必填,生成签名的随机串
    signature: ‘<%= signature %>‘,// 必填,签名,见附录1
    // 必填,需要使用的JS接口列表,所有JS接口列表见附录2
    jsApiList: [
    ‘onMenuShareAppMessage‘
    ]
});

这里只写了一个API接口onMenuShareAppMessage, 更多接口请参考官方文档:微信JS-SDK说明文档

debug设为true,会自动弹出一些提示信息;这里要注意的是,errmsg xxxx ok 是正常的,只有不是ok时才说明出错了。

有些参数是从后台取到的,放在Page_Load里:

string ticket = string.Empty;
timestamp = JSSDKHelper.GetTimestamp();
nonceStr = JSSDKHelper.GetNoncestr();
JSSDKHelper jssdkhelper = new JSSDKHelper();
public readonly string appID = ConfigurationManager.AppSettings["appID"];
ticket = JsApiTicketContainer.TryGetTicket(appID, appSecret);
signature = jssdkhelper.GetSignature(ticket, nonceStr, timestamp, Request.Url.AbsoluteUri.ToString());

官方提供了几个语言的demo,但就是没有c#版本的,没办法,只能自己动手。这里的 JSSDKHelper 和 JsApiTicketContainer 都是用的Senparc.Weixin 框架。

这些参数都是动态生成的,不能写死。否则这里就会出现一堆像什么 invalid signature 之类的错误。

4. 通过ready接口处理成功验证

JS 方法:

wx.ready(function () {
    wx.onMenuShareAppMessage({
        title: ‘用c#开发微信 系列汇总‘,
        desc: ‘网上开发微信开发的教程很多,但c#相对较少。这里列出了我所有c#开发微信的文章,方便自己随时查阅。如果可能,我尽量附上源码,这样就可以直接发布运行看效果,更好地理解原理。‘,
        link: url,
        imgUrl: ‘http://demo.open.weixin.qq.com/jssdk/images/p2166127561.jpg‘,
        trigger: function (res) {
        },
        success: function (res) {
            friendcallback(res);
        },
        cancel: function (res) {
        },
        fail: function (res) {
            alert(JSON.stringify(res));
        }
    });
});

备注:不要尝试在trigger中使用ajax异步请求修改本次分享的内容,因为客户端分享操作是一个同步操作,这时候使用ajax的回包会还没有返回。

当分享成功(success)后,可以调用回调函数 friendcallback(res):

friendcallback = function (res) {
    var shareUrl = "Share.aspx?type=friend&url=" + encodeURIComponent(url) + "&u=" + "<%= ViewState["navOpenId"] as string %>" + "&s=" + "<%= ViewState["shareOpenId"] as string %>";
 
    //AJAX请求
    $.ajax({
        type: "get",
        url: shareUrl,
        beforeSend: function () {
        },
        success: function () {
        },
        complete: function () {
        },
        error: function () {
        }
    });
};

这里是用ajax把这次分享的记录通过share页面,保存到DB里去。当然你可以在这里做你想做的事。

时间: 2024-08-10 17:14:14

用c#开发微信 (10) JS-SDK 基本用法- 分享接口“发送到朋友”的相关文章

用c#开发微信(10) JSSDK 基本用法 分享接口“发送到朋友”

微信JS-SDK是微信公众平台面向网页开发者提供的基于微信内的网页开发工具包.通过使用微信JS-SDK,网页开发者可借助微信高效地使用拍照.选图.语音.位置等手机系统的能力,同时可以直接使用微信分享.扫一扫.卡券.支付等微信特有的能力,为微信用户提供更优质的网页体验. 本文以介绍了分享接口里的"发送给朋友"事件的基本用法,其它的类推. JSSDK使用步骤 1:绑定域名 先登录微信公众平台进入"公众号设置"的"功能设置"里填写"JS接口安

用c#开发微信 (10) JS-SDK 基本用法- 分享接口&ldquo;发送到朋友&rdquo;

微信JS-SDK是微信公众平台面向网页开发者提供的基于微信内的网页开发工具包.通过使用微信JS-SDK,网页开发者可借助微信高效地使用拍照.选图.语音.位置等手机系统的能力,同时可以直接使用微信分享.扫一扫.卡券.支付等微信特有的能力,为微信用户提供更优质的网页体验. 本文以介绍了分享接口里的"发送给朋友"事件的基本用法,其它的类推. JSSDK使用步骤 1:绑定域名 先登录微信公众平台进入"公众号设置"的"功能设置"里填写"JS接口安

微信开放JS SDK,HTML5的逆袭

JS SDK 其实微博和淘宝的开放平台就出现,手机 QQ 近期在内也推出了几个增强 API,可未产生很大的效应.小巫之后终见大巫,此次微信开放的 SDK,站在了另一个高度,web 到底能有多强? HTML5来袭 此前,微信也有一些 JS API ,如分享等.但这次一次性开放了拍摄.录音.语音识别.二维码.地图.支付.分享.卡券等几十个 API功能,此消息立刻占满了 HTML5 从业者的朋友圈. 微信给所有做 web 开发的人打开一扇新窗户:使用 js,你也可以调用各种强大的原生能力了! 客观的讲

微信前端js sdk以外的开发

此时页面中就会出现刚才我画红圈部分的工具条.这个工具条再加上上面的标题栏工具条.极大的减少了可视区域的面积.能否将它去掉呢?答案是可以的.加入以下代码就可以去掉微信中下面的工具条: document.addEventListener('WeixinJSBridgeReady', function onBridgeReady(){ WeixinJSBridge.call('hideToolbar'); }); 其实不光可以去掉下面的工具条,还可以去掉其他在微信中一些功能性按钮.比如右上角的功能按钮

一个不错的微信应用JS API库

1.API能实现什么? 1.分享到微信朋友圈 2.分享给微信好友 3.分享到腾讯微博 4.新的分享接口,包含朋友圈.好友.微博的分享(for iOS) 5.隐藏/显示右上角的菜单入口 6.隐藏/显示底部浏览器工具栏 7.获取当前的网络状态 8.调起微信客户端的图片播放组件 9.关闭公众平台Web页面 你可以用微信的“扫一扫”来打开下面这个二维码体验一把: 2.如何使用? 使用起来比较简单,具体可参考demo.html中的实现 1).分享 WeixinApi.ready(function(Api)

微信JSSDK分享朋友圈微信自定义分享接口

服务项目 新手技术咨询 企业技术咨询 定制开发 服务说明 QQ有问必答 QQ.微信.电话 微信开发.php开发,网站开发,系统定制,小程序开发 价格说明 200元/月 1000/月 商议       联系 851 488 243, 备注:模板消息 微信jssdk分享接口需要微信认证的公众号才有权限可以使用,而微信认证不仅需要企业资质,而且每年都要进行一次认证,认证费用需要交300给微信官方 如果你没有认证的公众号,可以租用我们的分享接口权限 1.一次收费,永久有效 2.使用简单,在你的网站加一段

python 微信开发入门篇-调用JS SDK 含微信支付(二)

本章节完成微信js sdk + 微信支付调用,项目基础部分请参照入门篇第一章:https://www.cnblogs.com/wangcongxing/p/11546780.html 1.微信服务号设置    登录服务号后台设置如下: 1.登录地址:https://mp.weixin.qq.com/ 2.设置-->公众号设置-->功能设置 设置后结果如下 2.微信商户后台设置 登录微信支付平台设置如下: 1.登录地址(因为需要安装exe插件, 设置浏览为兼容模式  建议使用QQ浏览器):htt

实战微信JS SDK开发:贺卡制作与播放(1)

前段时间忙于CanTK 2.0的开发,所以博客一直没有更新.CanTK 2.0主要增强了游戏和富媒体的开发,现在编码和测试基本完成了,等文档完成了再正式发布,里面有不少激动人心的功能,等发布时再一一细说吧. 最近同事用CanTK开发了一个基于微信的贺卡制作APP,我虽然没有参与开发,但是提供CanTK和GameBuilder的技术支持,觉得有些东西比较有意思,写几篇博客和大家分享吧.这个贺卡APP完全开源,有需要的朋友可以随意修改和发布. CanTK(Canvas ToolKit)是一个开源的游

ES6+ 开发电商网站的账号体系 JS SDK

详情请咨询  QQ  709639943 01.ES6+ 开发电商网站的账号体系 JS SDK 02.Python3 全网最热的Python3入门+进阶 比自学更快上手实际开发 03.Python3.6 强力Django+杀手级Xadmin打造上线标准的在线教育平台 04.python_进阶强化 05.Java秒杀系统方案优化 高性能高并发实战 06.企业级刚需Nginx入门,全面掌握Nginx配置+快速搭建高可用架构 07.快速上手Linux 玩转典型应用 08.全面系统讲解CSS 工作应用+