网络编程
位置:首页>> 网络编程>> php编程>> php实现的微信分享到朋友圈并记录分享次数功能

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

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

标签:php,微信,分享

本文实例讲述了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

0
投稿

猜你喜欢

  • 我已安装了WINDOWS NT OPTON PACK 中的SMTP Service,请问如何使用它的发送邮件功能?在安装了SMTP Serv
  • 1 新建类库MyTestDLL2 右击项目“MyTestDLL”-》属性-》生成-》勾选“为COM互操作注册”3 打开 AssemblyIn
  • 使用picasa的时候,注意到它首先是显示模糊的图片,然后图片突然变得清晰,这样做有一定的好处——picasa的图片翻页是用javascri
  • QueryCache(下面简称QC)是根据SQL语句来cache的。一个SQL查询如果以select开头,那么MySQL服务器将尝试对其使
  • 交互设计是近几年流行的一个词语。现在市场上有许多资料来介绍什么是交互设计,如何做交互设计等。从场景,任务,用户,操作等分析。但由于受实际情况
  • 介绍 IIRF是一款开源的重写URL过滤器,类似于Apache的URL重写,基于VC8.0(可以用Visual Studio200
  • 自从web2.0之后,网页设计开始走向实用设计的阶段,越来越多的设计师注意到“为表达信息而设计”。着迷于前段时间黑白灰老师给大家介绍的“in
  • “输入框( Input )应当符合逻辑地划分为小组,这样大脑就可以很好的处理大堆区域间的关系。”– 《HTML权威指南》Web 应用程序总是
  • Debug Textarea这个东西是在线写 js 脚本的时候,用来即时查错的东西!也就是,当发现所编写的脚本有问题的时候会有相应的提示,并
  • 前言:泛型是静态类型语言的基本特征,允许将类型作为参数传递给另一个类型、函数、或者其他结构。TypeScript 支持泛型作为将类型安全引入
  • 很多用户在网站上会糊弄填写一个电子信箱,请问有什么办法可以阻止这种行为?我们通常用两种方法来进行判断:第一种,设定只有形如aspxhome@
  • SQL SERVER用来判断表或视图存在的语句在ORACLE中不能用,请问该怎么写。谢谢。答案exists(select tnam
  • 前言反爬虫是网站为了维护自己的核心安全而采取的抑制爬虫的手段,反爬虫的手段有很多种,一般情况下除了百度等网站,反扒机制会常常更新以外。为了保
  • 如何实现在下拉菜单里输入文字? 用这个代码试试看,应该可以的:<script>function pp(){se.opt
  • Logminer是每个Dba都应熟悉的工具,当一天由于用户的误操作你需要做不完全的恢复时,由于你无法确定这个操作是哪个时间做的,所以这对你的
  • 使用图层可以像素为单位精确定位页面元素,并且可以将层放置在页面的任意位置。当把页面元素放入图层之中时,还可以控制哪个显示在前面、哪个显示在后
  • 翻译:用法:zeros(shape, dtype=float, order='C')返回:返回来一个给定形状和类型的用0填充
  • 昨天打包下载了一个服务器整站,拿到这个*.mdb的文件后,却不知道怎么用,百度了一下,才知道是一种木马打包的形式文件,不能用WINrar来解
  • 数据库,网站运营的基础,网站生存的要素,不管是个人用户还是企业用户都非常依赖网站数据库的支持,然而很多别有用心的攻击者也同样非常&l
  • 一直以来,jQuery是我最喜欢的框架之一。1月14号 1.4 Released版本发布后,就迫不及待去了解了一下1.4版本对比以往1.3.
手机版 网络编程 asp之家 www.aspxhome.com