From ff8f1a17fec68d9483c397212e710495c3ece073 Mon Sep 17 00:00:00 2001 From: liapples Date: Tue, 14 Sep 2021 16:20:19 +0800 Subject: [PATCH] =?UTF-8?q?=E7=99=BB=E5=BD=95=E5=8A=A0=E7=AC=AC=E4=B8=89?= =?UTF-8?q?=E6=96=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Http/Controllers/Api/LoginController.php | 33 +++++++++++++------- 1 file changed, 22 insertions(+), 11 deletions(-) diff --git a/app/Http/Controllers/Api/LoginController.php b/app/Http/Controllers/Api/LoginController.php index 3c80b7b..5467583 100644 --- a/app/Http/Controllers/Api/LoginController.php +++ b/app/Http/Controllers/Api/LoginController.php @@ -3,6 +3,7 @@ namespace App\Http\Controllers\Api; use App\Http\Controllers\Controller; +use App\Models\AdminSetting; use App\Models\Agent; use App\Models\Channel; use App\Models\User; @@ -34,12 +35,25 @@ class LoginController extends Controller return $this->error('code参数缺失'); } - $config = config('wechat.mini_program.default'); - $config = array_merge($config, [ - 'app_id' => $agent['appid'], - 'secret' => $agent['appsecret'], - ]); - $app = Factory::miniProgram($config); + // 如果有appsecret,使用原来的登录逻辑,否则使用第三方登录逻辑 + if ($agent['appsecret']) { + $config = config('wechat.mini_program.default'); + $config = array_merge($config, [ + 'app_id' => $agent['appid'], + 'secret' => $agent['appsecret'], + ]); + $app = Factory::miniProgram($config); + } else { + $setting = AdminSetting::val(['service_appid', 'service_appsecret', 'service_token', 'service_aeskey']); + $config = [ + 'app_id' => $setting['service_appid'], + 'secret' => $setting['service_appsecret'], + 'token' => $setting['service_token'], + 'aes_key' => $setting['service_aeskey'], + ]; + + $app = Factory::openPlatform($config); + } try { $res = $app->auth->session($code); @@ -72,11 +86,8 @@ class LoginController extends Controller $channel_ids = Channel::where([ ['agent_id', '=', $this->agent_id], ['pid', '<>', 0], - ]) - ->orderBy('id') - ->limit(8) - ->pluck('id') - ->toArray(); + ])->orderBy('id')->limit(8)->pluck('id')->toArray(); + //存入user_channel UserChannel::where('user_id', $userModel->id) ->insert([