UserSession.php 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. <?php
  2. namespace App\Models;
  3. class UserSession extends BaseModel
  4. {
  5. protected $table = 'user_session';
  6. protected $fillable = ['user_id', 'token', 'expire_time'];
  7. public static function setToken($userId)
  8. {
  9. $time = time();
  10. $userSession = UserSession::where('user_id', $userId)->first();
  11. //获取token延长过期的时间
  12. $expireTime = $time + 3600 * 24 * 7;
  13. $token = create_token($userId);
  14. //token处理
  15. if ($userSession) {
  16. //重新获取token
  17. $userSession->token = $token;
  18. $userSession->expire_time = $expireTime;
  19. $userSession->update_time = $time;
  20. $userSession->save();
  21. } else {
  22. //找不到在该终端的token记录,创建token记录
  23. $userSession = UserSession::create([
  24. 'user_id' => $userId,
  25. 'token' => $token,
  26. 'expire_time' => $expireTime
  27. ]);
  28. }
  29. return $token;
  30. }
  31. }