首页 > 语言 > PHP > 正文

php实现的微信分享到朋友圈并记录分享次数功能

2024-05-05 00:01:49
字体:
来源:转载
供稿:网友

本文实例讲述了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"];?>',// 必填,签名,见附录1jsApiList: ['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教程频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选