首页 > 代码库 > PHP 微信分享
PHP 微信分享
share.php
<?php//公众号设置一下 JS接口安全域名,不要http,www的一级域名,比如http://www.baidu.com域名下的某个路径要分享,js安全域名中只需填上 baidu.com 即可//因为微信分享出去后的地址结尾带有from和isappinstalled参数。分享后再分享就会失效,所以前端判断获取这两参数,给后端动态添加到分享地址后面$urlend = ‘‘;if($_POST[‘from‘] == ‘timeline‘ || $_POST[‘from‘] == ‘singlemessage‘){ $urlend = "?from=".$_POST[‘from‘] . "&isappinstalled=".$_POST[‘isappinstalled‘];}$data[‘ticket‘] = ‘bxLdikRXVbTPdHSM05e5u7AnbMMI4rNIxqVt3BVCv-JyYcjsM0DdvwuHhd69qZ3-EzyQnuaEawwfTUdJMumb6A‘;//假设已获取到ticket,具体获取方法格外查询$data[‘timestamp‘] = time();//当前时间戳$data[‘noncestr‘] = ‘suijiwenzi‘;//自定义随机字符串$data[‘url‘] = ‘http://www.baidu.com/test/index.html‘.$urlend;//分享地址,url路径后面详细到文件扩展名时结尾不需要加/,否则详细到文件夹名则需要加///包括一些特殊路径比如 ‘http://www.baidu.com/test/index.php?s=home/index/test2‘ 其中有文件扩展名,则结尾也不需要加///说白了就是必须和当前浏览器路径完全一致$data[‘appId‘] = ‘wxb71ed5a23a86e594‘;$data[‘imgUrl‘] = ‘http://www.baidu.com/test/shareImg.jpg‘;//生成签名$string1 = "jsapi_ticket=".$data[‘ticket‘]."&noncestr=".$data[‘noncestr‘]."×tamp=".$data[‘timestamp‘]."&url=".$data[‘url‘];$data[‘signature‘] = sha1($string1);// 显示获得的数据echo json_encode($data);exit;?>
test_share.html
<!DOCTYPE html><html><head><title>测试html</title></head><body> <script type="text/javascript" src="js/jquery.min.js"></script> <script type="text/javascript" src="http://res.wx.qq.com/open/js/jweixin-1.0.0.js"></script> <script type="text/javascript"> var from = GetQueryStringS("from"); var isappinstalled = GetQueryStringS("isappinstalled"); $.post(‘share.php‘, { ‘from‘ : from, ‘isappinstalled‘ : isappinstalled }, function(data) { console.log(data); var appId = data[‘appId‘]; var timestamp = data[‘timestamp‘]; var noncestr = data[‘noncestr‘]; var signature = data[‘signature‘]; var url = data[‘url‘]; var imgUrl = ‘http://www.fotile.com/Video/html/img/shareImg1.jpg‘; wx.config({ debug : true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。 appId : appId, // 必填,公众号的唯一标识 timestamp : timestamp, // 必填,生成签名的时间戳 nonceStr : noncestr, // 必填,生成签名的随机串 signature : signature,// 必填,签名,见附录1 jsApiList : [ ‘onMenuShareTimeline‘, ‘onMenuShareAppMessage‘ ] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2 }); wx.ready(function() { wx.onMenuShareTimeline({ title : ‘你敢信么?家里烟龄最长的竟是妈妈!‘, // 分享标题 desc : ‘最怕你被烟伤害的人,却是被烟伤害最久的人‘, // 分享描述 link : url, // 分享链接 imgUrl : imgUrl, // 分享图标 success : function() { //alert(‘分享成功‘); }, cancel : function() { // 用户取消分享后执行的回调函数 } }); // config信息验证后会执行ready方法,所有接口调用都必须在config接口获得结果之后,config是一个客户端的异步操作,所以如果需要在页面加载时就调用相关接口,则须把相关接口放在ready函数中调用来确保正确执行。对于用户触发时才调用的接口,则可以直接调用,不需要放在ready函数中。 wx.onMenuShareAppMessage({ title : ‘你敢信么?家里烟龄最长的竟是妈妈!‘, // 分享标题 desc : ‘最怕你被烟伤害的人,却是被烟伤害最久的人‘, // 分享描述 link : url, // 分享链接 imgUrl : imgUrl, // 分享图标 type : ‘link‘, // 分享类型,music、video或link,不填默认为link dataUrl : ‘‘, // 如果type是music或video,则要提供数据链接,默认为空 success : function() { // 用户确认分享后执行的回调函数 }, cancel : function() { // 用户取消分享后执行的回调函数 } }); }); }, "json") function GetQueryStringS(name) { var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); var r = window.location.search.substr(1).match(reg); if (r != null) return unescape(r[2]); return null; } </script></body></html>
PHP 微信分享
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。