Warehouse.php 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. <?php
  2. declare (strict_types = 1);
  3. namespace app\model\warehouse;
  4. use library\basic\BaseModel;
  5. use library\traits\JwtAuthModelTrait;
  6. use library\traits\ModelTrait;
  7. use think\facade\Cache;
  8. use think\Model;
  9. /**
  10. * @mixin \think\Model
  11. */
  12. class Warehouse extends BaseModel
  13. {
  14. use ModelTrait;
  15. use JwtAuthModelTrait;
  16. //
  17. /**
  18. * 后台管理人员登录
  19. * @param $username
  20. * @param $pwd
  21. */
  22. public static function login($username, $pwd){
  23. $adminInfo = self::get(compact('username'));
  24. if(empty($adminInfo)) return self::setErrorInfo('登录的账号不存在');
  25. if (!$adminInfo['status']) return self::setErrorInfo('账户以后被停用!');
  26. if($adminInfo['password'] != md5($pwd)) return self::setErrorInfo('账号或密码错误,请重新输入');
  27. // if (!password_verify($pwd, $adminInfo['password'])) return self::setErrorInfo('账号或密码错误,请重新输入');
  28. return $adminInfo;
  29. }
  30. /**
  31. * 生成token存放令牌 | 存放redis
  32. * @param Admin $adminInfo
  33. * @param $type
  34. * @return array|bool
  35. */
  36. public static function createToken(Warehouse $adminInfo,$type)
  37. {
  38. $tokenInfo = $adminInfo->getToken($type, []);
  39. $exp = (int)bcadd((string)($tokenInfo['params']['exp'] - $tokenInfo['params']['iat']), "60", 0);
  40. try {
  41. $res = Cache::store('redis')->set($tokenInfo['token'], ['token' => $tokenInfo['token'], 'exp' => $exp], (int)$exp);
  42. } catch (\Throwable $e) {
  43. return self::setErrorInfo('保存token失败');
  44. }
  45. return $tokenInfo;
  46. }
  47. }