api/src/Topxia/Api/Resource/IM/Conversations.php
(开头部分) 1KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
<?php
namespace Topxia\Api\Resource\IM;
use Silex\Application;
use AppBundle\Common\ArrayToolkit;
use Topxia\Api\Resource\BaseResource;
use Symfony\Component\HttpFoundation\Request;
use Topxia\Service\Common\ServiceKernel;
class Conversations extends BaseResource
{
public function post(Application $app, Request $request)
{
$requiredFields = array('memberIds');
$fields = $this->checkRequiredFields($requiredFields, $request->request->all());
$memberIds = explode(',', $fields['memberIds']);
if (count($memberIds) != 2) {
return $this->error(500, "Only support memberIds's count of 2");
}
$conversation = $this->getConversationService()->getConversationByMemberIds($memberIds);
if (empty($conversation)) {
$users = $this->getUserService()->findUsersByIds($memberIds);
foreach ($memberIds as $memberId) {
if (!in_array($memberId, ArrayToolkit::column($users, 'id'))) {
return $this->error(500, "User #{$memberId} is not exsit");
}
$user['id'] = $users[$memberId]['id'];
$user['nickname'] = $users[$memberId]['nickname'];
$members[] = $user;
}
try {
$conversation = $this->getConversationService()->createConversation('', 'private', 0, $members);
} catch (\Exception $e) {
return $this->error($e->getCode(), $e->getMessage());
}
}
return $this->filter($conversation);
}
public function filter($res)
{
return $res;
}
protected function getUserService()
{
return ServiceKernel::instance()->createService('User:UserService');
}
protected function getConversationService()
{
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。