This commit is contained in:
2025-11-22 15:31:01 +08:00
parent 9f25a85d07
commit b52a51c09b
37 changed files with 2587 additions and 240 deletions
+212
View File
@@ -0,0 +1,212 @@
<?php
namespace support\OpenImSdk\Api;
use support\OpenImSdk\Core\Url;
use support\OpenImSdk\Core\Utils;
class Friend
{
/**
* 添加黑名单
* @param string $ownerUserID 用户ID
* @param string $blackUserID 被拉黑用户ID
* @return array
*/
public function addBlack(string $ownerUserID, string $blackUserID): array
{
// 获取管理员token
$adminToken = Utils::getAdminToken();
$data = ['ownerUserID' => $ownerUserID, 'blackUserID' => $blackUserID];
return Utils::send(Url::$addBlack, $data, '添加黑名单错误', $adminToken);
}
/**
* 添加好友
* @param string $fromUserID 发送者ID
* @param string $toUserID 接收者ID
* @param string $reqMsg 请求消息
* @return array
*/
public function addFriend(string $fromUserID, string $toUserID, string $reqMsg): array
{
// 获取管理员token
$adminToken = Utils::getAdminToken();
$data = ['fromUserID' => $fromUserID, 'toUserID' => $toUserID, 'reqMsg' => $reqMsg];
return Utils::send(Url::$addFriend, $data, '添加好友错误', $adminToken);
}
/**
* 同意/拒绝好友请求
* @param string $ownerUserID 处理者ID
* @param string $friendUserID 好友ID
* @param string $handleMsg 处理消息
* @param int $handleResult 处理结果,1同意,2拒绝
* @return array
*/
public function addFriendResponse(string $ownerUserID, string $friendUserID, string $handleMsg, int $handleResult): array
{
// 获取管理员token
$adminToken = Utils::getAdminToken();
$data = [
'ownerUserID' => $ownerUserID,
'friendUserID' => $friendUserID,
'handleMsg' => $handleMsg,
'handleResult' => $handleResult
];
return Utils::send(Url::$addFriendResponse, $data, '同意/拒绝好友请求错误', $adminToken);
}
/**
* 删除好友
* @param string $ownerUserID 用户ID
* @param string $friendUserID 好友ID
* @return array
*/
public function deleteFriend(string $ownerUserID, string $friendUserID): array
{
// 获取管理员token
$adminToken = Utils::getAdminToken();
$data = ['ownerUserID' => $ownerUserID, 'friendUserID' => $friendUserID];
return Utils::send(Url::$deleteFriend, $data, '删除好友错误', $adminToken);
}
/**
* 获取黑名单列表
* @param string $userID 用户ID
* @return array
*/
public function getBlackList(string $userID): array
{
// 获取管理员token
$adminToken = Utils::getAdminToken();
return Utils::send(Url::$getBlackList, ['userID' => $userID], '获取黑名单列表错误', $adminToken);
}
/**
* 获取好友申请列表(收到的申请)
* @param string $userID 用户ID
* @return array
*/
public function getFriendApplyList(string $userID): array
{
// 获取管理员token
$adminToken = Utils::getAdminToken();
return Utils::send(Url::$getFriendApplyList, ['userID' => $userID], '获取好友申请列表错误', $adminToken);
}
/**
* 获取用户的好友列表
* @param string $userID 用户ID
* @return array
*/
public function getFriendList(string $userID): array
{
// 获取管理员token
$adminToken = Utils::getAdminToken();
return Utils::send(Url::$getFriendList, ['userID' => $userID], '获取用户的好友列表错误', $adminToken);
}
/**
* 获取自己的好友申请列表(发出的申请)
* @param string $userID 用户ID
* @return array
*/
public function getSelfFriendApplyList(string $userID): array
{
// 获取管理员token
$adminToken = Utils::getAdminToken();
return Utils::send(Url::$getSelfFriendApplyList, ['userID' => $userID], '获取自己的好友申请列表错误', $adminToken);
}
/**
* 批量导入好友
* @param string $ownerUserID 用户ID
* @param array $friendUserIDs 好友ID列表
* @return array
*/
public function importFriend(string $ownerUserID, array $friendUserIDs = []): array
{
// 获取管理员token
$adminToken = Utils::getAdminToken();
$data = ['ownerUserID' => $ownerUserID, 'friendUserIDs' => $friendUserIDs];
return Utils::send(Url::$importFriend, $data, '批量导入好友错误', $adminToken);
}
/**
* 检查用户之间是否为好友
* @param string $userID1 用户ID1
* @param string $userID2 用户ID2
* @return array
*/
public function isFriend(string $userID1, string $userID2): array
{
// 获取管理员token
$adminToken = Utils::getAdminToken();
$data = ['userID1' => $userID1, 'userID2' => $userID2];
return Utils::send(Url::$isFriend, $data, '检查用户之间是否为好友错误', $adminToken);
}
/**
* 把用户移除黑名单
* @param string $ownerUserID 用户ID
* @param string $blackUserID 被移除黑名单的用户ID
* @return array
*/
public function removeBlack(string $ownerUserID, string $blackUserID): array
{
// 获取管理员token
$adminToken = Utils::getAdminToken();
$data = ['ownerUserID' => $ownerUserID, 'blackUserID' => $blackUserID];
return Utils::send(Url::$removeBlack, $data, '把用户移除黑名单错误', $adminToken);
}
/**
* 设置好友备注
* @param string $fromUserID 用户ID
* @param string $toUserID 好友ID
* @param string $remark 备注
* @return array
*/
public function setFriendRemark(string $fromUserID, string $toUserID, string $remark): array
{
// 获取管理员token
$adminToken = Utils::getAdminToken();
$data = ['fromUserID' => $fromUserID, 'toUserID' => $toUserID, 'remark' => $remark];
return Utils::send(Url::$setFriendRemark, $data, '设置好友备注错误', $adminToken);
}
/**
* 更新好友信息
* @param string $ownerUserID 用户ID
* @param string $friendUserID 好友ID
* @param string $remark 备注
* @param bool $isPinned 是否置顶
* @param string $ex 扩展字段
* @return array
*/
public function updateFriends(string $ownerUserID, string $friendUserID, string $remark = '', bool $isPinned = false, string $ex = ''): array
{
// 获取管理员token
$adminToken = Utils::getAdminToken();
$data = [
'ownerUserID' => $ownerUserID,
'friendUserID' => $friendUserID
];
// 只添加非空参数
if ($remark !== '') {
$data['remark'] = $remark;
}
if ($isPinned) {
$data['isPinned'] = $isPinned;
}
if ($ex !== '') {
$data['ex'] = $ex;
}
return Utils::send(Url::$updateFriends, $data, '更新好友信息失败', $adminToken);
}
}