Fastadmin中使用GatewayClient

在Fastadmin中使用GatewayClient记录,以作参考,这里只是客户端消息推送,

实现消息服务器可以看GatewayWorker实现即时消息

目录

[Composer 安装](#Composer 安装)

[安装 GatewayClient](#安装 GatewayClient)

[在 FastAdmin 中使用](#在 FastAdmin 中使用)

在控制器中使用

总结


Composer 安装

这种方式无需手动处理文件引入,ThinkPHP5 会自动加载类,是最规范的用法。

安装 GatewayClient

打开 FastAdmin 项目根目录,执行以下 Composer 命令:

bash 复制代码
composer require workerman/gatewayclient

安装完成:

在 FastAdmin 中使用

在控制器中使用

需要先注册 消息服务器,然后有两个发送消息方法,一个点对点,一个是广播消息。

代码如下:

php 复制代码
<?php
namespace app\admin\controller;

use think\Controller;
// 直接引入GatewayClient的Gateway类(Composer自动加载)
use GatewayClient\Gateway;

class Gateway extends Controller
{
    // 初始化Gateway配置
    public function _initialize()
    {
        parent::_initialize();
        // 核心配置:填写你的GatewayWorker注册服务地址+端口(必填)
        Gateway::$registerAddress = '127.0.0.1:1236';
    }

    // 示例1:给指定UID用户发送消息
    public function sendToUid()
    {
        $uid = 1001; // 目标用户UID(根据业务调整)
        $message = json_encode(['type' => 'notice', 'content' => '你好,这是FastAdmin发送的消息']);
        
        // 调用GatewayClient核心方法发送消息
        $result = Gateway::sendToUid($uid, $message);
        
        return json([
            'code' => $result ? 1 : 0,
            'msg'  => $result ? '消息发送成功' : '消息发送失败',
            'data' => ['uid' => $uid]
        ]);
    }

    // 示例2:给所有在线用户广播消息
    public function sendToAll()
    {
        $message = json_encode(['type' => 'broadcast', 'content' => '全体通知:系统维护时间为今晚23点']);
        Gateway::sendToAll($message);
        
        return json(['code' => 1, 'msg' => '广播消息发送成功']);
    }
}

总结

这是在Fastadmin中使用GatewayClient记录,以作参考。

相关推荐
皮皮蟹虾饺8 小时前
tcpdump指南:从基础抓包到 BPF 高级过滤与生产实战
测试工具·php·tcpdump
it-10249 小时前
抖音快手短视频去水印微信小程序/一键去水印/小程序去水印接口代码
微信小程序·小程序·php
宋拾壹20 小时前
php对接抖音验券,二维码验券
php·抖音·二维码·验券
我是唐青枫1 天前
Php Doctrine ORM 实战详解:从实体映射到查询、关联与事务
php
juesdo1 天前
array_search()函数的用法
web安全·php
ch3nyuyu1 天前
socket套接字
开发语言·php
leagsoft_10031 天前
零信任选型五刀法——零信任怎么选?五个问题,五条红线
开发语言·php
yyuuuzz1 天前
云服务器软件部署的几个常见问题
运维·服务器·开发语言·网络·云计算·php·apache
juesdo1 天前
青岑CTF web入门 EZCMD系列
web安全·网络安全·php
RisunJan1 天前
Linux命令-php(PHP语言的命令行接口)
linux·php