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

  根据微信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. 在eclipse上Checkstyle的安装和使用

    1. 概述 随着中心的代码规范的建立和实施,项目组对代码规范要求,以及软件工程师们对自身代码的编写规范重要性的认知,“代码规范”已经成为了中心的一个“热词”.然后怎么才能写出有规范的代码,怎么才能养成 ...

  2. Elk使用笔记(坑)(2017-02-17更新)

    Elk使用笔记(坑)(2017-02-17更新) 作者: admin 时间: 2016-12-07 分类: 工具,数据 主要记录使用过程终于到的一些坑和需要注意的地方,有些坑想不起来了,以后再完善补上 ...

  3. JackSon解析json字符串

    JackSon解析json字符串 原文:http://blog.csdn.net/java_huashan/article/details/9353903 概述 jackson解析json例子 准备工 ...

  4. 常用的easyui使用方法之二

    -------datagrid 1.获取某行的行号(row)tdg.datagrid('getRowIndex',rows)2.通过行号移除该行tdg.datagrid('deleteRow',ind ...

  5. JQueryEasyUI-DataGrid显示数据,条件查询,排序及分页

    <html><head>    <title></title>    <script src="/jquery-easyui-1.3.4 ...

  6. remote指令添加远程数据库

    git remote add <name> <url> git remote add origin https://[your_space_id].backlogtool.co ...

  7. BestCoder Round #12 War(计算几何)

    War Time Limit: 8000/5000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submis ...

  8. 怎么隐藏MathType标尺

    因为MathType公式编辑能力非常的好用,所以非常的受大家的欢迎.MathType用现有的模板可以直接输入输出各种公式,而且MathType中有着各式各样的数学符号满足了大家日常公式的需求,为大家的 ...

  9. windows CMD命令大全及详细解释和语法

    http://blog.csdn.net/god_7z1/article/details/51173067

  10. 剑指 offer set 24 扑克牌的顺子

    题目 从扑克牌中任意抽取出 5 张牌, 判断是不是顺子, 并且大小王可以看成任意的数字 思路 1. 把大小王当做 0 插入到数组中, 然后对数组排序 2. 统计相邻两个数之间的空隙数, 若空隙数大于 ...