微信自定义分享php代码分析_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微信分享代码
qq自定义xml分享代码、微信自定义分享代码、自定义分享代码、自定义分享按钮代码、一键分享代码 自定义,以便于您获取更多的相关知识。

时间: 2024-12-24 10:01:15

微信自定义分享php代码分析_php实例的相关文章

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

前一段之间做微信自定义分享,积累了一些经验,分享给大家. 步骤一.二在微信开发者文档中已经很详细了,直接从步骤三开始吧. 步骤三要参数微信的参数,除了appId之外,其他的参数都是动态的,这里,我用的php语言,在后端生成的参数,代码如下: php端代码: public function getwxinfo(){ $dataurl = I('dataurl'); include('./ThinkPHP/Library/Vendor/jssdk/jssdk.php'); $jssdk = new

Zend Framework框架路由机制代码分析_php实例

本文分析了Zend Framework框架路由机制代码.分享给大家供大家参考,具体如下: 在框架中,有关路由的调用关系为: 1.apache的mod_rewrite模块把请求路由到框架的启动脚本,一般是index.php: 2.前端控制器Zend_Controller_Front通过dispatch函数进行请求分发: 3.路由器Zend_Controller_Router_Rewrite通过route函数处理路由,对路由器中已有的路由规则,按照加入顺序的逆序(类似于栈,后进先出)对每个route

CodeIgniter自定义控制器MY_Controller用法分析_php实例

本文实例讲述了CodeIgniter自定义控制器MY_Controller用法.分享给大家供大家参考,具体如下: Codeigniter所有的控制器都必须继承CI_Controller类,但CI_Controller类位于system目录下,不太方便修改.为方便做一些公用的处理,通常情况下我们会在core下创建MY_Controller,用来继承CI_Controller,从而项目中所有的控制器继承MY_Controller. 那么,MY_Controller 通常会做些什么呢? 所有的控制器都

基于thinkPHP实现的微信自定义分享功能示例

本文实例讲述了基于thinkPHP实现的微信自定义分享功能.分享给大家供大家参考,具体如下: 在许多大的网站我们都会看到点击分享就可以把数据分享到微信或QQ或其它的平台了,下面我们来看一段php版微信自定义分享代码,代码参考官方开发的没有任何问题. 分享需要认证微信订阅号或者服务号. php 代码(thinkphp): $appid='xxx'; $appsecret='xxxx'; $timestamp = time(); $noncestr = $this->getRandStr(15);

微信自定义分享-tomcat下部署一手机访问的项目微信分享朋友圈时不能显示自定义的图标

问题描述 tomcat下部署一手机访问的项目微信分享朋友圈时不能显示自定义的图标 如题,html中可以写微信分享的代码,但是部署在tomcat下自定义的无效

PHP微信开发之查询城市天气_php实例

PHP微信查询城市天气,首先,你需要找到一个获取天气的API,此处,我用的是百度的apistore,申请和使用API的网址:http://apistore.baidu.com/apiworks/servicedetail/112.html  登录百度账号,并用手机发送请求获取apikey.有了apikey,可以按照它的示例来请求城市天气了.(可以按照城市中文名,拼音,城市编号等来查询)  你可以现在本地做测试,请求完成之后,再放到自己的域名空间的脚本里.  测试的脚本例如:(注意apikey填写

ThinkPHP中数据操作案例分析_php实例

本文实例分析了ThinkPHP中数据操作方法.分享给大家供大家参考.具体如下: 模板中使用函数,相信大部分的TPer都知道也用过吧. 案例: 获取用户名的方法 function get_username($uid){ $row = M('User')->getbyUid($uid); return $row['username']; } 在模板中通过uid显示用户名 <volist name="rows" id="row"> <tr>

微信公众平台天气预报功能开发_php实例

本来是想自己直接从中国天气网获取信息并处理,后来发现处理起来太麻烦,而且要获取所有城市的城市编码,再有就是!不支持国外天气!!(我们学校有很多毕业生在国外上学,所以我考虑还是做出支持国外天气的版本) 因此考虑直接调用别人的API,一开始选用了方倍工作室已经做好的接口(无奈也没有国外).直到有一天返回北京天气温度是零下的时候(当时天热到不敢出门)...换!换!换! 后来终于发现最靠谱的接口----百度的天气API. 废话少说,首先大家要上 百度地图API申请一个专用key(大概一分钟就搞定了,很方

使用PHP进行微信公众平台开发的示例_php实例

1. SAE 数据库的连接. 需要主机名和端口,以后的使用是一样的. @ $db = new mysqli(SAE_MYSQL_HOST_M.':'.SAE_MYSQL_PORT,SAE_MYSQL_USER,SAE_MYSQL_PASS,'你的应用名'); 2.XML 的处理. 微信发送的消息格式都是 XML 格式,你返回的消息也必须是 XML 格式.从 XML 里提取数据,用 SimpleXML,强大又容易使用.包装成 XML 消息呢?把消息模板保存为字符串,然后用 sprintf 进行格式