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

  根据微信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. lua工具库penlight--09技术选择

    模块化和粒度 在理想的世界,一个程序应该只加载它需要的库.Penlight需要额外100 Kb 的字节码来工作.它是简单但却乏味要加载你需要什么: local data = require 'pl.d ...

  2. boa 服务的启动

    使用 buildroot 添加 boa 服务后,通过命令 boa 不能启动该服务,就研究了一下boa.conf的配置. etc/boa/boa.conf # 更改user 和Group 为root. ...

  3. UCOS2系统内核讲述(二)_初始化调用函数

    Ⅰ.写在前面 学习本文之前可以参看我前面的文章: UCOS2_STM32F1移植详细过程(汇总文章) UCOS2系统内核讲述(一)_总体描述 还是按照上一篇文章的思维(从外到内),本文(结合源代码)进 ...

  4. PHP——修改数据库2-加提示框,加登录页面

    登录页面:0127lianxi.php <body> <h1>登陆</h1> <form action="0127lianxi.php" ...

  5. API - 使用数据仓库 - 基础篇

    数据仓库是集成在Spider Studio中的一个重要功能, 利用它可以非常方便的保存采集到的数据, 然后导出或者在其他脚本中再利用. 数据仓库的全部功能都集成在DataManager这个静态类里面, ...

  6. C++ c++与C语言的区别(三目运算符,const修饰符)

    //区别⑦:三目运算符(C++版本) #include<iostream> using namespace std; //三目运算符 C语言返回变量的值 C++语言是返回变量本身 void ...

  7. 【BZOJ】1652: [Usaco2006 Feb]Treats for the Cows(dp)

    http://www.lydsy.com/JudgeOnline/problem.php?id=1652 dp.. 我们按间隔的时间分状态k,分别为1-n天 那么每对间隔为k的i和j.而我们假设i或者 ...

  8. Mac OSX使用 XAMPP path 下的php

    修改-/.bash_profile文件或.zshrc文件 export XAMPP_HOME=/Applications/XAMPP export PATH=${XAMPP_HOME}/bin:${P ...

  9. Loadrunner测试实例分析

    LoadRunner性能测试结果分析是个复杂的过程,通常可以从结果摘要.并发数.平均事务响应时间.每秒点击数.业务成功率.系统资源.网页细分图.Web服务器资源.数据库服务器资源等几个方面分析,如图1 ...

  10. 【NLP】主题识别文档

    http://www.biostatistic.net/thread-94974-1-1.html http://www.doc88.com/p-9843685205530.html http://w ...