Files
im/support/OpenImSdk/Api/User.php
T
commie 1a7f4bc98a 9
2026-02-15 19:41:56 +08:00

252 lines
8.0 KiB
PHP
Executable File

<?php
namespace support\OpenImSdk\Api;
use support\OpenImSdk\Core\Url;
use support\OpenImSdk\Core\Utils;
class User
{
/**
* 获取用户列表
* @param int $pagination 页码
* @param int $showNumber 每页数量
* @return array
*/
public function getUsers(int $pagination = 1, int $showNumber = 20): array
{
// 获取管理员token
$adminToken = Utils::getAdminToken();
$data = [
'pagination' => [
'pageNumber' => $pagination,
'showNumber' => $showNumber
]
];
return Utils::send(Url::$getUsers, $data, '获取用户列表错误', $adminToken);
}
/**
* 获取用户在线状态
* @param array $userIDList 用户ID列表
* @return array
*/
public function getUsersOnlineStatus(array $userIDList): array
{
// 获取管理员token
$adminToken = Utils::getAdminToken();
return Utils::send(Url::$getUsersOnlineStatus, ['userIDList' => $userIDList], '获取用户在线状态错误', $adminToken);
}
/**
* 获取用户在线token详情
* @param array $userIDList 用户ID列表
* @return array
*/
public function getUsersOnlineTokenDetail(array $userIDList): array
{
// 获取管理员token
$adminToken = Utils::getAdminToken();
return Utils::send(Url::$getUsersOnlineTokenDetail, ['userIDList' => $userIDList], '获取用户在线token详情错误', $adminToken);
}
/**
* 获取订阅用户状态
* @return array
*/
public function getSubscribeUsersStatus(): array
{
// 获取管理员token
$adminToken = Utils::getAdminToken();
return Utils::send(Url::$getSubscribeUsersStatus, [], '获取订阅用户状态错误', $adminToken);
}
/**
* 订阅用户状态
* @param string $token 管理员token
* @param array $userIDList 用户ID列表
* @return array
*/
public function subscribeUsersStatus(array $userIDList): array
{
// 获取管理员token
$adminToken = Utils::getAdminToken();
return Utils::send(Url::$subscribeUsersStatus, ['userIDList' => $userIDList], '订阅用户状态错误', $adminToken);
}
/**
* 设置全局免打扰
* @param int $globalRecvMsgOpt 全局消息接收选项
* @return array
*/
public function setGlobalMsgRecvOpt(int $globalRecvMsgOpt): array
{
// 获取管理员token
$adminToken = Utils::getAdminToken();
return Utils::send(Url::$setGlobalMsgRecvOpt, ['globalRecvMsgOpt' => $globalRecvMsgOpt], '设置全局免打扰错误', $adminToken);
}
/**
* 修改用户信息
* @param string $userID 用户ID
* @param array $data 用户信息
* @return array
*/
public function updateUserInfo(string $userID, array $data): array|bool
{
// 获取管理员token
$adminToken = Utils::getAdminToken();
$data = array_merge(['userID' => $userID], $data);
$data = [
'userInfo' => $data
];
return Utils::send(Url::$updateUserInfo, $data, '修改用户信息错误', $adminToken);
}
/**
* 搜索通知账号
* @param string $keyword 搜索关键词
* @param int $pagination 页码
* @param int $showNumber 每页数量
* @return array
*/
public function searchNotificationAccount(string $keyword, int $pagination = 1, int $showNumber = 20): array
{
$data = [
'keyword' => $keyword,
'pagination' => [
'pageNumber' => $pagination,
'showNumber' => $showNumber
]
];
return Utils::send(Url::$searchNotificationAccount, $data, '搜索通知账号错误');
}
/**
* 添加通知账号
* @param string $userID 用户ID
* @param string $nickname 昵称
* @param string $faceURL 头像
* @param int $gender 性别
* @param string $phoneNumber 手机号
* @param string $birth 生日
* @param string $email 邮箱
* @param string $ex 扩展字段
* @return array
*/
public function addNotificationAccount(string $userID, string $nickname = '', string $faceURL = '', \support\OpenImSdk\Enum\appMangerLevel $appMangerLevel = \support\OpenImSdk\Enum\appMangerLevel::Notify): array
{
$data = [
'userID' => $userID,
'nickname' => $nickname,
'faceURL' => $faceURL,
'appMangerLevel' => $appMangerLevel->value,
];
return Utils::send(Url::$addNotificationAccount, $data, '添加通知账号错误');
}
/**
* 更新通知账号
* @param string $userID 用户ID
* @param string $nickname 昵称
* @param string $faceURL 头像
* @param int $gender 性别
* @param string $phoneNumber 手机号
* @param string $birth 生日
* @param string $email 邮箱
* @param string $ex 扩展字段
* @return array
*/
public function updateNotificationAccount(string $userID, string $nickname = '', string $faceURL = ''): array
{
// 获取管理员token
$data = [
'userID' => $userID,
'nickname' => $nickname,
'faceURL' => $faceURL
];
return Utils::send(Url::$updateNotificationAccount, $data, '更新通知账号错误');
}
/**
* 检查列表账户注册状态
* @param array $checkUserIDList 用户ID列表
* @return array
*/
public function accountCheck(array $checkUserIDList): array
{
// 获取管理员token
$adminToken = Utils::getAdminToken();
return Utils::send(Url::$accountCheck, ['checkUserIDList' => $checkUserIDList], '检查列表账户注册状态错误', $adminToken);
}
/**
* 获取所有用户uid列表
* @return array
*/
public function getAllUsersUid($page=1,$limit=100): array
{
// 获取管理员token
$adminToken = Utils::getAdminToken();
return Utils::send(Url::$getAllUsersUid, ['pagination'=>['pageNumber'=>$page,"showNumber"=>$limit]], '获取所有用户uid列表错误', $adminToken);
}
/**
* 获取自己的信息
* @param string $userID 用户ID
* @return array
*/
public function getSelfUserInfo(string $userID): array
{
// 获取管理员token
$userToken = Utils::getUserToken($userID);
return Utils::send(Url::$getSelfUserInfo, ['userID' => $userID], '获取自己的信息错误', $userToken);
}
/**
* 获取用户信息
* @param array $userIDList 用户ID列表
* @return array
*/
public function getUsersInfo(array $userIDList): array
{
// 获取管理员token
$adminToken = Utils::getAdminToken();
return Utils::send(Url::$getUsersInfo, ['userIDList' => $userIDList], '获取用户信息错误', $adminToken);
}
//Header
//
//Header Name Example Value Required Type Description
//operationID 1646445464564 Required string Used for global traceability, suggested as a unique timestamp per request
//token eyJhbxxxx3Xs Required string Admin token
//Field Name Required Type Description
//users Required array List of users
//users.userID Required string User ID
//users.nickname Required string User nickname
//users.faceURL Required string User avatar URL
/**
* 用户注册
* @param string $userID 用户ID
* @param string $nickname 昵称
* @param string $faceURL 头像地址
* @return array
*/
public function userRegister(string $userID, string $nickname = '', string $faceURL = ''): array|bool
{
// 获取管理员token
$adminToken = Utils::getAdminToken();
$data = [
'users' => [
[
'userID' => $userID,
'nickname' => $nickname,
'faceURL' => $faceURL
]
]
];
return Utils::send(Url::$userRegister, $data, '注册IM错误', $adminToken);
}
}