国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > PHP > 正文

php分享朋友圈的實現代碼

2024-05-05 00:06:48
字體:
來源:轉載
供稿:網友

本文實例為大家分享了php實現分享朋友圈的具體代碼,供大家參考,具體內容如下

<?phpclass JSSDK { private $appId; private $appSecret;  public function __construct($appId, $appSecret) { $this->appId = $appId; $this->appSecret = $appSecret; }  public function getSignPackage() { $jsapiTicket = $this->getJsApiTicket();  // 注意 URL 一定要動態獲取,不能 hardcode. $protocol = (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off' || $_SERVER['SERVER_PORT'] == 443) ? "https://" : "http://"; $url = "$protocol$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";  $timestamp = time(); $nonceStr = $this->createNonceStr();  // 這里參數的順序要按照 key 值 ASCII 碼升序排序 $string = "jsapi_ticket=$jsapiTicket&noncestr=$nonceStr×tamp=$timestamp&url=$url";  $signature = sha1($string);  $signPackage = array(  "appId"  => $this->appId,  "nonceStr" => $nonceStr,  "timestamp" => $timestamp,  "url"  => $url,  "signature" => $signature,  "rawString" => $string ); return $signPackage;  }  private function createNonceStr($length = 16) { $chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; $str = ""; for ($i = 0; $i < $length; $i++) {  $str .= substr($chars, mt_rand(0, strlen($chars) - 1), 1); } return $str; }  private function getJsApiTicket() { // jsapi_ticket 應該全局存儲與更新,以下代碼以寫入到文件中做示例 $data = json_decode(file_get_contents("jsapi_ticket.json")); if ($data->expire_time < time()) {  $accessToken = $this->getAccessToken();  // 如果是企業號用以下 URL 獲取 ticket  // $url = "https://qyapi.weixin.qq.com/cgi-bin/get_jsapi_ticket?access_token=$accessToken";  $url = "https://api.weixin.qq.com/cgi-bin/ticket/getticket?type=jsapi&access_token=$accessToken";  $res = json_decode($this->httpGet($url));  $ticket = $res->ticket;  if ($ticket) {  $data->expire_time = time() + 7000;  $data->jsapi_ticket = $ticket;  $fp = fopen("jsapi_ticket.json", "w");  fwrite($fp, json_encode($data));  fclose($fp);  } } else {  $ticket = $data->jsapi_ticket; }  return $ticket; }  private function getAccessToken() { // access_token 應該全局存儲與更新,以下代碼以寫入到文件中做示例 $data = json_decode(file_get_contents("access_token.json")); if ($data->expire_time < time()) {  // 如果是企業號用以下URL獲取access_token  // $url = "https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=$this->appId&corpsecret=$this->appSecret";  $url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=$this->appId&secret=$this->appSecret";  $res = json_decode($this->httpGet($url));  $access_token = $res->access_token;  if ($access_token) {  $data->expire_time = time() + 7000;  $data->access_token = $access_token;  $fp = fopen("access_token.json", "w");  fwrite($fp, json_encode($data));  fclose($fp);  } } else {  $access_token = $data->access_token; } return $access_token; }  private function httpGet($url) { $curl = curl_init(); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_TIMEOUT, 500); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false); curl_setopt($curl, CURLOPT_URL, $url);  $res = curl_exec($curl); curl_close($curl);  return $res; }}$jssdk = new JSSDK("wx6b3844d6802f74aa", "c8710c8f4e0afce7611f5cd0013c4573");$signPackage = $jssdk->GetSignPackage();?><script src="http://res.wx.qq.com/open/js/jweixin-1.0.0.js"></script><script> /* * 注意: * 1. 所有的JS接口只能在公眾號綁定的域名下調用,公眾號開發者需要先登錄微信公眾平臺進入“公眾號設置”的“功能設置”里填寫“JS接口安全域名”。 * 2. 如果發現在 Android 不能分享自定義內容,請到官網下載最新的包覆蓋安裝,Android 自定義分享接口需升級至 6.0.2.58 版本及以上。 * 3. 常見問題及完整 JS-SDK 文檔地址:http://mp.weixin.qq.com/wiki/7/aaa137b55fb2e0456bf8dd9148dd613f.html * * 開發中遇到問題詳見文檔“附錄5-常見錯誤及解決辦法”解決,如仍未能解決可通過以下渠道反饋: * 郵箱地址:weixin-open@qq.com * 郵件主題:【微信JS-SDK反饋】具體問題 * 郵件內容說明:用簡明的語言描述問題所在,并交代清楚遇到該問題的場景,可附上截屏圖片,微信團隊會盡快處理你的反饋。 */ wx.config({ debug: false, appId: '<?php echo $signPackage["appId"];?>', timestamp: <?php echo $signPackage["timestamp"];?>, nonceStr: '<?php echo $signPackage["nonceStr"];?>', signature: '<?php echo $signPackage["signature"];?>', jsApiList: ['onMenuShareTimeline', 'onMenuShareAppMessage'  // 所有要調用的 API 都要加到這個列表中 ] }); wx.ready(function () {//分享朋友 wx.onMenuShareAppMessage({   title: '你的分享標題', // 分享標題  desc: '你的分享描述', // 分享描述  link: "你的鏈接?pid=<?php echo $userone['id']?>", // 分享鏈接  imgUrl: '圖片地址', // 分享圖標  type: '', // 分享類型,music、video或link,不填默認為link  dataUrl: '', // 如果type是music或video,則要提供數據鏈接,默認為空  success: function () {    //alert('成功分享到您的朋友');  },  cancel: function () {  //alert('取消分享到您的朋友');  // 用戶取消分享后執行的回調函數  } });  //朋友圈 wx.onMenuShareTimeline({  title: '你的分享標題', // 分享標題  desc: '你的分享描述', // 分享描述  link: "你的鏈接?pid=<?php echo $userone['id']?>", // 分享鏈接  imgUrl: '圖片地址', // 分享圖標  success: function () {   // 用戶確認分享后執行的回調函數  },  cancel: function () {   // 用戶取消分享后執行的回調函數  } });  });</script>

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VeVb武林網。


注:相關教程知識閱讀請移步到PHP教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 桐乡市| 麦盖提县| 辽宁省| 南通市| 疏勒县| 贵溪市| 布尔津县| 平江县| 稷山县| 中西区| 交口县| 日照市| 天水市| 沂源县| 漯河市| 义马市| 沧源| 锡林郭勒盟| 沙田区| 宜都市| 河津市| 噶尔县| 容城县| 阿拉善右旗| 长泰县| 哈密市| 阳高县| 德兴市| 东明县| 应城市| 兖州市| 广水市| 介休市| 海晏县| 海南省| 固安县| 乐业县| 离岛区| 白山市| 伊春市| 永定县|