近期又用到微信分享的功能了。虽然不是第一次用了,依然我又有幸踩到了一个坑,所以分享一下吧。

  根据微信sdk写的代码一步步很顺利,但是后面就是获取微信返回的分享结果的回调的时候IOS老是有问题,然后就网上各种搜,但是我得到的大部分答案是分享链接url的限制即:该分享链接域名或路径必须与当前页面对应的公众号JS安全域名一致

  but我的url符合要求就还是拿不到分享后的回调,然后经过一番折腾最后发现在微信分享成功回调的方法里加一个定时器就ok了。

提示:

  1. 这里我使用的还是旧的版本(1.3.2)这里就暂且不改了
  2. 官方已更至1.4.0详情参考:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421141115

☞更多微信分享内容可移步:https://www.cnblogs.com/imelemon/p/7088556.html

<script type="text/javascript" src="https://res2.wx.qq.com/open/js/jweixin-1.3.2.js "></script>

  

function wxShare(){

			// 1 判断当前版本是否支持指定 JS 接口,支持批量判断
wx.ready(function () { wx.checkJsApi({
jsApiList: [
'onMenuShareAppMessage',
'onMenuShareTimeline'
],
success: function (res) {
console.log("验证通过:"+JSON.stringify(res));
}
}); /* 分享好友1.3*/
wx.onMenuShareAppMessage({
type: 'link', // 分享类型,music、video或link,不填默认为link
title: '【春节】2019你好!', // 分享标题
desc: 'hello。', // 分享描述
link:'https://'+location.hostname+'/web',
imgUrl: '', // 分享图标
success: function (res) {
// 设置成功
if(res.errMsg.indexOf(':ok')!=-1){
shareCallback();//分享成功的回调
}else if(res.errMsg.indexOf(':cancel')!=-1){
mui.toast('分享已经取消');
}else{
mui.toast('分享失败');
}
},
cancel: function () {
alert("分享已经取消");
}
}); /* 分享朋友圈1.3 */
wx.onMenuShareTimeline({
  type: 'link', // 分享类型,music、video或link,不填默认为link
  title: '【春节】2019你好!', // 分享标题
  link:'https://'+location.hostname+'/web',
  imgUrl: '', // 分享图标
  success: function(res){
setTimeout(function(){
shareCallback();//分享成功的回调
},500);   },
  cancel: function () {
  alert("分享已经取消");
  }
});
}) wx.error(function(res){
mui.toast("wx:"+res.errMsg);
});
}

 

/* 分享成功的回调 */
function shareCallback(){ $.ajax({
type : 'post',
url : '/web/tic/shareCallback',
dataType:'json',
beforeSend: function() {
$('.mui-loading').show();
mask.show();//显示遮罩层
},
success: function(json){
mask.close();//关闭遮罩层
console.log(json); if(json.status=='fail'){
mui.toast(json.msg);
return;
}else{
mui.toast('分享成功!');
setTimeout(function(){
if(json.getRed==1){
$('.shareModal').hide()
$('.pop_wrap').show();
}else{
window.location.reload();
} },800);
}
},
error:function(XMLHttpRequest, textStatus, errorThrown){
mask.close();//关闭遮罩层
alert('error:'+textStatus+"***"+JSON.stringfy(XMLHttpRequest.readyState))
mui.toast('请求失败(500)');
}
});
}

  

微信js分享朋友圈(二)的更多相关文章

  1. 微信js分享朋友圈(一)

    1.绑定域名 先登录微信公众平台进入“公众号设置”的“功能设置”里填写“JS接口安全域名”. 备注:登录后可在“开发者中心”查看对应的接口权限. 2.引入js文件 <script type=&q ...

  2. JSSDK微信自定义分享朋友圈

    服务项目 新手技术咨询 企业技术咨询 定制开发 服务说明 QQ有问必答 QQ.微信.电话 微信开发.php开发,网站开发,系统定制,小程序开发 价格说明 200元/月 1000/月 商议       ...

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

    服务项目 新手技术咨询 企业技术咨询 定制开发 服务说明 QQ有问必答 QQ.微信.电话 微信开发.php开发,网站开发,系统定制,小程序开发 价格说明 200元/月 1000/月 商议       ...

  4. 微信JSAPI分享朋友圈调试经验:invalid signature签名错误排查

    .invalid signature签名错误.建议按如下顺序检查: 1.确认签名算法正确,可用http://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=jsapi ...

  5. React Native微信分享 朋友圈分享 Android/iOS 通用

    超详细React Native实现微信好友/朋友圈分享功能-Android/iOS双平台通用   2016/06/16 |  React Native技术文章 |  Sky丶清|  暂无评论 |  1 ...

  6. c#微信开发,使用JS-SDK自定义分享功能,分享朋友圈,分享给朋友等

    如果一个后端开发掌握了微信开发,甚至有微信开发上线项目,这在换工作的时候 还是有竞争力的. 微信开发的资料很多,但是用asp.net c#进行微信开发好像比较少,或者资料不够完整. 使用JS-SDK自 ...

  7. vue实现微信分享朋友圈和朋友功能

    vue实现微信分享朋友圈和朋友功能 A-A+ haibao  2018-10-25  11  21  6.2 k  百度已收录  前端开发 温馨提示:本文共3536个字,读完预计9分钟. 这两天在开发 ...

  8. 微信小程序--仿微信小程序朋友圈Pro(内容发布、点赞、评论、回复评论)

    微信小程序--仿微信小程序朋友圈Pro(内容发布.点赞.评论.回复评论) 项目开源地址M朋友圈Pro 求个Star 项目背景 ​ 基于原来的开源项目 微信小程序仿朋友圈功能开发(发布.点赞.评论等功能 ...

  9. 微信开发(2):微信js sdk分享朋友圈,朋友,获取config接口注入权限验证(转)

    进行微信开发已经一阵子了,从最初的什么也不懂,到微信授权登录,分享,更改底部菜单,素材管理,等. 今天记录一下微信jssdk 的分享给朋友的功能,获取config接口注入. 官方文档走一下简单说:四步 ...

随机推荐

  1. noj1475(递推题)统计多少个1

    http://acm.nbut.cn/Problem/view.xhtml?id=1475 题意:给出一个数,需要你统计在这个数范围内有多少个1........ 思路:从高位到低位计算,例如1312 ...

  2. 使用python对mysql主从进行监控,并调用钉钉发送报警信息

    1.编写python的监控脚本 A.通过获取mysql库中的状态值来判断这个mysql主从状态是否正常 B.进行两个状态值的判断 C.进行调取钉钉机器人,发送消息 2.设置定时任务进行脚本运行 cro ...

  3. C#如何调用其他.config配置文件,就是2个乃至3个以上的config文件

    XmlDocument xDoc = new XmlDocument(); try { xDoc.Load(配置文件路径); XmlNode xNode; XmlElement xElem; xNod ...

  4. 转载:vim的复制,删除,粘贴,块操作以及快速替换功能

    掌握如下命令有什么好办法,我可以告诉你唯手熟尔!!多看多练对于VIM而言,复制,删除,粘贴的操作应该是非常多的.这次也做一个总结,关于处理VIM下的复制,删除,粘贴等操作.学会使用帮助文件,命令的帮助 ...

  5. Android——UI事件的处理机制(基于监听器)

    1.普通内部类(常用) xml <Button android:hint="reset" android:layout_columnWeight="1" ...

  6. CSS(四):字体和文本属性

    一.字体属性 属性 描述 font-style 设置字体风格 font-weight 设置字体粗细 font-size 设置字体的尺寸(一般用px表示) font-family 设置字体系列 font ...

  7. 数学 - SGU 118. Digital Root

    Digital Root Problem's Link Mean: 定义f(n)为n各位数字之和,如果n是各位数,则n个数根是f(n),否则为f(n)的数根. 现在给出n个Ai,求出A1*A2*…*A ...

  8. php 显示一个干净的,易被解析的json

    header("Content-type: text/html; charset=utf-8"); //试着从数据库里读取一条数据放进来 $con = mysql_connect( ...

  9. hdu 1233 还是畅通project

    本题链接:点击打开链接 本题大意: 有n个村庄,n*(n-1)/2条路,输入每条路所连接是哪两个村庄及长度,求使全部村庄均连通(并不是都两两连通) 所铺公路的最短路程. 解题思路: 使用并查集基础及K ...

  10. WPF datagrid 弹出右键菜单时先选中该项

    private void datagrid_PreviewMouseRightButtonDown(object sender, MouseButtonEventArgs e)    {        ...