php实现的微信分享到朋友圈并记录分享次数功能
程序员文章站
2022-09-02 11:51:38
本文实例讲述了php实现的微信分享到朋友圈并记录分享次数功能。分享给大家供大家参考,具体如下:
1.引入js文件
2.通过config接口注入权限验证配置
3.通过r...
本文实例讲述了php实现的微信分享到朋友圈并记录分享次数功能。分享给大家供大家参考,具体如下:
1.引入js文件
2.通过config接口注入权限验证配置
3.通过ready接口处理成功验证
4.通过error接口处理失败验证
jsdk档说明:https://mp.weixin.qq.com/wiki/7/aaa137b55fb2e0456bf8dd9148dd613f.html
(1)
<script type="text/javascript" src="http://res.wx.qq.com/open/js/jweixin-1.0.0.js"></script>
(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)验证config
wx.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); } }
更多关于php相关内容感兴趣的读者可查看本站专题:《php微信开发技巧汇总》、《php编码与转码操作技巧汇总》、《php网络编程技巧总结》、《php字符串(string)用法总结》、《php中json格式数据操作技巧汇总》及《php针对xml文件操作技巧总结》
希望本文所述对大家php程序设计有所帮助。