79 lines
1.7 KiB
PHP
79 lines
1.7 KiB
PHP
<?php
|
||
|
||
namespace app\controller;
|
||
|
||
use EasyWeChat\Factory;
|
||
use EasyWeChat\OfficialAccount\Application;
|
||
use think\facade\Config;
|
||
|
||
class Wechat
|
||
{
|
||
private Application $app;
|
||
|
||
/**
|
||
* Notes : 初始化微信
|
||
*
|
||
* @Date : 2022/9/9 11:30
|
||
* @Author : <Jason.C>
|
||
*/
|
||
private function initWechat()
|
||
{
|
||
$this->app = Factory::officialAccount(Config::get('wechat'));
|
||
}
|
||
|
||
/**
|
||
* Notes : 获取微信授权的地址并跳转
|
||
*
|
||
* @Date : 2022/9/9 11:29
|
||
* @Author : <Jason.C>
|
||
*/
|
||
public function url()
|
||
{
|
||
$post = $GLOBALS['data']['data']['url'];
|
||
|
||
$this->initWechat();
|
||
return $this->app->oauth->scopes(['snsapi_userinfo'])->redirect($post);
|
||
}
|
||
|
||
/**
|
||
* Notes : 微信授权回调地址,获取到用户信息后,自行保存
|
||
*
|
||
* @Date : 2022/9/9 11:29
|
||
* @Author : <Jason.C>
|
||
*/
|
||
public function callback()
|
||
{
|
||
$this->initWechat();
|
||
$user = $this->app->oauth->user();
|
||
// $user 可以用的方法:
|
||
// $user->getId(); // 对应微信的 OPENID
|
||
// $user->getNickname(); // 对应微信的 nickname
|
||
// $user->getName(); // 对应微信的 nickname
|
||
// $user->getAvatar(); // 头像网址
|
||
// $user->getOriginal(); // 原始API返回的结果
|
||
// $user->getToken(); // access_token, 比如用于地址共享时使用
|
||
}
|
||
|
||
/**
|
||
* Notes : 显示支付的页面,支付逻辑
|
||
*
|
||
* @Date : 2022/9/9 11:32
|
||
* @Author : <Jason.C>
|
||
*/
|
||
public function payment()
|
||
{
|
||
|
||
}
|
||
|
||
/**
|
||
* Notes : 支付完成回调
|
||
*
|
||
* @Date : 2022/9/9 11:33
|
||
* @Author : <Jason.C>
|
||
*/
|
||
public function paid()
|
||
{
|
||
|
||
}
|
||
|
||
} |