|
@@ -337,4 +337,69 @@ class LoginController extends AbstractController
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 查询登陆状态
|
|
|
+ * @return array
|
|
|
+ * @throws \Psr\Container\ContainerExceptionInterface
|
|
|
+ * @throws \Psr\Container\NotFoundExceptionInterface
|
|
|
+ * @throws \RedisException
|
|
|
+ */
|
|
|
+ public function loginStatus()
|
|
|
+ {
|
|
|
+ $reqData = $this->request->all();
|
|
|
+ $validator = $this->validationFactory->make(
|
|
|
+ $reqData,
|
|
|
+ [
|
|
|
+ 'token' => 'required',
|
|
|
+ ],
|
|
|
+ [
|
|
|
+ 'token.required' => 'token不能为空',
|
|
|
+ ]
|
|
|
+ );
|
|
|
+ if ($validator->fails()) {
|
|
|
+ $errorMessage = $validator->errors()->first();
|
|
|
+ return Result::error($errorMessage);
|
|
|
+ }
|
|
|
+ $redis = $this->container->get(\Hyperf\Redis\Redis::class);
|
|
|
+ $token = $redis->get(urldecode($reqData['token']));
|
|
|
+ if(empty($token)){
|
|
|
+ return Result::error('token不存在');
|
|
|
+ }
|
|
|
+ $token = md5($token);
|
|
|
+ $ticketEnabled = $redis->exists('ticket:' . $token);
|
|
|
+ if ($ticketEnabled) {
|
|
|
+ $ticket = $redis->get('ticket:' . $token);
|
|
|
+ $ticket = json_decode($ticket, true);
|
|
|
+ if ($ticket['expire'] < time()) {
|
|
|
+ return Result::error('token已过期');
|
|
|
+ }
|
|
|
+ return Result::success(['isLogin' => $ticketEnabled]);
|
|
|
+ } else {
|
|
|
+ return Result::error('token已过期');
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ *
|
|
|
+ * @return void
|
|
|
+ */
|
|
|
+ public function loginapi()
|
|
|
+ {
|
|
|
+ $reqData = $this->request->all();
|
|
|
+ $validator = $this->validationFactory->make(
|
|
|
+ $reqData,
|
|
|
+ [
|
|
|
+ 'token' => 'required',
|
|
|
+ ],
|
|
|
+ [
|
|
|
+ 'token.required' => 'token不能为空',
|
|
|
+ ]
|
|
|
+ );
|
|
|
+ if ($validator->fails()) {
|
|
|
+ $errorMessage = $validator->errors()->first();
|
|
|
+ return Result::error($errorMessage);
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
}
|