diff --git a/app/Constants/Device.php b/app/Constants/Device.php new file mode 100644 index 00000000..7696df5a --- /dev/null +++ b/app/Constants/Device.php @@ -0,0 +1,9 @@ +json([ - 'token' => $user->createToken('app')->plainTextToken, - ]); + return response()->json( + $user->createDeviceToken(Device::UNIAPP) + ); } } diff --git a/app/Models/User.php b/app/Models/User.php index abd8df0b..3e2c2e00 100644 --- a/app/Models/User.php +++ b/app/Models/User.php @@ -2,6 +2,7 @@ namespace App\Models; +use App\Constants\Device; use Illuminate\Auth\Authenticatable; use Illuminate\Contracts\Auth\Access\Authorizable as AuthorizableContract; use Illuminate\Contracts\Auth\Authenticatable as AuthenticatableContract; @@ -94,4 +95,17 @@ class User extends Model implements AuthorizableContract, AuthenticatableContrac { return $this->password && Hash::check($password, $this->password); } + + /** + * 创建设备授权令牌 + * + * @param string $device + * @return array + */ + public function createDeviceToken(string $device = null): array + { + return [ + 'token' => $this->createToken($device ?: Device::PC)->plainTextToken, + ]; + } }