新增在线状态
This commit is contained in:
parent
312abd7856
commit
f8fa57ae78
@ -94,9 +94,7 @@ class UsersController extends AbstractController
|
|||||||
'line_ip' => Base::getIp(),
|
'line_ip' => Base::getIp(),
|
||||||
'line_at' => Carbon::now(),
|
'line_at' => Carbon::now(),
|
||||||
];
|
];
|
||||||
foreach ($array as $key => $value) {
|
$user->updateInstance($array);
|
||||||
$user->$key = $value;
|
|
||||||
}
|
|
||||||
$user->save();
|
$user->save();
|
||||||
//
|
//
|
||||||
$user->token = User::token($user);
|
$user->token = User::token($user);
|
||||||
|
@ -60,6 +60,19 @@ class User extends AbstractModel
|
|||||||
'updated_at',
|
'updated_at',
|
||||||
];
|
];
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 更新数据校验
|
||||||
|
* @param array $param
|
||||||
|
*/
|
||||||
|
public function updateInstance(array $param)
|
||||||
|
{
|
||||||
|
parent::updateInstance($param);
|
||||||
|
//
|
||||||
|
if (isset($param['line_at']) && $this->userid) {
|
||||||
|
Cache::put("User::online:" . $this->userid, time(), Carbon::now()->addSeconds(30));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 昵称
|
* 昵称
|
||||||
* @param $value
|
* @param $value
|
||||||
@ -93,6 +106,19 @@ class User extends AbstractModel
|
|||||||
return array_filter(is_array($value) ? $value : explode(",", trim($value, ",")));
|
return array_filter(is_array($value) ? $value : explode(",", trim($value, ",")));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 是否在线
|
||||||
|
* @return int
|
||||||
|
*/
|
||||||
|
public function getOnlineStatus()
|
||||||
|
{
|
||||||
|
$online = intval(Cache::get("User::online:" . $this->userid, 0));
|
||||||
|
if ($online) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return WebSocket::whereUserid($this->userid)->exists();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/** ***************************************************************************************** */
|
/** ***************************************************************************************** */
|
||||||
/** ***************************************************************************************** */
|
/** ***************************************************************************************** */
|
||||||
@ -329,10 +355,10 @@ class User extends AbstractModel
|
|||||||
if (isset($_A["__static_userid2basic_" . $userid])) {
|
if (isset($_A["__static_userid2basic_" . $userid])) {
|
||||||
return $_A["__static_userid2basic_" . $userid];
|
return $_A["__static_userid2basic_" . $userid];
|
||||||
}
|
}
|
||||||
$fields = ['userid', 'email', 'nickname', 'userimg', 'line_at'];
|
$fields = ['userid', 'email', 'nickname', 'userimg'];
|
||||||
$userInfo = self::whereUserid($userid)->select($fields)->first();
|
$userInfo = self::whereUserid($userid)->select($fields)->first();
|
||||||
if ($userInfo) {
|
if ($userInfo) {
|
||||||
$userInfo->line_at;
|
$userInfo->online = $userInfo->getOnlineStatus();
|
||||||
}
|
}
|
||||||
return $_A["__static_userid2basic_" . $userid] = ($userInfo ?: []);
|
return $_A["__static_userid2basic_" . $userid] = ($userInfo ?: []);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user