123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- <?php
- namespace App\Http\Controllers\Api\Base;
- use App\Http\Controllers\Controller;
- use App\Http\Middleware\SingleLoginLimit;
- use App\Repositories\Models\Base\User;
- use App\Services\Base\UserService;
- use Illuminate\Http\Request;
- use Illuminate\Support\Facades\Cache;
- /**
- * 用户管理
- */
- class UserController extends Controller
- {
- /**
- * @var UserService
- */
- private $service;
- /**
- * UserController constructor.
- *
- * @param UserService $userService
- */
- public function __construct(UserService $userService)
- {
- parent::__construct();
- $this->service = $userService;
- }
- /**
- * 读信
- * @param Request $request
- * @return \Illuminate\Http\JsonResponse|\Illuminate\Http\Resources\Json\JsonResource
- */
- public function isReadXin(Request $request)
- {
- $this->service->handleReadXin(login_user_id());
- return $this->response->ok('操作成功');
- }
- public function testToken(Request $request)
- {
- $user = User::query()->where('id', $request->input('id'))->first();
- $token = auth('api')->login($user);
- //单机登录限制
- $user_id = $user['id'];
- SingleLoginLimit::setToken('api', $user_id, $token);
- $this->singleLoginSetToken(login_user_id(), $token, 'api');
- $token = 'Bearer ' . $token;
- $expires_in = auth()->factory()->getTTL() * 60;
- return $this->response->success(compact('token', 'expires_in'));
- }
- private function singleLoginSetToken($user_id, $token, $guard)
- {
- return Cache::tags('login')->put("SingleLoginLimit:{$guard}:{$user_id}", $token);
- }
- }
|