微信h5实现分享给朋友url改变_php实现的微信分享到朋友圈并记录分享次数功能...

本文提供了一种使用PHP实现微信H5页面分享到朋友圈并记录分享次数的方法,包括引入JS文件、配置权限验证、处理验证结果、错误处理及PHP更新数据库的相关步骤。同时,给出了微信JSDK的相关文档链接。
摘要由CSDN通过智能技术生成

本文实例讲述了php实现的微信分享到朋友圈并记录分享次数功能。分享给大家供大家参考,具体如下:

1.引入JS文件
2.通过config接口注入权限验证配置
3.通过ready接口处理成功验证
4.通过error接口处理失败验证

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

<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);
}
}
以上内容希望帮助到大家,很多PHPer在进阶的时候总会遇到一些问题和瓶颈,业务代码写多了没有方向感,不知道该从那里入手去提升,对此我整理了一些资料,包括但不限于:分布式架构、高可扩展、高性能、高并发、服务器性能调优、TP6,laravel,YII2,Redis,Swoole、Swoft、Kafka、Mysql优化、shell脚本、Docker、微服务、Nginx等多个知识点高级进阶干货需要的可以免费分享给大家 ,需要请戳这里链接 或者关注咱们下面的专栏
PHP大神进阶​zhuanlan.zhihu.com
0bd5b99a2327081453d3e5fa01b04035.png
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值