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

php二维码分享到朋友圈,php实现的微信分享到朋友圈并记录分享次数功能本文实例讲述了php实现的微信分享到朋友圈并记录分享次数功能。分享给大家供大家参考,具体如下:1.引入JS文件2.通过config接口注入权限验证配置3.通过ready接口处理成功验证4.通过error接口处理失败验证JSDK档说明:https://mp.weixin.qq.com/wiki/7/aaa137b55fb2e0456bf8dd9148dd613f.html(1)(2)页面加入获取we…

大家好,又见面了,我是你们的朋友全栈君。

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

1.引入JS文件

2.通过config接口注入权限验证配置

3.通过ready接口处理成功验证

4.通过error接口处理失败验证

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

(1)

(2)页面加入获取webconfig验证信息的值

$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程序设计有所帮助。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/134709.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • java将字符串分段输出_java输入字符串并将每个字符输出的方法[通俗易懂]

    java将字符串分段输出_java输入字符串并将每个字符输出的方法[通俗易懂]java输入字符串并将每个字符输出的方法如下所示:importjava.util.Scanner;publicclassMain{publicstaticvoidmain(String[]args){inti,len;Stringstr;Scannerin=newScanner(System.in);str=in.next();len=str.length();…

    2022年10月17日
    3
  • 彻底理解js中的闭包

    彻底理解js中的闭包闭包是js的一个难点也是它的一个特色,是我们必须掌握的js高级特性,那么什么是闭包呢?它又有什么用呢?我们都知道,js的作用域分两种,全局和局部,基于我们所熟悉的作用域链相关知识,我们知道在js作用域环境中访问变量的权利是由内向外的,内部作用域可以获得当前作用域下的变量并且可以获得当前包含当前作用域的外层作用域下的变量,反之则不能,也就是说在外层作用域下无法获取内层作用域下的变量,同样在不同的…

    2022年6月24日
    23
  • 基于C语言的图书管理系统_c语言图书管理系统课程设计报告

    基于C语言的图书管理系统_c语言图书管理系统课程设计报告该系统包括以下功能:1、注册账号2、登录账号3、修改密码4、录入功能5、添加功能6、删除功能7、修改功能8、浏览功能9、查询密码10、排序功能

    2022年10月11日
    3
  • ios touchesBegan不触发

    ios touchesBegan不触发iostouchesBegan不触发今天简单写了一个touchesBegan,发现无法触发,点击无效,网上找了半天没有效果。最终发现问题是uiimageview需要开启交互:

    2022年7月25日
    26
  • 安防流媒体无插件直播管理设计

    安防流媒体无插件直播管理设计什么是无插件方案?通过简单的网络摄像机通道配置,将传统监控行业里面的高清网络摄像机IPCamera、NVR等具有RTSP协议输出的设备接入到流媒体服务,流媒体服务能够将这些视频源的音视频数据进行拉取,转换为RTMP/HLS,进行全平台终端H5直播(Web、Android、iOS),并且EasyNVR能够将视频源的直播数据对接到第三方CDN网络,实现互联网级别的直播分发;1我的设备1.1….

    2022年6月10日
    41
  • django1.8_django serializers

    django1.8_django serializers前言由于之前我们一直使用的django-rest-framework-jwt这个库,但是作者在17年的时候就已经不再维护了(有部分bug没有解决),所以我们也就不用了,目前我们使用django-r

    2022年7月29日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号