You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
34 lines
1.2 KiB
34 lines
1.2 KiB
<?php
|
|
|
|
namespace app\admin\service;
|
|
|
|
use GatewayClient\Gateway;
|
|
require_once __DIR__ . '/../../../vendor/autoload.php';
|
|
|
|
class NoticeService extends AdminBaseService
|
|
{
|
|
public function popUp($param)
|
|
{
|
|
try {
|
|
if (empty($param['user_id']) || empty($param['content'])) {
|
|
return $this->toData('400', '参数错误');
|
|
}
|
|
if (!is_string($param['content'])) {
|
|
return $this->toData('400', 'content参数必须为string类型');
|
|
}
|
|
// 多个用户ID之间用英文逗号隔开的
|
|
$expUserID = explode(',', $param['user_id']);
|
|
if (count($expUserID) <= 0) {
|
|
return $this->toData('400', '用户ID不能为空');
|
|
}
|
|
// 循环向每个用户发送弹窗
|
|
Gateway::$registerAddress = env('GATEWAY_SERVER.REGISTER');
|
|
foreach ($expUserID as $uid) {
|
|
Gateway::sendToUid($uid, $param['content']);
|
|
}
|
|
return $this->toData('0', 'ok');
|
|
} catch (\Exception $e) {
|
|
return $this->toData('500', 'The system error', [$e->getMessage(), $e->getTrace()]);
|
|
}
|
|
}
|
|
}
|