Employee.php 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. <?php
  2. namespace App\Models\Api\Personnel;
  3. use Illuminate\Database\Eloquent\Factories\HasFactory;
  4. use Illuminate\Database\Eloquent\Model;
  5. use App\Facades\Servers\Encrypts\AccessToken;
  6. /**
  7. * 员工模型
  8. * @author 唐远望
  9. * @version 1.0
  10. * @date 2025-12-09
  11. */
  12. class Employee extends Model
  13. {
  14. use HasFactory;
  15. // 与模型关联的表名
  16. protected $table = 'personnel_employee';
  17. // 是否主动维护时间戳
  18. public $timestamps = false;
  19. // 定义时间戳字段名
  20. // const CREATED_AT = 'insert_time';
  21. // const UPDATED_AT = 'update_time';
  22. /**
  23. * 登录
  24. *
  25. * @param int 用户ID
  26. *
  27. */
  28. public function Login($uid, $module = 'api')
  29. {
  30. // 组合数据
  31. $jwtData = ['uid' => $uid, 'type' => $module, 'expire' => time() + 86400 * 7];
  32. // 登录成功
  33. $token = AccessToken::encode($jwtData);
  34. // 如果异常的话
  35. if (isset($token['error'])) return $token;
  36. // 登录成功
  37. cache([$module . ':apiuser:access_token:' . $uid => md5($token)], 86400 * 7);
  38. // 返回结果
  39. return ['access_token_' . $module => $token, 'expire' => 86400 * 7];
  40. }
  41. /**
  42. * 退出登录
  43. *
  44. * @param int 用户ID
  45. *
  46. */
  47. public function LoginOut($uid, $module = 'api')
  48. {
  49. // 删除缓存
  50. cache([$module . ':apiuser:access_token:' . $uid => null]);
  51. // 返回结果
  52. return true;
  53. }
  54. /**
  55. * 获取登录信息
  56. */
  57. public function getLogin($uid, $module = 'api')
  58. {
  59. // 删除缓存
  60. $result = cache($module . ':apiuser:access_token:' . $uid);
  61. // 返回结果
  62. return $result;
  63. }
  64. }