婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > thinkphp5框架結合mysql實現微信登錄和自定義分享鏈接與圖文功能示例

thinkphp5框架結合mysql實現微信登錄和自定義分享鏈接與圖文功能示例

熱門標簽:外呼系統撥打暫時無法接通 廣東地市地圖標注 哪里辦理400電話 江西手機自動外呼防封系統是什么 廣州防封卡外呼系統多少錢一個月 仁和怎么申請400開頭的電話 高德地圖標注家 長春人工外呼系統服務商 怎么向銷售公司推銷外呼系統

本文實例講述了thinkphp5框架結合mysql實現微信登錄和自定義分享鏈接與圖文功能。分享給大家供大家參考,具體如下:

php代碼

function curlHtml($url){
  $ch = curl_init();
  curl_setopt($ch, CURLOPT_URL, $url);
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  curl_setopt($ch, CURLOPT_HEADER, 0);
  curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
  curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
  $output = curl_exec($ch);
  //釋放curl句柄
  curl_close($ch);
  return $output;
}
class Wechat
{
  public $errmsg;
  //微信登錄獲取用戶信息
  public function getUserInfo() {
    //1.準備scope為snsapi_base網頁授權頁面
    $redirect_url = config('system.site_url') . $_SERVER["REQUEST_URI"];
    $baseurl = urlencode($redirect_url);
    $snsapi_base_url = 'https://open.weixin.qq.com/connect/oauth2/authorize?appid=' . config('system.appid') . 'redirect_uri=' . $baseurl . 'response_type=codescope=snsapi_basestate=STATE#wechat_redirect';
    //2.靜默授權,獲取code
    //頁面跳轉至redirect_uri/?code=CODEstate=STATE
    $code = input('code');
    if (!isset($code) || empty($code)) {
      header('Location:' . $snsapi_base_url);exit(0);
    }
    //3.通過code換取網頁授權access_token和openID
    $curl = 'https://api.weixin.qq.com/sns/oauth2/access_token?appid=' . config('system.appid') . 'secret=' . config('system.appsecret') . 'code=' . $code . 'grant_type=authorization_code';
    $content = curlHtml($curl);
    $result = json_decode($content, true);
    if(!isset($result['openid'])) {
      $this->errmsg = $result['errmsg'];return false;
    }
    $openid = $result['openid'];
    $userinfo = $this->getUserByOpenid($openid);
    return $userinfo;
  }
  private function getUserByOpenid($openid) {
    //獲取access_token
    $token_info  = $this->curlGetWxAccessToken();
    $access_token = $token_info['value'];
    //通過OpenID來獲取用戶基本信息
    $url = "https://api.weixin.qq.com/cgi-bin/user/info?access_token=".$access_token."openid=".$openid."lang=zh_CN";
    $content = curlHtml($url);
    $result = json_decode($content, true);
    return $result;
  }
  /**
   * [wxShare 微信分享]
   * @param [type] $url [description]
   * @return [type]   [description]
   */
  public function wxShare()
  {
    $noncestr = uniqid();
    $timestamp = time();
    $url = config('system.site_url') . $_SERVER["REQUEST_URI"];
    // $redis   = new \Redis;
    // $ticket_key = 'wx_ticket';
    // $ticket   = $redis->get($ticket_key);
    // if (!$ticket) {
    //   $ticket = $this->getJsapiTicket();
    //   $redis->set($ticket_key, $ticket);
    //   $redis->expire($ticket_key, 7200);
    // }
    $ticket = $this->getJsapiTicket();
    if ($ticket) {
      $str     = 'jsapi_ticket=' . $ticket . 'noncestr=' . $noncestr . 'timestamp=' . $timestamp . 'url=' . $url;
      $signature  = sha1($str);
      $return_data = [
        'noncestr' => $noncestr,
        'timestamp' => $timestamp,
        'signature' => $signature,
        'appid'   => config('system.appid'),
        'link'   => $url,
      ];
      return $return_data;
    }
  }
  private function getJsapiTicket()
  {
    $map['keyname'] = 'Ticket';
    $map['modifytime'] = array('GT', time() - 7200);
    $return       = WxTokenModel::getOne('*', $map);
    if ($return) {
      return $return['value'];
    } else {
      $token_info  = $this->curlGetWxAccessToken();
      $access_token = $token_info['value'];
      $url     = 'https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token=' . $access_token . 'type=jsapi';
      $output    = curlHtml($url);
      $data     = json_decode($output, true);
      if (isset($data['errcode'])  $data['errcode'] == 0) {
        $condition['keyname'] = 'Ticket';
        $update_data['modifytime'] = time();
        $update_data['value']   = $data['ticket'];
        $up_result      = WxTokenModel::updateData($condition, $update_data);
        if ($up_result !== false) {
          return $data['ticket'];
        }
      }
    }
    return false;
  }
  private function curlGetWxAccessToken()
  {
    $map['keyname'] = 'AccessToken';
    $map['modifytime'] = array('GT', time() - 7200);
    $return = WxTokenModel::getOne('*', $map);
    if ($return) {
      return $return;
    } else {
      $url  = 'https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credentialappid=' . config('system.appid') . 'secret=' . config('system.appsecret');
      $output = curlHtml($url);
      $data = json_decode($output, true);
      if ($data  isset($data['access_token'])) {
        $condition['keyname'] = 'AccessToken';
        $update_data['modifytime'] = time();
        $update_data['value'] = $data['access_token'];
        $up_result      = WxTokenModel::updateData($condition, $update_data);
        if ($up_result !== false) {
          return $update_data;
        }
      }
    }
    return false;
  }
}

html代碼

script type="text/javascript" src="http://res.wx.qq.com/open/js/jweixin-1.2.0.js">/script>
script>
wx.config({
   debug: false,
   appId: '{$appid}', // 必填,公眾號的唯一標識
   timestamp: '{$timestamp}', // 必填,生成簽名的時間戳
   nonceStr: '{$noncestr}', // 必填,生成簽名的隨機串
   signature: '{$signature}',// 必填,簽名,見附錄1
   jsApiList: ['onMenuShareTimeline'] // 必填,需要使用的JS接口列表,所有JS接口列表見附錄2
});
wx.ready(function () {
  // 分享到朋友圈
  wx.onMenuShareTimeline({
   title: '', // 名
   link: '{$link}', // 地址
   imgUrl: '', // 分享的圖標
   success: function () {
   // 用戶確認分享后執行的回調函數
   },
   cancel: function () {
    // 用戶取消分享后執行的回調函數
  }
  });
});
/script>

更多關于thinkPHP相關內容感興趣的讀者可查看本站專題:《ThinkPHP入門教程》、《thinkPHP模板操作技巧總結》、《ThinkPHP常用方法總結》、《codeigniter入門教程》、《CI(CodeIgniter)框架進階教程》、《Zend FrameWork框架入門教程》及《PHP模板技術總結》。

希望本文所述對大家基于ThinkPHP框架的PHP程序設計有所幫助。

您可能感興趣的文章:
  • PHP實現網站應用微信登錄功能詳解
  • php的laravel框架快速集成微信登錄的方法
  • php微信授權登錄實例講解

標簽:黔東 海北 梅河口 惠州 文山 濮陽 廈門 湘西

巨人網絡通訊聲明:本文標題《thinkphp5框架結合mysql實現微信登錄和自定義分享鏈接與圖文功能示例》,本文關鍵詞  thinkphp5,框架,結合,mysql,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《thinkphp5框架結合mysql實現微信登錄和自定義分享鏈接與圖文功能示例》相關的同類信息!
  • 本頁收集關于thinkphp5框架結合mysql實現微信登錄和自定義分享鏈接與圖文功能示例的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    精品视频在线免费观看| 中文字幕在线不卡| 日韩欧美国产精品一区| 国产精品久久午夜| 成人黄色一级视频| 精品国产乱码久久久久久久| 亚洲色图欧洲色图| 99久久精品久久久久久清纯| 久久先锋影音av鲁色资源网| 麻豆精品在线播放| 精品国产一区二区三区av性色| 日韩高清在线不卡| 日韩欧美不卡在线观看视频| 久久99精品国产麻豆不卡| 日韩欧美国产精品一区| 一区二区三区四区av| 欧美日本一区二区在线观看| 日本成人在线不卡视频| 欧美激情一区二区三区不卡| 日本韩国精品在线| 精品在线免费视频| 中文字幕制服丝袜成人av| 91片在线免费观看| 免费在线视频一区| 欧美第一区第二区| 91在线精品一区二区三区| 一区二区三区在线视频观看| 欧美日韩精品福利| 国产精品亚洲а∨天堂免在线| 精品噜噜噜噜久久久久久久久试看| 国产精品1区2区3区在线观看| 中文一区二区在线观看| 97精品久久久午夜一区二区三区| 日韩不卡免费视频| 日韩免费性生活视频播放| 激情久久五月天| 亚洲欧美一区二区视频| 欧美日韩另类一区| 成人av网站免费观看| 一区二区三区蜜桃| 国产清纯白嫩初高生在线观看91| 欧美在线高清视频| 成人免费毛片高清视频| 免费xxxx性欧美18vr| 亚洲精品国产精华液| 国产精品福利av| 精品三级在线观看| 欧美日韩免费电影| 91尤物视频在线观看| 国产一区二三区好的| 一区二区在线观看视频| 日本一区二区成人在线| 91精品综合久久久久久| 99久久精品国产麻豆演员表| 久久成人免费网| 日本在线观看不卡视频| 中文字幕在线一区| 久久久另类综合| 欧美一区二区三区四区在线观看| 色婷婷一区二区三区四区| 成人精品一区二区三区四区 | 日韩欧美国产一区在线观看| 欧美日韩mp4| 欧美日韩国产色站一区二区三区| 色婷婷av一区二区三区gif| 国产一区二区三区在线观看免费视频| 五月天国产精品| 日精品一区二区三区| 爽好久久久欧美精品| 亚洲午夜激情网页| 午夜伦理一区二区| 日韩电影在线一区二区三区| 香蕉久久一区二区不卡无毒影院 | 亚洲精品伦理在线| ...中文天堂在线一区| 国产精品久久福利| 亚洲欧美色图小说| 亚洲国产va精品久久久不卡综合| 黄色精品一二区| 久久丁香综合五月国产三级网站| 韩国v欧美v日本v亚洲v| 国产精品一区三区| 99精品视频在线播放观看| 99久久er热在这里只有精品15| 国产·精品毛片| 91丨九色porny丨蝌蚪| 欧美性三三影院| 日韩三级免费观看| 久久久亚洲精品石原莉奈 | 久久九九国产精品| 中文字幕制服丝袜成人av| 亚洲激情五月婷婷| 日韩经典中文字幕一区| 激情久久五月天| 99国产麻豆精品| 欧美精选一区二区| 欧美tickling网站挠脚心| 欧美激情一区二区三区不卡| 亚洲综合免费观看高清完整版在线| 综合色中文字幕| 亚洲高清免费观看| 国精产品一区一区三区mba桃花| 日韩影院免费视频| 成人一区二区三区| 91精品综合久久久久久| 日韩中文字幕一区二区三区| 成人一级黄色片| 4438x亚洲最大成人网| 亚洲精品一区二区三区福利 | 欧美经典一区二区| 91精品久久久久久久99蜜桃| 日韩欧美的一区二区| 中文字幕精品综合| 亚洲综合视频在线观看| 国产毛片一区二区| 在线播放中文一区| 亚洲少妇30p| 国产剧情在线观看一区二区| 91蝌蚪porny| 久久午夜国产精品| 亚洲国产欧美另类丝袜| 国产成人丝袜美腿| 欧美性生活久久| 国产欧美一区二区精品久导航 | 成人一区二区三区中文字幕| 91成人在线观看喷潮| 欧美精品一区二区三区久久久| 亚洲女人****多毛耸耸8| 国内精品视频666| 欧美精品乱人伦久久久久久| 久久影院视频免费| 亚洲国产精品一区二区www| 国产精品女主播在线观看| 欧美哺乳videos| 欧美日韩免费一区二区三区 | www成人在线观看| 亚洲综合免费观看高清完整版在线| 精品一区二区三区av| 不卡视频在线看| 欧美xxx久久| 亚洲日本va午夜在线影院| 成人国产一区二区三区精品| 国产视频一区在线观看| 麻豆国产精品777777在线| 欧美高清你懂得| 日日噜噜夜夜狠狠视频欧美人| 欧美浪妇xxxx高跟鞋交| 亚洲欧洲三级电影| 成人自拍视频在线观看| 综合中文字幕亚洲| 91精品福利视频| 亚洲一区二区三区视频在线播放| 欧美性一区二区| 免费在线观看一区二区三区| 精品精品国产高清a毛片牛牛| 国产激情视频一区二区在线观看| 亚洲国产精品成人综合| 色av一区二区| 免费成人美女在线观看.| 国产亚洲一区二区三区在线观看 | 中文字幕一区二区三区在线观看 | 成人黄色免费短视频| 亚洲精品视频观看| 9191成人精品久久| 精品亚洲免费视频| 国产精品久久久久久久久久久免费看| 日本韩国精品在线| 精品一二三四在线| 中文字幕欧美区| 欧美日精品一区视频| 一区二区免费在线| 欧美精品色一区二区三区| 国产剧情av麻豆香蕉精品| 一区二区三区影院| 欧美成人精品二区三区99精品| 国产成人精品三级| 亚洲妇熟xx妇色黄| 久久久亚洲高清| 日本丶国产丶欧美色综合| 久久精品国产一区二区三 | 蜜臀av一区二区在线免费观看| 欧美v国产在线一区二区三区| 免费观看在线综合| 亚洲色图欧美在线| 久久精品人人做| 欧美精品一卡二卡| 色婷婷久久久久swag精品| 国产精品一级片在线观看| 青草国产精品久久久久久| 亚洲激情五月婷婷| √…a在线天堂一区| 国产偷v国产偷v亚洲高清| 7777精品伊人久久久大香线蕉完整版 | 欧美日韩电影在线| 91黄色在线观看| 免费在线观看一区二区三区| 亚洲黄一区二区三区| 中文欧美字幕免费| 91精品国产色综合久久| 91蝌蚪国产九色|