在一些带有分销功能或者需要用微信裂变的程序中,经常需要用到微信分享并记录次数,这样就知道别人分享了多少次,小郭今天正好也在做这个,就记录一下这个原理和实现方法,

1.引入JS文件

2.通过config接口注入权限验证配置

3.通过ready接口处理成功验证

4.通过error接口处理失败验证

JSDK档说明:https://mp.weixin.qq.com/wiki/7/aaa137b55fb2e0456bf8dd9148dd613f.html

(1)引入文件

(2)页面加入获取webconfig验证信息的值<?php

$url=dirname(dirname(dirname(dirname(dirname(dirname(dirname(__FILE__)))))));

$url=$url.'/addons/lb_vote/jssdk.php';

include $url;

$jsdk=new JSSDK('wxa3816b432f7291ba','e469db86bec9661650362dc2f9df8956');

$signPackage = $jsdk->GetSignPackage();

?>

(3)验证configwx.config({

debug: false,

appId:'<?php  echo $signPackage["appId"];?>', // 必填,公众号的唯一标识

timestamp:<?php  echo $signPackage["timestamp"];?>, // 必填,生成签名的时间戳

nonceStr: '<?php  echo $signPackage["nonceStr"];?>', // 必填,生成签名的随机串

signature:'<?php  echo $signPackage["signature"];?>',// 必填,签名,见附录1

jsApiList: ['checkJsApi','onMenuShareTimeline'] //

});

(4)微信分享到朋友圈接口wx.ready(function(){

wx.onMenuShareTimeline({

title: '测试分享朋友圈功能', // 分享标题

link: "{php echo 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];}", // 分享链接

imgUrl: '{php echo $_W['siteroot'];}{$photo}', // 分享图标

success: function () {

// 用户确认分享后执行的回调函数 记录分享的次数

$.ajax({

url:"{php echo $this->createMobileUrl('Index',array('op'=>'share'))}",

type:'post',

data:"id="+{$userinfo['id']}+"&rid="+{$userinfo['rid']},

dataType:'json',

success:function(data){

if(data.flags==1){

alert(data.msg);

}else if(data.flags==2){

alert(data.msg);

location.href="{php echo $this->createMobileUrl('Index',array('op'=>'display','id'=>$id))}" rel="external nofollow" ;

}

}

});

},

cancel: function () {

// 用户取消分享后执行的回调函数

alert('取消分享成功!');

}

});

});

(5)验证错误时执行的函数wx.error(function(res){

alert(res);

});

(6)PHP端更新数据库,记录分享次数 返回处理信息给用户if($op=='share'){

$voteinfo=pdo_fetch("SELECT *FROM ".tablename('lb_vote_info')." WHERE rid = :rid and id=:id and uniacid=:uniacid and pass=:pass", array(':rid' => $_GPC['rid'],':uniacid'=>$_W['uniacid'],':pass'=>1,'id'=>$_GPC['id']));

$sharenum=intval($voteinfo['sharenum'])+1;

$data=array(

'sharenum'=>$sharenum,

);

$res=pdo_update('lb_vote_info', $data, array('id' =>$_GPC['id'],'uniacid'=>$_W['uniacid'],'rid'=>$_GPC['rid']));

if(!empty($res)){

$msg['msg']='已分享到朋友圈!';

$msg['flags']=2;

echo json_encode($msg);

}else{

$msg['msg']='分享失败!';

$msg['flags']=1;

echo json_encode($msg);

}

}

整个原理和方法步骤就是这样,更多功能还需要深入研究和学习!

版权申明:此文如未标注转载均为本站原创,自由转载请表明出处《小郭博客》。

本文网址:http://www.d163.net/html/php/116.html

php 微信分享功能_php实现微信分享到朋友圈并记录分享次数功能相关推荐

  1. php 微信转发朋友圈,php实现的微信分享到朋友圈并记录分享次数功能的讲解

    这篇文章主要介绍了php实现的微信分享到朋友圈并记录分享次数功能,结合实例形式分析了php微信分享功能接口调用及分享次数统计具体操作技巧,需要的朋友可以参考下 本文实例讲述了php实现的微信分享到朋友 ...

  2. php判断朋友圈是否分享,php实现的微信分享到朋友圈并记录分享次数功能

    本文实例讲述了php实现的微信分享到朋友圈并记录分享次数功能.分享给大家供大家参考,具体如下: 1.引入js文件 2.通过config接口注入权限验证配置 3.通过ready接口处理成功验证 4.通过 ...

  3. 微信之分享到朋友圈并记录分享次数

    1.引入JS文件 2.通过config接口注入权限验证配置 3.通过ready接口处理成功验证 4.通过error接口处理失败验证 JSDK档说明:https://mp.weixin.qq.com/w ...

  4. android+分享微信朋友圈带编辑功能,新功能 微信6.6.6安卓版发布:朋友圈编辑可保留...

    原标题:新功能 微信6.6.6安卓版发布:朋友圈编辑可保留 [PConline资讯]本月月初,微信团队向iOS用户推送了微信6.6.6的更新,而安卓用户则只能够参加到新版的Beta测试中去.就在今天, ...

  5. 大家一起看广告?微信朋友圈广告@好友评论互动功能全量开放

    4月9日,微信官方宣布,4月8日起,朋友圈广告@好友评论互动功能全量开放.用户收到朋友圈广告后,可以跟点赞.评论一样,在广告的评论区@好友与其进行互动. 微信方面表示,@好友评论互动能力全量开放,使朋 ...

  6. PC微信3.3.0内测版(新增朋友圈功能)

    一直以来微信都被大家广泛的使用着,而今日小编要介绍的是微信3.3.0内测版,这是一款知名度极高的社交聊天软件,并且该版本是由腾讯于近期官方推出的一个最新的电脑内测版本,相信在电脑中安装使用过微信的小伙 ...

  7. 微信重大更新,mac版可刷朋友圈!可以看,可以评论! 支持M1

    微信重大更新,mac版可刷朋友圈!可以看,可以评论!微信Mac电脑版是官方推出的针对Mac用户设计的客户端产品,Mac上有六亿多庞大用户群体在使用微信客户端聊天工具,可以发送文字.语音.图片和视频,还 ...

  8. 调用个人微信API协议接口收发消息,发朋友圈

    调用个人微信API协议接口收发消息,发朋友圈 java调用个人微信的API接口收发消息 /** * 接受微信好友发来聊天消息 * @author wechatno:tangjinjinwx * @pa ...

  9. android相册隐藏拍照按钮,你绝对不知道的4大手机“隐藏”拍照功能!学会100%惊艳朋友圈!...

    原标题:你绝对不知道的4大手机"隐藏"拍照功能!学会100%惊艳朋友圈! 作者 | 蚂蚁MaE 编辑 | 智慧 Hello大家早上好鸭~我是智慧 最近我在朋友圈发了一张照片 底下都 ...

最新文章

  1. jq父级绑定事件的意义_jq——事件
  2. 研究生招生多次被“放鸽子”:给学生几点诚信方面的建议
  3. Coursera课程Python for everyone:chapter 2
  4. KubeCon 2019 北美会议完美落幕| 云原生生态周报 Vol. 29
  5. 【AI不惑境】模型剪枝技术原理及其发展现状和展望
  6. Asp.net2.0:如何使用ObjectDataSource
  7. rails 5 action cable 服务器部署
  8. 【离散数学】单向连通和弱连通的区别
  9. AJAX请求时status返回状态明细表 readyState的五种状态
  10. flink EventTime与Window
  11. UIKit基础:17-基础控件的总结
  12. 资深解毒:盖码饭和盖浇饭的区别是什么?
  13. sqlplus基础命令
  14. ROS主从机通信经验总结
  15. vlan局域网对战平台
  16. Ubuntu搭建透明网桥
  17. DataFrame-删除行列
  18. 数字在计算机中的表示——正负小数,正负整数,float,double
  19. 计算机图形学方向的基本能力
  20. 去应用商店给app评分

热门文章

  1. ajax基于bootstrap获取并渲染图书列表的数据(还有添加图书信息和删除图书信息)
  2. PS制作有弧度的角图片 办法一
  3. modbus协议教程
  4. Python_npy文件与png图片的格式转换
  5. 一个完整的java程序示例
  6. 电脑S端子连接电视S端子的方法
  7. 论文笔记Dory:Arguments for Inner Products and Polynomial Commitments
  8. 崩溃捕捉的dump没有提供堆栈的问题
  9. ios获取原生系统应用的包
  10. 淘宝网站的架构技术演进