|
@@ -7,6 +7,7 @@ use App\Tools\CommonService;
|
|
|
use App\Tools\PublicData;
|
|
|
use App\Tools\Result;
|
|
|
use Hyperf\Context\Context;
|
|
|
+use PHPStan\Type\Accessory\OversizedArrayType;
|
|
|
use function Hyperf\Support\env;
|
|
|
use Hyperf\Di\Annotation\Inject;
|
|
|
use Hyperf\HttpServer\Annotation\AutoController;
|
|
@@ -347,6 +348,7 @@ class LoginController extends AbstractController
|
|
|
*/
|
|
|
public function loginStatus()
|
|
|
{
|
|
|
+
|
|
|
$reqData = $this->request->all();
|
|
|
$validator = $this->validationFactory->make(
|
|
|
$reqData,
|
|
@@ -362,26 +364,17 @@ class LoginController extends AbstractController
|
|
|
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);
|
|
|
+ $token = md5(urldecode($reqData['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]);
|
|
|
+ return Result::success(['isLogin' => true]);
|
|
|
} else {
|
|
|
return Result::error('token已过期');
|
|
|
}
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- *
|
|
|
+ *登陆
|
|
|
* @return void
|
|
|
*/
|
|
|
public function loginapi()
|
|
@@ -401,5 +394,42 @@ class LoginController extends AbstractController
|
|
|
return Result::error($errorMessage);
|
|
|
}
|
|
|
|
|
|
+ $redis = $this->container->get(\Hyperf\Redis\Redis::class);
|
|
|
+ $ticket = md5($reqData['token']);
|
|
|
+
|
|
|
+ $res = $redis->set('ticket:' . $ticket, $reqData['token'], 3600*24);
|
|
|
+ if ($res){
|
|
|
+ return Result::success(['ticket' => $ticket ,'isSave' => 1]);
|
|
|
+ } else {
|
|
|
+ return Result::error('存储失败');
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ public function logoutapi()
|
|
|
+ {
|
|
|
+ $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);
|
|
|
+ $ticket = md5($reqData['token']);
|
|
|
+ $isDel = 0;
|
|
|
+ if ($redis->exists('ticket:' . $ticket)) {
|
|
|
+ $res = $redis->del('ticket:' . $ticket);
|
|
|
+ if (!!$res && $res == 1) $isDel = 1;
|
|
|
+ }else{
|
|
|
+ $isDel = 1;
|
|
|
+ }
|
|
|
+ return Result::success(['isDel' => $isDel]);
|
|
|
}
|
|
|
}
|