From e07eaed0e9e8532d38565dbfa7472e01c3fff129 Mon Sep 17 00:00:00 2001 From: Jason Date: Fri, 9 Sep 2022 14:31:29 +0800 Subject: [PATCH] TOKEN --- app/controller/Wechat.php | 28 ++++++++++++++++++---------- app/model/AppUser.php | 10 ++++++++++ 2 files changed, 28 insertions(+), 10 deletions(-) create mode 100644 app/model/AppUser.php diff --git a/app/controller/Wechat.php b/app/controller/Wechat.php index 5ba9307..e3a0b03 100644 --- a/app/controller/Wechat.php +++ b/app/controller/Wechat.php @@ -2,9 +2,11 @@ namespace app\controller; +use app\model\AppUser; use EasyWeChat\Factory; use EasyWeChat\OfficialAccount\Application; use think\facade\Config; +use think\facade\Db; use think\facade\Request; use think\facade\Route; use think\facade\View; @@ -39,7 +41,7 @@ class Wechat ->domain(true); $this->initWechat(); - return show(SUCCESS_MESSAGE,SUCCESS_CODE,$this->app->oauth->scopes(['snsapi_userinfo'])->redirect($redirect)); + return show(SUCCESS_MESSAGE, SUCCESS_CODE, $this->app->oauth->scopes(['snsapi_userinfo'])->redirect($redirect)); } /** @@ -54,16 +56,22 @@ class Wechat $user = $this->app->oauth->user(); $callback = Request::get('callback'); - $token = '怎样获得一个 token'; - return redirect($callback.'?token='.$token); + $user = AppUser::where('openid', $user->getId())->find(); - // $user 可以用的方法: - // $user->getId(); // 对应微信的 OPENID - // $user->getNickname(); // 对应微信的 nickname - // $user->getName(); // 对应微信的 nickname - // $user->getAvatar(); // 头像网址 - // $user->getOriginal(); // 原始API返回的结果 - // $user->getToken(); // access_token, 比如用于地址共享时使用 + if ($user) { + + } else { + $user = AppUser::create([ + 'nickname' => $user->getNickname(), + 'avatar' => $user->getAvatar(), + 'identity' => 1, + 'openid' => $user->getId(), + ]); + } + $tokenData = ['userid' => $user->id, 'loginTime' => time(), 'rankStr' => strRand(5)]; + $token = authcode(json_encode($tokenData), 'ENCODE'); + + return redirect($callback.'?token='.$token); } /** diff --git a/app/model/AppUser.php b/app/model/AppUser.php new file mode 100644 index 0000000..5525471 --- /dev/null +++ b/app/model/AppUser.php @@ -0,0 +1,10 @@ +