46 lines
1.2 KiB
PHP
46 lines
1.2 KiB
PHP
<?php
|
|
|
|
namespace App\Endpoint\Api\Http\Controllers\Auth;
|
|
|
|
use App\Constants\Device;
|
|
use App\Endpoint\Api\Http\Controllers\Controller;
|
|
use Illuminate\Http\Request;
|
|
|
|
class LogoutController extends Controller
|
|
{
|
|
/**
|
|
* 登出
|
|
*
|
|
* @param \Illuminate\Http\Request $request
|
|
* @return \Illuminate\Http\JsonResponse
|
|
*/
|
|
public function __invoke(Request $request)
|
|
{
|
|
if ($user = $request->user()) {
|
|
$user->currentAccessToken()->delete();
|
|
|
|
if ($cid = $user->cid) {
|
|
// 获取登录设备
|
|
$device = $request->header('client-app', Device::UNIAPP);
|
|
|
|
switch ($device) {
|
|
case Device::MERCHANT:
|
|
// 解绑用户商家端cid
|
|
$cid->update([
|
|
'm_cid' => null,
|
|
]);
|
|
break;
|
|
default:
|
|
// 解绑用户商城端cid
|
|
$cid->update([
|
|
'u_cid' => null,
|
|
]);
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
return response()->noContent();
|
|
}
|
|
}
|