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

  根据微信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. [C++]VAssistX文件头添加注释功能设置

    问题情况:每次手写注释太慢,而且不统一.问题原因:C++可以利用宏写注释,也可以使用VAssistX提供的方法.问题处理:1.安装VAssistX在VS2010上2.VS2010菜单->VAss ...

  2. matlab_legend_使用

    matlab legend 使用 用Matlab画图时,有时候需要对各种图标进行标注,例如,用“+”代表A的运动情况,“*”代表B的 运动情况.legend函数的基本用法是LEGEND(string1 ...

  3. [dts]TI-am437x dts

    imx6 可以参考http://blog.csdn.net/shengzhadon/article/details/49908439 参照文件: Documentation/devicetree/bi ...

  4. Requests blocked by CORS policy in spring boot and angular

    在本地启动Spring Boot后端和Angular前端调试时遇到跨域访问的问题导致前端请求失败. 错误描述 Access to XMLHttpRequest at 'http://localhost ...

  5. HeadFirst Jsp 09 (JSTL)

    JSTL (jsp standard tag library) 标准标记库 JSTL 安装, 注意你的每一个项目都需要一个 JSTL副本, 并把它放在WEB-INF/lib 目录下, 在 Tomcat ...

  6. 安卓解析json

    重点是开启网络权限 难点是调用函数 开启网络权限 </application> <uses-permission android:name="android.permiss ...

  7. 008杰信-创建购销合同Excel报表系列-1-建四张表

    本博客的内容来自于传智播客: 我们现在开始要做表格了,根据公司要求的表格的形式,来设计数据库.规划针对这个表格要设计几张表,每张表需要哪些字段. 根据公司原有的表格,设计数据库: 原有的表格

  8. Spring Boot 是 Spring 的一套快速配置脚手架,可以基于Spring Boot 快速开发单个微服务

    Spring Boot 是 Spring 的一套快速配置脚手架,可以基于Spring Boot 快速开发单个微服务,Spring Cloud是一个基于Spring Boot实现的云应用开发工具:Spr ...

  9. 【BZOJ】1045: [HAOI2008]糖果传递(中位数)

    http://www.lydsy.com/JudgeOnline/problem.php?id=1045 白书上有讲 没ac的坑点在,数据范围n<=1,000,000 #include < ...

  10. 【BZOJ】1620: [Usaco2008 Nov]Time Management 时间管理(贪心)

    http://www.lydsy.com/JudgeOnline/problem.php?id=1620 一开始想不通啊.. 其实很简单... 每个时间都有个完成时间,那么我们就从最大的 完成时间的开 ...