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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 宽字节注入原理分析[通俗易懂]

    宽字节注入原理分析[通俗易懂]什么是宽字节?如果一个字符的大小是一个字节的,称为窄字节;如果一个字符的大小是两个字节的,成为宽字节。像GB2312、GBK、GB18030、BIG5、Shift_JIS等这些编码都是常说的宽字节,也就是只有两字节英文默认占一个字节,中文占两个字节什么是宽字节注入?原理:宽字节注入是利用了mysql的一个特性,即mysql在使用GBK编码时,在url解码时会认为两个字符是一个汉字(前一个ASCII码要大于128,才表示到汉字的范围)通常情况下,一个utf-8编码的汉子占用3个字节,一个GBK编

    2022年10月15日
    3
  • QQ邮箱html_html网页设计源码

    QQ邮箱html_html网页设计源码【实例简介】感兴趣的可以学习下【实例截图】【核心代码】QQ邮箱└──QQ邮箱└──QQMail└──WebRoot├──css│├──comm2010199717.css│├──getcss.css│├──today19bd39.css│└──webpushtip181b91.css├──html│├──ajax_proxy_002.htm│…

    2022年8月24日
    6
  • 80×86汇编小站站长简介-2014年08月23日[通俗易懂]

    80×86汇编小站站长简介-2014年08月23日[通俗易懂][人生格言]1]一生都用头脑而不是情绪解决问题2]只有偏执狂才会成功3]在最困难时都要保持一份幽默感4]吾生也有涯,而知也无涯,以有涯随无涯,殆已[简历]我的生日:1981.XX.XX生理特征:男婚姻状况:已婚个人站点:http://www.x86asm.comEmail  :pliceman_110@163.comQQ

    2022年10月13日
    3
  • 各大型邮箱smtp服务器及端口收集

    各大型邮箱smtp服务器及端口收集

    2021年9月21日
    57
  • 全国电信DNS(成都联通dns)

    来自http://tiger506.blog.51cto.com/blog/318536/330846 全国各地电信DNS:北京DNS地址:202.96.199.133202.96.0.133202.106.0.20202.106.148.1202.97.16.195上海DNS地址:202.96.199.132202.96.199.133202.

    2022年4月10日
    222
  • 提取pfx证书密钥对

    提取pfx证书密钥对两个测试证书test.pfx和test.cer.其中pfx证书包含RSA的公钥和密钥;cer证书用于提取pfx证书中密钥时允许当前电脑进行合法操作提取步骤如下:点击test.cer,安装cer证书2.从pfx提取密钥信息,并转换为key格式(pfx使用pkcs12模式补足)(1)提取密钥对opensslpkcs12-intest.pfx-nocerts-nodes-outtest.key//如果pfx证书已加密,会提示输入密码。如果cer证书没有安装

    2022年5月31日
    59

发表回复

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

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