|
|
@ -54,4 +54,33 @@ class UserService { |
|
|
$uid = $model->save($arr); |
|
|
$uid = $model->save($arr); |
|
|
return isset($uid)?true:false; |
|
|
return isset($uid)?true:false; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
|
* 获取登录的token |
|
|
|
|
|
* @param int $userId |
|
|
|
|
|
* @return string |
|
|
|
|
|
*/ |
|
|
|
|
|
public function getToken(int $userId): string |
|
|
|
|
|
{ |
|
|
|
|
|
static $token = ''; |
|
|
|
|
|
if (empty($token)) { |
|
|
|
|
|
$token = $this->makeToken($userId); |
|
|
|
|
|
} |
|
|
|
|
|
return $token; |
|
|
|
|
|
} |
|
|
|
|
|
/** |
|
|
|
|
|
* 生成用户认证的token |
|
|
|
|
|
* @param int $userId |
|
|
|
|
|
* @return string |
|
|
|
|
|
*/ |
|
|
|
|
|
private function makeToken(int $userId): string |
|
|
|
|
|
{ |
|
|
|
|
|
// 生成一个不会重复的随机字符串 |
|
|
|
|
|
$guid = \get_guid_v4(); |
|
|
|
|
|
// 当前时间戳 (精确到毫秒) |
|
|
|
|
|
$timeStamp = \microtime(true); |
|
|
|
|
|
// 自定义一个盐 |
|
|
|
|
|
$salt = makeSalt(12); |
|
|
|
|
|
return md5("{$timeStamp}_{$userId}_{$guid}_{$salt}"); |
|
|
|
|
|
} |
|
|
} |
|
|
} |