要实现的效果如下
融云PHPSdk的下载地址: https://github.com/rongcloud/server-sdk-php
//测试融云
public function actionIndex()
{
$rongCloud = new RongCloud(static::$RONGYUN['appKey'], static::$RONGYUN['appSecret']);
$message = $rongCloud->message();
$fromUserId = '系统消息';
$toUserId = ['900211'];
$objectName = 'RC:TxtMsg';
$content = array(
'content' => '请充值10元'
);
$content = json_encode($content);
$pushContent = 'thisisapush';
$push = array(
'pushData' => '请充值10元'
);
$pushData = json_encode($push);
$result = $message->PublishSystem($fromUserId, $toUserId, $objectName, $content, $pushContent, $pushData, 1, 1);
$result = json_decode($result, true);
if (isset($result) && $result['code'] == 200) {
json_encode(['code' => 0, 'message' => '', 'data' => []]);
} else {
json_encode(['code' => -1, 'message' => '失败']);
}
}
客户端需要连接融云的服务器。 客户端连接融云的服务器需要一个token。
获取token的
官方文档:http://www.rongcloud.cn/docs/server.html#
/**
* 获取融云token
*/
public function actionRongCloudToken()
{
$params = Yii::$app->request->get();
$token = RongCloud::getToken($params['userId'], $params['nickName'], $params['avatar']);
if (!empty($token)) {
$this->jsonReturnSuccess(Constants::CODE_SUCCESS, '', json_decode($token, true));
}
$this->jsonReturnError(Constants::CODE_FAILED);
}
/**
* 获取融云token
*
* @param $userId
* @param $nickName
* @param null $avatar
* @return mixed
*/
public static function getToken($userId, $nickName, $avatar = null)
{
$config = Yii::$app->params['rongCloud'];
static::$rongCloud = new RongCloudExtensions($config['appKey'], $config['appSecret']);
$result = static::$rongCloud->user()
->getToken($userId, $nickName, $avatar);
return $result;
}