优化用户注册
parent
9dbcdbd407
commit
e12d060bd2
|
|
@ -0,0 +1,9 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Constants;
|
||||||
|
|
||||||
|
class Device
|
||||||
|
{
|
||||||
|
public const PC = 'pc';
|
||||||
|
public const UNIAPP = 'uniapp';
|
||||||
|
}
|
||||||
|
|
@ -1,18 +0,0 @@
|
||||||
<?php
|
|
||||||
|
|
||||||
namespace App\Events\Auth;
|
|
||||||
|
|
||||||
use App\Models\User;
|
|
||||||
use Illuminate\Foundation\Events\Dispatchable;
|
|
||||||
use Illuminate\Queue\SerializesModels;
|
|
||||||
|
|
||||||
class Registered
|
|
||||||
{
|
|
||||||
use Dispatchable;
|
|
||||||
use SerializesModels;
|
|
||||||
|
|
||||||
public function __construct(
|
|
||||||
public User $user,
|
|
||||||
) {
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
namespace App\Http\Controllers\Api\V1\Auth;
|
namespace App\Http\Controllers\Api\V1\Auth;
|
||||||
|
|
||||||
use App\Events\Auth\Registered;
|
use App\Constants\Device;
|
||||||
use App\Exceptions\BizException;
|
use App\Exceptions\BizException;
|
||||||
use App\Http\Controllers\Api\V1\Controller;
|
use App\Http\Controllers\Api\V1\Controller;
|
||||||
use App\Models\User;
|
use App\Models\User;
|
||||||
|
|
@ -68,10 +68,8 @@ class RegisterController extends Controller
|
||||||
throw new BizException(__('Registration failed, please try again'));
|
throw new BizException(__('Registration failed, please try again'));
|
||||||
}
|
}
|
||||||
|
|
||||||
Registered::dispatch($user);
|
return response()->json(
|
||||||
|
$user->createDeviceToken(Device::UNIAPP)
|
||||||
return response()->json([
|
);
|
||||||
'token' => $user->createToken('app')->plainTextToken,
|
|
||||||
]);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,7 @@
|
||||||
|
|
||||||
namespace App\Models;
|
namespace App\Models;
|
||||||
|
|
||||||
|
use App\Constants\Device;
|
||||||
use Illuminate\Auth\Authenticatable;
|
use Illuminate\Auth\Authenticatable;
|
||||||
use Illuminate\Contracts\Auth\Access\Authorizable as AuthorizableContract;
|
use Illuminate\Contracts\Auth\Access\Authorizable as AuthorizableContract;
|
||||||
use Illuminate\Contracts\Auth\Authenticatable as AuthenticatableContract;
|
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);
|
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,
|
||||||
|
];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue