微信通过JSSDK分享朋友圈
先在微信公众号里面配置js接口安全域名
HTML代码部分
<script type="text/javascript">
//if(!(/MicroMessenger/i.test(navigator.userAgent)))
//{
// document.body.innerHTML="请在微信打开此链接";
//}
// 注意:所有的JS接口只能在公众号绑定的域名下调用,公众号开发者需要先登录微信公众平台进入“公众号设置”的“功能设置”里填写“JS接口安全域名”。
// 如果发现在 Android 不能分享自定义内容,请到官网下载最新的包覆盖安装,Android 自定义分享接口需升级至 6.0.2.58 版本及以上。
// 完整 JS-SDK 文档地址:http://mp.weixin.qq.com/wiki/7/aaa137b55fb2e0456bf8dd9148dd613f.html
wx.config({
debug: false,
appId: 'xxxxx',
timestamp: '<%=wx.timestamp%>',
nonceStr: '<%=wx.noncestr%>',
signature: '<%=wx.signature%>',
jsApiList: [
'checkJsApi',
'onMenuShareTimeline',
'onMenuShareAppMessage'
]
});
wx.ready(function () {
// 2.2 监听“分享到朋友圈”按钮点击、自定义分享内容及分享结果接口
wx.onMenuShareTimeline({
title: '好帮人平台-',
link: 'xxxxxx',
desc: "分享给您的好友吧",
imgUrl: 'xxxx',
trigger: function (res) {
// alert("分享到朋友圈按钮点击");
},
success: function (res) {
alert("分享成功");
},
cancel: function (res) {
// alert('已取消');
},
fail: function (res) {
alert(JSON.stringify(res));
}
});
wx.error(function (res) {
// config信息验证失败会执行error函数,如签名过期导致验证失败,具体错误信息可以打开config的debug模式查看,也可以在返回的res参数中查看,对于SPA可以在这里更新签名。
alert("errorMSG:" + res);
});
});
</script>
<script type="text/javascript">
/// <summary>
/// 微信的js_api票
/// </summary>
public WeiXinJsapi_ticketJs wx { get; set; }
protected void Page_Load(object sender, EventArgs e)
{
WeiXinOAuth au = new WeiXinOAuth();
// WeiXinAccessTokenResult result = null;
string AppID = "xxxx";
string AppSecret = "xxxx";
if (HttpContext.Current.Session["jsapi"] == null)
{
string actoken = "";
if (HttpContext.Current.Session["token"] != null)
{
actoken = HttpContext.Current.Session["token"] as string;
}
else
{
Access_token ac = au.GetAcess_token(AppID, AppSecret);
if (ac != null)
{
HttpContext.Current.Session["token"] = ac.access_token;
actoken = ac.access_token;
// HttpContext.Current.Session.Timeout = 72000;
}
}
WeiXinJsapi_ticket jsapi = au.GetTickect(actoken);
string ms = JsonSerializeUtils.JsSerializer(jsapi);
WeiXinJsapi_ticketJs jsapis = new WeiXinJsapi_ticketJs();
jsapis.errcode = jsapi.errcode;
jsapis.errmsg = jsapi.errmsg;
jsapis.expires_in = jsapi.expires_in;
jsapis.ticket = jsapi.ticket;
long time = au.GetTimeStamp();
string noncestr = au.GetNoncestr();
jsapis.noncestr = noncestr;
string signature = au.GetSignature(jsapis.ticket, noncestr, time, HttpContext.Current.Request.Url.ToString(), "");//必须动态获取
jsapis.timestamp = time.ToString();
jsapis.signature = signature;
HttpContext.Current.Session["jsapi"] = jsapis;
HttpContext.Current.Session.Timeout = 72000;
string mss = JsonSerializeUtils.JsSerializer(jsapis);
wx = jsapis;
}
else
{
wx = HttpContext.Current.Session["jsapi"] as WeiXinJsapi_ticketJs;
string mss = JsonSerializeUtils.JsSerializer(wx);
long time = au.GetTimeStamp();
string noncestr = au.GetNoncestr();
wx.noncestr = noncestr;
string signature = au.GetSignature(wx.ticket, noncestr, time, HttpContext.Current.Request.Url.ToString(), "");//必须动态获取
wx.timestamp = time.ToString();
wx.signature = signature;
}
}
}
}
/// <summary>
/// 这是获取基础的access_token 每天最多获取2000次
/// </summary>
public class Access_token
{
public string access_token { get; set; }
public string expires_in { get; set; }
}
/// 微信Js-jdk的票据信息
/// </summary>
public class WeiXinJsapi_ticket
{
public string errcode { get; set; }
public string errmsg { get; set; }
public string ticket { get; set; }
public string expires_in { get; set; }
}
public class WeiXinJsapi_ticketJs : WeiXinJsapi_ticket
{
/// <summary>
/// 随机数
///
/// </summary>
public string noncestr { get; set; }
/// <summary>
/// 时间戳
/// </summary>
public string timestamp { get; set; }
/// <summary>
/// 签名
/// </summary>
public string signature { get; set; }
}
微信通过JSSDK分享朋友圈相关推荐
- 微信只显示分享朋友圈和好友 屏蔽其他的分享
wx.hideOptionMenu(); wx.showMenuItems({menuList: ['menuItem:share:appMessage','menuItem:share:timeli ...
- 解决方案:h5网页外部浏览器唤起微信分享,唤起微信面板,分享朋友圈方案,兼容大部分浏览器
h5网页外部浏览器唤起微信分享,唤起微信面板,分享朋友圈方案,兼容大部分浏览器 需求是点击分享按钮,直接唤起微信,发送给好有或者朋友圈.这个需求并不好完成,因为微信并没有对h5网页开放api,但是每个 ...
- 最新微信小程序分享朋友圈
微信小程序分享朋友圈 近日,微信小程序官方文档更新 wx.showShareMenu(Object object),其中显示小程序可以分享到朋友圈啦! 但是,设置分享朋友圈的前提是必须同时设置发生给朋 ...
- 微信小程序分享朋友圈官方支持哪些方面(最新版本)
微信小程序分享朋友圈官方支持哪些方面? 1.微信小程序分享朋友圈支持单页模式,具体单页模式的详细说明可参考官方文档,文档链接为:微信小程序单页模式 2. 微信小程序分享朋友圈如果是自定义页面路径的话, ...
- 微信公众号开发 自定义分享 从前台到Java后台 调用微信JS接口分享朋友圈
20180811写在前面的话 有很多人遇到问题之后问我,结果大多数是因为配置问题,所以请详细阅读前面的配置步骤. 20181016注意事项 收到反馈,之前写的接口即将废弃,源代码中的js接口需要修改, ...
- 微信小程序分享朋友圈 详细教程及注意事项
微信官方文档 分享所需要的条件 小程序页面默认为不开启朋友圈分享 需要开发者进行手动设置 需满足以下条件 才能开启朋友圈分享 1. 页面需设置允许"发送给朋友 官方文档 Page.o ...
- 微信小程序分享朋友圈生成海报
微信小程序实现分享到朋友圈 分享朋友圈现在大家的通用做法就是通过Canvas生成一张图片后进行保存,然后自行转发朋友圈.最近项目有这个需求, 于是就记录一下.(老规矩,我的博客复制粘贴就好使) 如果想 ...
- 微信小程序分享朋友圈限制多多
千呼万唤shi出来,在我渐渐淡忘了微信小程序可以分享朋友圈后,它又终于可以分享朋友圈了,但现在还只是测试版本,现在只针对Android平台开放,后续会对ios开放. 分享朋友圈定义的函数:onShar ...
- 【微信小程序】微信小程序分享朋友圈教程
安卓的朋友们福利来了,微信小程序现支持安卓的朋友们分享小程序到朋友圈了! 下面我们来看下具体操作,如何实现小程序分享朋友圈的! 效果图 点击朋友圈的链接即可进入一个微信原生的H5页面去展示所分享的小程 ...
最新文章
- 小程序地图多个 circles 使用demo
- 【每日一算法】重排链表
- Visual C# 编程操作Excel
- java web 的标准目录结构(zz)
- 使用windows自带远程桌面远程办公
- 运行iDT算法代码及后续特征编码
- 【spring boot】 使用 RestTemplate
- 美国发布新的安全备忘录,提升关键基础设施的网络安全
- Eclipse学习笔记——快捷键
- 如何在csdn网站搜索自己写的博客文章
- socket pro
- 软件测试及标准(基于ISO/IEC/IEEE 29119系列)
- 计算机常用的存储设备外存有哪些,计算机中常用的存储设备有哪些?
- (转)Intel Atom处理器详细指标及市场前景
- python蓝牙模块教程_通过蓝牙将HC05蓝牙模块与python连接时出错
- 页面布局(1):淘宝首页
- UEStudio09.20.0.1007 注册码
- Linux搭建Web网站
- Linux——详解进程控制之等待
- 多头 空头 利多 利空 做多 做空