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

作者:靳小霞 时间:2023-10-17 04:32:14 

本文实例讲述了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程序设计有所帮助。

来源:http://blog.csdn.net/u012493556/article/details/52494114

标签:php,微信,分享
0
投稿

猜你喜欢

  • python设计模式之装饰器模式

    2023-04-28 07:55:40
  • 使用JavaScript实现网页版Pongo设计思路及源代码分享

    2024-04-10 10:48:07
  • python3中dict.keys().sort()用不了的解决方法

    2023-08-16 11:33:54
  • Python多进程协作模拟实现流程

    2021-07-01 17:52:38
  • python回调函数中使用多线程的方法

    2022-11-08 20:01:15
  • mssqlserver恢复ldf文件数据的方法

    2024-01-22 11:06:54
  • 如何保护MySQL中重要数据的方法

    2024-01-20 15:15:43
  • opencv python 傅里叶变换的使用

    2022-07-27 14:55:03
  • python 判断矩阵中每行非零个数的方法

    2023-05-27 13:00:34
  • phpMyAdmin安装配置方法

    2009-09-09 20:15:00
  • Django动态展示Pyecharts图表数据的几种方法

    2022-03-18 05:28:09
  • 跟老齐学Python之让人欢喜让人忧的迭代

    2022-10-02 14:33:23
  • 详解多线程Django程序耗尽数据库连接的问题

    2024-01-23 02:27:14
  • Python实现程序的单一实例用法分析

    2023-01-08 11:38:14
  • PyTorch使用GPU训练的两种方法实例

    2023-09-21 08:11:40
  • python使用adbapi实现MySQL数据库的异步存储

    2024-01-25 10:59:10
  • 基于Golang 高并发问题的解决方案

    2024-02-20 16:49:01
  • python replace 空格数据处理的实现

    2022-12-24 04:33:44
  • 如何设置mysql允许外部连接访问

    2024-01-15 05:22:14
  • javascript replace()用法详解附实例代码

    2024-04-17 09:42:52
  • asp之家 网络编程 m.aspxhome.com