微信自定义分享php代码分析


Posted in PHP onNovember 24, 2016

前一段之间做微信自定义分享,积累了一些经验,分享给大家。

微信自定义分享php代码分析

步骤一、二在微信开发者文档中已经很详细了,直接从步骤三开始吧。

步骤三要参数微信的参数,除了appId之外,其他的参数都是动态的,这里,我用的php语言,在后端生成的参数,代码如下:
php端代码:

public function getwxinfo(){ 
 $dataurl = I('dataurl'); 
 include('./ThinkPHP/Library/Vendor/jssdk/jssdk.php'); 
 $jssdk = new \JSSDK('appId','appSecret'); 
 $signPackage = $jssdk->GetSignPackage($dataurl); 
 exit(response('1','ok',$signPackage)); 
}

生成签名时,必须获取当前页面的URL,所以$dataurl是通过下面JS动态获取的,切记。
JS端代码:

var dataurl = window.location.href; 
$.ajax({ 
 type:'post', 
 data:{'dataurl':dataurl}, 
 url:'/index.php/Home/Index/getwxinfo', 
 dataType:'json', 
 success:function(json){ 
  var list = json.data; 
  var appId = list.appId; 
  var timestamp = list.timestamp; 
  var nonceStr = list.nonceStr; 
  var signature = list.signature; 
  weixinInfo(appId,timestamp,nonceStr,signature); 
 }, 
 error:function() { 
  //alert('网络不给力哦...') 
 } 
}); 
function weixinInfo(appId,timestamp,nonceStr,signature){ 
 wx.config({ 
  debug: false, 
  appId: appId, 
  timestamp:timestamp , 
  nonceStr:nonceStr, 
  signature:signature, 
  jsApiList: [ 
   'checkJsApi', //判断当前客户端版本是否支持指定JS接口 
   'onMenuShareTimeline', //分享到朋友圈 
   'onMenuShareAppMessage', //分享给好友 
   'onMenuShareQQ', //分享到QQ 
   'onMenuShareWeibo' //分享到微博 
  ] 
 }); 
} 
 
wx.ready(function () { 
 //微信好友 
 var s_title = '分享标题'; 
 var s_desc = '分享描述'; 
 var s_link = '分享后的链接'; 
 var s_imgUrl = '图片链接'; 
 wx.onMenuShareAppMessage({ //例如分享到朋友圈的API 
  title: s_title, // 分享标题 
  desc: s_desc, // 分享描述 
  link: s_link, // 分享链接 
  imgUrl: s_imgUrl, // 分享图标 
  success: function () { }, 
  cancel: function () { } 
 }); 
 //朋友圈 
 wx.onMenuShareTimeline({ 
  title: s_title, // 分享标题 
  link: s_link, // 分享链接 
  imgUrl: s_imgUrl, // 分享图标 
  success: function () { }, 
  cancel: function () { } 
 }); 
 //QQ好友 
 wx.onMenuShareQQ({ 
  title: s_title, // 分享标题 
  desc: s_desc, // 分享描述 
  link: s_link, // 分享链接 
  imgUrl: s_imgUrl, // 分享图标 
  success: function () { }, 
  cancel: function () { } 
 }); 
}); 
wx.error(function (res) { 
alert(res.errMsg); //打印错误消息。及把 debug:false,设置为debug:ture就可以直接在网页上看到弹出的错误提示 
});

 就这么简单。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
深思 PHP 数组遍历的差异(array_diff 的实现)
Mar 23 PHP
数据库查询记录php 多行多列显示
Aug 15 PHP
仿Aspnetpager的一个PHP分页类代码 附源码下载
Oct 08 PHP
用Simple Excel导出xls实现方法
Dec 06 PHP
基于PHP导出Excel的小经验 完美解决乱码问题
Jun 10 PHP
使用PHP获取当前url路径的函数以及服务器变量
Jun 29 PHP
PHP基于反射机制实现插件的可插拔设计详解
Nov 10 PHP
浅谈php中fopen不能创建中文文件名文件的问题
Feb 06 PHP
老生常谈PHP面向对象之标识映射
Jun 21 PHP
PHP实现通过strace定位故障原因的方法
Apr 29 PHP
php实现的表单验证类完整示例
Aug 13 PHP
利用PHP计算有多少小于当前数字的数字方法示例
Aug 26 PHP
php插入含有特殊符号数据的处理方法
Nov 24 #PHP
PHP合并数组的2种方法小结
Nov 24 #PHP
PHP magento后台无法登录问题解决方法
Nov 24 #PHP
微信 开发生成带参数的二维码的实例
Nov 23 #PHP
微信 getAccessToken方法详解及实例
Nov 23 #PHP
Yii核心验证器api详解
Nov 23 #PHP
[原创]php集成安装包wampserver修改密码后phpmyadmin无法登陆的解决方法
Nov 23 #PHP
You might like
克隆一个新项目的快捷方式
2013/04/10 PHP
phpexcel导入excel数据使用方法实例
2013/12/24 PHP
codeigniter教程之上传视频并使用ffmpeg转flv示例
2014/02/13 PHP
php创建和删除目录函数介绍和递归删除目录函数分享
2014/11/18 PHP
PHP处理postfix邮件内容的方法
2015/06/16 PHP
PHP多文件上传实例
2015/07/09 PHP
php源码的使用方法讲解
2019/09/26 PHP
ModelDialog JavaScript模态对话框类代码
2011/04/17 Javascript
js bind 函数 使用闭包保存执行上下文
2011/12/26 Javascript
javascript 手动给表增加数据的小例子
2013/07/10 Javascript
JavaScript实现列表分页功能特效
2015/05/15 Javascript
微信内置浏览器私有接口WeixinJSBridge介绍
2015/05/25 Javascript
遍历js中对象的属性和值的实例
2016/11/21 Javascript
原生JS实现图片轮播切换效果
2016/12/15 Javascript
jQuery的ajax中使用FormData实现页面无刷新上传功能
2017/01/16 Javascript
小程序实现列表多个批量倒计时
2021/01/29 Javascript
简单两步使用node发送qq邮件的方法
2019/03/01 Javascript
微信小程序 checkbox使用实例解析
2019/09/09 Javascript
vue组件中实现嵌套子组件案例
2020/08/31 Javascript
[01:59]翻天覆地,因你而变,7.20版本地图更新速览
2018/11/24 DOTA
python调用百度语音识别api
2018/08/30 Python
matplotlib命令与格式之tick坐标轴日期格式(设置日期主副刻度)
2019/08/06 Python
python爬取Ajax动态加载网页过程解析
2019/09/05 Python
Python3显示当前时间、计算时间差及时间加减法示例代码
2019/09/07 Python
python自动分箱,计算woe,iv的实例代码
2019/11/22 Python
Django values()和value_list()的使用
2020/03/31 Python
如何验证python安装成功
2020/07/06 Python
英国DVD和蓝光碟片购买网站:Zoom.co.uk(电影和电视)
2019/09/23 全球购物
某公司C#程序员面试题笔试题
2014/05/26 面试题
《赶海》教学反思
2014/04/20 职场文书
授权委托书范文
2014/07/31 职场文书
学生会竞选演讲稿学习部
2014/08/25 职场文书
2014年采购工作总结
2014/11/20 职场文书
会议通知范文
2015/04/15 职场文书
教你怎么用Python实现多路径迷宫
2021/04/29 Python
MySQL学习之基础命令实操总结
2022/03/19 MySQL