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

首頁 > 熱點 > 微信 > 正文

TP5框架下微信授權登錄的代碼實現

2020-03-22 17:29:40
字體:
來源:轉載
供稿:網友
本篇文章給大家帶來的內容是關于TP5框架下微信授權登錄的代碼實現,有一定的參考價值,有需要的朋友可以參考一下,希望對你有所幫助。

新建配置文件wechat.php

 ?phpreturn [ oauth = [ appid = *** , appsecret = *** ,];

新建extend/wechat/WechatOauth.php

 ?phpnamespace wechat; * @package 微信授權控制器html' target='_blank'>class WechatOauth{ //微信授權配置信息 private $wechat_config = [ appid = , appsecret = , public function __construct() { $this- wechat_config = $this- wechatConfig(); * 獲取秘鑰配置 * @return [type] 數組 public function wechatConfig() { $wechat_config = array_merge($this- wechat_config,config( wechat.oauth  return $wechat_config; * 獲取openid * @return string|mixed public function getUserAccessUserInfo($code = ) if(empty($code)){ $baseUrl = request()- url(true); $url = $this- getSingleAuthorizeUrl($baseUrl, 123  Header( Location: $url  exit(); }else{ $access_token = $this- getSingleAccessToken($code); return $this- getUserInfo($access_token); * 微信授權鏈接 * @param string $redirect_uri 要跳轉的地址 * @return [type] 授權鏈接 public function getSingleAuthorizeUrl($redirect_url = ,$state = 1 ) { $redirect_url = urlencode($redirect_url); return http://open.weixin.qq.com/connect/oauth2/authorize?appid= . $this- wechat_config[ appid ] . redirect_uri= .$redirect_url. response_type=code scope=snsapi_userinfo state={$state}#wechat_redirect  * 獲取token * @return [type] 返回token  public function getSingleAccessToken($code) { $url = http://api.weixin.qq.com/sns/oauth2/access_token?appid= .$this- wechat_config[ appid ]. secret= .$this- wechat_config[ appsecret ]. code= .$code. grant_type=authorization_code  $access_token = $this- https_request($url); return $access_token;  * 發送curl請求 * @param $url string * @param return array|mixed public function https_request($url) $curl = curl_init(); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); $AjaxReturn = curl_exec($curl); //獲取access_token和openid,轉換為數組 $data = json_decode($AjaxReturn,true); curl_close($curl); return $data; * @explain * 通過code獲取用戶openid以及用戶的微信號信息 * @return array|mixed * @remark * 獲取到用戶的openid之后可以判斷用戶是否有數據,可以直接跳過獲取access_token,也可以繼續獲取access_token * access_token每日獲取次數是有限制的,access_token有時間限制,可以存儲到數據庫7200s. 7200s后access_token失效 public function getUserInfo($access_token = []) if(!$access_token){ return [ code = 0, msg = 微信授權失敗 ,  $userinfo_url = http://api.weixin.qq.com/sns/userinfo?access_token= .$access_token[ access_token ]. openid= .$access_token[ openid ]. lang=zh_CN  $userinfo_json = $this- https_request($userinfo_url); //獲取用戶的基本信息,并將用戶的唯一標識保存在session中 if(!$userinfo_json){ return [ code = 0, msg = 獲取用戶信息失??! ,  return $userinfo_json;}

控制器調用

public function index() $wchat = new /wechat/WechatOauth(); $code = request()- param( code ,  $user = $wchat- getUserAccessUserInfo($code); }

相關推薦:

TP數據層進行增刪改查操作的代碼

TP中使用原生的MySQL語句的方法(代碼)

以上就是TP5框架下微信授權登錄的代碼實現的詳細內容,PHP教程

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 邢台县| 城市| 交口县| 城步| 上思县| 什邡市| 隆子县| 东阳市| 平定县| 巴里| 翁源县| 嘉峪关市| 上犹县| 垣曲县| 临朐县| 鹤峰县| 东兴市| 南乐县| 洛宁县| 通州区| 连南| 嵊州市| 普兰县| 湛江市| 类乌齐县| 海城市| 卢氏县| 阆中市| 兴化市| 凤阳县| 中方县| 沂水县| 寿宁县| 万年县| 二连浩特市| 汨罗市| 西青区| 合江县| 年辖:市辖区| 临泽县| 兴安盟|