| xqd
@@ -11,6 +11,7 @@ use App\Services\JPushService;
|
|
|
use App\Services\SmsServer;
|
|
|
use Cache;
|
|
|
use EasyWeChat\Factory;
|
|
|
+use Illuminate\Http\JsonResponse;
|
|
|
use Illuminate\Http\Request;
|
|
|
use Illuminate\Support\Facades\Auth;
|
|
|
use Illuminate\Support\Facades\DB;
|
| xqd
@@ -22,7 +23,11 @@ class AuthController extends Controller
|
|
|
{
|
|
|
public function __construct()
|
|
|
{
|
|
|
- $this->wxConfig = ['app_id' => env("WECHAT_MINI_PROGRAM_APPID"), 'secret' => env("WECHAT_MINI_PROGRAM_SECRET"), 'response_type' => 'array'];
|
|
|
+ $this->wxConfig = [
|
|
|
+ 'app_id' => env("WECHAT_MINI_PROGRAM_APPID"),
|
|
|
+ 'secret' => env("WECHAT_MINI_PROGRAM_SECRET"),
|
|
|
+ 'response_type' => 'array'
|
|
|
+ ];
|
|
|
}
|
|
|
|
|
|
//注册
|
| xqd
@@ -115,7 +120,7 @@ class AuthController extends Controller
|
|
|
$data['user'] = [];
|
|
|
} else {
|
|
|
$account = $user->mobile ?: $user->email;
|
|
|
- $data = $this->doLogin($account, $request->post('jpush_reg_id', ''));
|
|
|
+ $data = $this->doLogin1($account, $request->post('jpush_reg_id', ''));
|
|
|
}
|
|
|
} catch (Exception $exception) {
|
|
|
ErrorMsgServive::write($exception, requst()->url());
|
| xqd
@@ -158,41 +163,30 @@ class AuthController extends Controller
|
|
|
|
|
|
}
|
|
|
|
|
|
+ public function wechat(Request $request): JsonResponse
|
|
|
+ {
|
|
|
+ try {
|
|
|
+ $code = $request->input('code');
|
|
|
+ /* */
|
|
|
+ $app = $this->getUniFactory(3);
|
|
|
+ $res = $app->auth->session($code);
|
|
|
+
|
|
|
+ return $this->doLogin($res['openid'], '',3, $res['session_key']);
|
|
|
+ } catch (\Exception $e) {
|
|
|
+ ErrorMsgServive::write($e, \request()->url());
|
|
|
+ return $this->error('微信授权登陆出错');
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
// 字节跳动登陆 code
|
|
|
- public function bytedance(Request $request)
|
|
|
+ public function bytedance(Request $request): JsonResponse
|
|
|
{
|
|
|
try {
|
|
|
$code = $request->input('code');
|
|
|
$app = $this->getUniFactory();
|
|
|
$res = $app->login($code);
|
|
|
|
|
|
- $openId = $res['openid'];
|
|
|
- $user = User::where('open_id', $openId)->first();
|
|
|
- if (!$user) {
|
|
|
- $user = new User();
|
|
|
- $user->open_id = $openId;
|
|
|
- $user->union_id = $res['unionid'];
|
|
|
- $user->remember_token = $res['session_key'];
|
|
|
- $user->save();
|
|
|
-
|
|
|
- $info = new UserInfo();
|
|
|
- $info->user_id = $user->id;
|
|
|
- $info->platform = 1;
|
|
|
- $info->save();
|
|
|
-
|
|
|
- $user = User::where('id', $user->id)->first();
|
|
|
- }else{
|
|
|
- $user->remember_token = $res['session_key'];
|
|
|
- $user->save();
|
|
|
- }
|
|
|
-
|
|
|
- $token = Auth::guard('api')->fromUser($user);
|
|
|
- $user = User::with(['info'])->where('id', $user->id)->first();
|
|
|
- $data = [
|
|
|
- 'token' => "Bearer " . $token,
|
|
|
- 'user_info' => $user,
|
|
|
- ];
|
|
|
- return $this->success($data);
|
|
|
+ return $this->doLogin($res['openid'],$res['unionid'],1, $res['session_key']);
|
|
|
} catch (\Exception $e) {
|
|
|
ErrorMsgServive::write($e, \request()->url());
|
|
|
return $this->error('字节授权登陆出错');
|
| xqd
@@ -200,48 +194,52 @@ class AuthController extends Controller
|
|
|
}
|
|
|
|
|
|
// 快手登陆 code
|
|
|
- public function kuaishou(Request $request)
|
|
|
+ public function kuaishou(Request $request): JsonResponse
|
|
|
{
|
|
|
try {
|
|
|
$code = $request->input('code');
|
|
|
$app = $this->getUniFactory(2);
|
|
|
$res = $app->login($code);
|
|
|
|
|
|
- $openId = $res['open_id'];
|
|
|
- $user = User::where('open_id', $openId)->first();
|
|
|
- if (!$user) {
|
|
|
- $user = new User();
|
|
|
- $user->open_id = $openId;
|
|
|
- $user->union_id = ''; // 没有 union_id
|
|
|
- $user->remember_token = $res['session_key'];
|
|
|
- $user->save();
|
|
|
-
|
|
|
- $info = new UserInfo();
|
|
|
- $info->user_id = $user->id;
|
|
|
- $info->platform = 2;
|
|
|
- $info->save();
|
|
|
-
|
|
|
- $user = User::where('id', $user->id)->first();
|
|
|
- }else{
|
|
|
- $user->remember_token = $res['session_key'];
|
|
|
- $user->save();
|
|
|
- }
|
|
|
-
|
|
|
- $token = Auth::guard('api')->fromUser($user);
|
|
|
- $user = User::with(['info'])->where('id', $user->id)->first();
|
|
|
- $data = [
|
|
|
- 'token' => "Bearer " . $token,
|
|
|
- 'user_info' => $user,
|
|
|
- ];
|
|
|
- return $this->success($data);
|
|
|
+ return $this->doLogin($res['open_id'],'',2, $res['session_key']);
|
|
|
} catch (\Exception $e) {
|
|
|
ErrorMsgServive::write($e, \request()->url());
|
|
|
return $this->error('快手授权登陆出错');
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ private function doLogin($openid, $unionId, $platform, $sessionKey)
|
|
|
+ {
|
|
|
+ $user = User::where('open_id', $openid)->first();
|
|
|
+ if (!$user) {
|
|
|
+ $user = new User();
|
|
|
+ $user->open_id = $openid;
|
|
|
+ $user->union_id = $unionId; // 没有 union_id
|
|
|
+ $user->remember_token = $sessionKey;
|
|
|
+ $user->save();
|
|
|
+
|
|
|
+ $info = new UserInfo();
|
|
|
+ $info->user_id = $user->id;
|
|
|
+ $info->platform = $platform;
|
|
|
+ $info->save();
|
|
|
+
|
|
|
+ $user = User::where('id', $user->id)->first();
|
|
|
+ }else{
|
|
|
+ $user->remember_token = $sessionKey;
|
|
|
+ $user->save();
|
|
|
+ }
|
|
|
+
|
|
|
+ $token = Auth::guard('api')->fromUser($user);
|
|
|
+ $user = User::with(['info'])->where('id', $user->id)->first();
|
|
|
+ return $this->success([
|
|
|
+ 'token' => "Bearer " . $token,
|
|
|
+ 'user_info' => $user,
|
|
|
+ ]);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
//执行登录
|
|
|
- public function doLogin($user, $jpush_reg_id = null)
|
|
|
+ public function doLogin1($user, $jpush_reg_id = null)
|
|
|
{
|
|
|
if (!empty($jpush_reg_id)) {
|
|
|
//清除登陆过本设备的账号设备id
|