日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

easywechat (在thinkphp5中使用easywechat完成微信网页认证)

發布時間:2024/6/21 综合教程 34 生活家
生活随笔 收集整理的這篇文章主要介紹了 easywechat (在thinkphp5中使用easywechat完成微信网页认证) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

由于在easywechat中沒有提及在thinkphp中的使用,后來我在http://www.thinkphp.cn/topic/45416.html中找到了有人已經封裝了一下,我把自己使用的過程寫下來與大家共勉

在thinkphp中安裝easywechat

1.使用composer下載

使用命令行進入thinkphp根目錄

然后運行下面的命令:

composerrequirehooklife/thinkphp5-wechat

然后發布配置文件到項目根目錄

phpthinkwechat:config

然后你會看到application目錄下多了一個extra文件夾,里面有一個wechat.php,如果報錯了,請參考 https://www.ailoli.org/archives/72/,這樣就算是引入成功了

然后

填寫配置文件需要填寫的項

示例:

'debug' => true,
/**
* 賬號基本信息,請從微信公眾平臺/開放平臺獲取
*/
'app_id' => '......', // AppID
'secret' => '......', // AppSecret
'token' => '......', // Token
'aes_key' => '',

'oauth' => [
'scopes' => ['snsapi_userinfo'],
'callback' => '回調地址',
],

然后,在原代碼基礎上創建一個控制器(與微信相關):Wechat1.php,

在里面定義一個變量app

$options = Config::get('wechat');
$app = new Application($options);

這樣就能夠使用app變量了,其他的用法參照文檔https://www.easywechat.com/docs即可

配置和原來類似,我是在Wechat1.php中定義一個serve方法

public function serve(){
$server = self::$app->server;
$server->setMessageHandler(function ($message) {
  return '你好';
});
$server->serve()->send();
}

在微信公眾號后臺驗證token的url寫能夠訪問到這個serve方法的鏈接即可驗證成功

下面重點說明我使用easywechat進行網頁授權過程

在需要授權的控制器Personal.php中的寫了

static $app;
public function _initialize()
{
if (empty(session('id'))){
self::$app = Wechat1::return_app();
$oauth = self::$app->oauth;
session('target_url',$_SERVER['PATH_INFO']);
if (empty(session('wechat_user'))){
$oauth->redirect()->send();
}else{
$user = session('wechat_user');
$open_id = $user['original']['openid'];

//查詢數據庫中用戶的賬號的openid中是否有值,有值說明用戶的微信與賬號綁定
$student_no = self::check_login($open_id);
if ($student_no!=0){
session('id',$student_no);
$this->redirect(session('target_url'));
}else{
$this->redirect('index/Index/login');
}

}
}
}

然后在Wechat1.php中寫了一個授權回調的方法

public function oauth(){
$oauth = self::$app->oauth;
$user = $oauth->user();
session('wechat_user',$user->toArray());
$targetUrl = session('target_url');
$this->redirect($targetUrl);
}

注:上面的配置文件中的回調函數就寫能夠找到oauth方法的地址即可

這樣就能夠完成微信網頁授權,授權過的微信的用戶信息存在session中,之后用到該用戶信息的時候,只需要從session中取即可

### 注:現在官方網站上面支持thinkphp了,可以使用官方支持的擴展包,應該會更方便一些!!!thinkphp-wechat地址

總結

以上是生活随笔為你收集整理的easywechat (在thinkphp5中使用easywechat完成微信网页认证)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。