PHP微信分享开发的示例

  介绍

小编给大家分享一下PHP微信分享开发的示例,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获、下面让我们一起去了解一下吧!

分享一个PHP微信端开发的经验,有时候当一个项目或工程需要微信端分享之后做一系列事件那么我们就需要获取到微信分享这个动作,也就是说我们已经知道了当前这个东西已经被分享了,那么走微信默认的分享显然是不行的我们需要自己动手来配置微信分享,当用户分享时走的是我们预定好的程序那么我们就可以轻松实现分享之后所做的事情。

在页面端主要是一个js如下:

& lt; script 类型=拔谋?javascript" https://www.yisu.com/zixun/, src=" http://res.wx.qq.com/open/js/jweixin-1.0.0.js ">      <>脚本   wx.config ({   调试:假的,//开启调试模式,调用的所有api的返回值会在客户端提醒出来,若要查看传入的参数,可以在pc端打开,参数信息会通过日志打出,仅在pc端时才会打印。   appId: {$ appId},//必填,公众号的唯一标识   时间戳:{$时间戳},//必填,生成签名的时间戳   nonceStr: {$ nonceStr},//必填,生成签名的随机串   签名:{$签名},//必填,签的名,见附录1   jsApiList: [' onMenuShareAppMessage ', ' onMenuShareTimeline ']//必填,需要使用的JS接口列表,所有JS接口列表见附录2   });      wx.ready(函数(){//分享给朋友   wx.onMenuShareAppMessage ({   标题:{$ title},//分享标题此处标题美元可在控制器端传递也可在页面传递页面传递讲解在下面哦   描述:{$ desc},//分享描述   链接:{$链接},//分享链接   imgUrl: {$ imgUrl},//分享图标   类型:",//分享类型,音乐、视频或链接,不填默认为链接   dataUrl:“,//如果类型是音乐或视频,则要提供数据链接,默认为空   成功:函数(){   alert('分享成功”);   },   取消:函数(){//用户取消分享后执行的回调函数//警报(“取消分享”);   }   });//分享到朋友圈   wx.onMenuShareTimeline ({   标题:{$ title},//分享标题   描述:{$ desc},//分享描述   链接:{$链接},//分享链接   imgUrl: {$ imgUrl},//分享图标   成功:函数(){//用户确认分享后执行的回调函数   },   取消:函数(){//用户取消分享后执行的回调函数   }   });   });      

当天气。配置配置好后程序才会接着走下面的分享,此处调试可将假改成真正的若配置好那么正常弹出好等信息若未配置好那么此处改成这样也不会有任何弹出效果

天气。配置需要控制器传来四个参数即appId、时间戳、nonceStr,签名;控制器代码如下:

& lt; php ?   ,   jssdk 美元;=,new  \ \ Util \ JSSDK (C (& # 39; APPID& # 39;),, C(& # 39;秘密# 39;));//此处C里面的东西为你所使用的公众号的appid和秘密,这俩个东西可在微信公众平台获取到,不详细解释,找不到追加评论(讲解),JSSDK文件代码在下   美元$ signPackage =, jssdk→GetSignPackage ();   ,   $ this→分配(& # 39;appid& # 39;, signPackage美元[“appId"]);   $ this→分配(& # 39;时间戳# 39;,signPackage美元[“timestamp"]);   $ this→分配(& # 39;nonceStr& # 39;, signPackage美元[“nonceStr"]);   ,$ this→分配(& # 39;签名# 39;,signPackage美元[“signature"]);

在这里就配置好了wx。配置,还可以接着穿标题等信息在这里举个例子

$ this→分配(& # 39;标题# 39;,标题美元);

JSSDK文件代码:

& lt; php ?   namespace 家庭\ Util;   use 认为\控制器;   class  JSSDK {   ,private  appId美元;   ,private  appSecret美元;   ,public  function  __construct (appId美元,,appSecret美元),{   这个美元才能→appId =, appId美元;   这个美元才能→appSecret =, appSecret美元;   ,}   ,public  function  getSignPackage (), {=美元才能jsapiTicket  $ this→getJsApiTicket ();//才能,注意,URL 一定要动态获取,不能,硬编码。   美元才能protocol =,(!空($ _SERVER [& # 39; https # 39;]),,,, $ _SERVER [& # 39; https # 39;], !==, & # 39;从# 39;,| |,$ _SERVER [& # 39; SERVER_PORT& # 39;],==, 443), ?,“https://",:,“http://";   url 美元;=,才能“美元协议$ _SERVER _SERVER [HTTP_HOST] [REQUEST_URI]“;;=美元才能timestamp 拖延时间();=美元才能nonceStr  $ this→createNonceStr ();//才能,这里参数的顺序要按照,key 值,ASCII 码升序排序   时间=美元才能string “jsapi_ticket=$ jsapiTicket& noncestr=$ noncestr×夯实=$ timestamp& url=$ url";   时间=美元才能signature  sha1 ($ string);   时间=美元才能signPackage 阵列(   ,才能“appId",,,=祝辞,$ this→appId,   ,才能“nonceStr",=祝辞,nonceStr美元,   ,才能“timestamp",=祝辞,时间戳,美元   ,才能“url",,,,=祝辞,url,美元   ,才能“signature",=祝辞,美元签名,   ,才能“rawString",=在$ string   ,,);   return 才能;signPackage美元;   ,}   ,private  function  createNonceStr ($ length =, 16), {   时间=美元才能chars “abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";   时间=美元才能str “,“;   for 才能;($小姐:=,0;,美元小姐:& lt;,长度;美元,美元我+ +),{   ,,str 美元。=,substr($字符,mt_rand (0,, strlen($字符),安康;1),,1);   ,,}   return 才能,str美元;   ,}   ,public  function  getJsApiTicket (), {//才能,jsapi_ticket 应该全局存储与更新,以下代码以写入到文件中做示例   时间=美元才能data  json_decode ($ this→get_php_file (“jsapi_ticket.php"));   if 才能;($ data→expire_time  & lt;,时间()),{   ,,accessToken 美元;=,$ this→getAccessToken ();,,   ,,//,如果是企业号用以下,URL 获取,票   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

PHP微信分享开发的示例