p2 project
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

2 months ago
<?php
namespace app\admin\service;
use GatewayClient\Gateway;
require_once __DIR__ . '/../../../vendor/autoload.php';
class NoticeService extends AdminBaseService
{
public function popUp($param)
{
try {
2 months ago
if (empty($param['user_ids']) || empty($param['content'])) {
2 months ago
return $this->toData('400', '参数错误');
}
if (!is_string($param['content'])) {
return $this->toData('400', 'content参数必须为string类型');
}
// 多个用户ID之间用英文逗号隔开的
2 months ago
if (!is_array($param['user_ids'])) {
return $this->toData('400', 'user_ids参数格式错误');
2 months ago
}
// 循环向每个用户发送弹窗
2 months ago
$data = ['type'=>'admin-popup', 'content'=>$param['content']];
2 months ago
Gateway::$registerAddress = env('GATEWAY_SERVER.REGISTER');
2 months ago
foreach ($param['user_ids'] as $uid) {
2 months ago
Gateway::sendToUid($uid, json_encode($data));
2 months ago
}
return $this->toData('0', 'ok');
} catch (\Exception $e) {
return $this->toData('500', 'The system error', [$e->getMessage(), $e->getTrace()]);
}
}
}