Browse Source

pusher

master
chuan 1 month ago
parent
commit
c92532ab16
  1. 23
      app/admin/controller/Notice.php
  2. 16
      app/home/controller/Notice.php
  3. 3
      app/home/route/app.php
  4. 28
      app/home/service/NoticeService.php
  5. 2
      app/home/service/VideoService.php

23
app/admin/controller/Notice.php

@ -16,7 +16,7 @@ class Notice extends AdminBaseController
// 使用Pusher服务推送系统消息
public function pushMessage()
{
$param = $this->request->param();
$param = $this->request->post();
if (empty($param['title']) || empty($param['body'])) {
return json([
'code' => 400,
@ -35,25 +35,4 @@ class Notice extends AdminBaseController
'data' => $res
]);
}
// 生成Beams身份验证令牌
public function generateToken()
{
$param = $this->request->param();
if (empty($param['user_id'])) {
return json([
'code' => 400,
'message' => "缺少参数",
'data' => []
]);
}
$token = (new \app\utility\Pusher())->generateToken($param['user_id']);
return json([
'code' => 0,
'message' => 'ok',
'data' => [
'token' => $token
]
]);
}
}

16
app/home/controller/Notice.php

@ -0,0 +1,16 @@
<?php
namespace app\home\controller;
use app\home\controller\HomeBaseController;
use app\home\service\NoticeService;
use app\home\service\VideoService;
class Notice extends HomeBaseController
{
// 生成Beams身份验证令牌
public function generateToken()
{
$returnData = (new NoticeService())->generateToken($this->request->post());
return json($returnData);
}
}

3
app/home/route/app.php

@ -46,6 +46,9 @@ Route::group('/',function (){
Route::post('/get_config', 'Upload/getConfig');
Route::post('/get_config_by_key', 'Config/getConfigByKey'); // 获取指定keyd的配置
// Pusher推送通知
Route::post('notice/generate_token', 'Notice/generateToken'); // 生成Beams身份验证令牌,该令牌有效期24小时
})->middleware(\app\home\middleware\RepeatOperateMiddleware::class);
// 获取帮助中心文档

28
app/home/service/NoticeService.php

@ -0,0 +1,28 @@
<?php
namespace app\home\service;
use app\model\UserModel;
class NoticeService extends BaseHomeService
{
public function generateToken($param): array
{
try {
if (empty($param['user_id'])) {
return $this->toData('400', lang('parameter_error'));
}
// 检查用户信息
$user = UserModel::where(['user_id'=>$param['user_id']])->find();
if (empty($user)) {
return $this->toData('500', '用户信息不存在');
}
// 生成Beams身份验证令牌
$token = (new \app\utility\Pusher())->generateToken($param['user_id']);
return $this->toData('0', 'ok', [
'token' => $token
]);
} catch (\Exception $exception) {
return $this->toData('500', lang('system_busy'), [$exception->getMessage(), $exception->getTrace()]);
}
}
}

2
app/home/service/VideoService.php

@ -49,7 +49,7 @@ class VideoService extends BaseHomeService
}
$info = VideoOnDemandModel::where(['id'=>$param['id']])->find();
if (empty($info)) {
return $this->toData('500', 'successful', []);
return $this->toData('500', lang('system_busy'), []);
}
return $this->toData('0', 'successful', $info->toArray());
} catch (\Exception $exception) {

Loading…
Cancel
Save