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记录,以作参考。

相关推荐
AC赳赳老秦10 小时前
网页公开附件自动采集:OpenClaw 批量下载页面内嵌 Word/Excel 附件,统一格式后结构化入库
java·python·word·php·excel·deepseek·openclaw
渣渣盟1 天前
当 Redis 写入成为性能瓶颈时,如何利用 异步批量 Sink 将吞吐量从 1w QPS 提升到 10w+?
数据库·redis·php
XR1234567881 天前
工业园区整体组网,方案对比怎么选?
开发语言·php
️学习的小王1 天前
二级MySQL PHP综合应用题完整考点+历年真题风格练习题
android·mysql·php
别动我齐刘海1 天前
Day10 unitree_G1人形机器人BVH/MocapApi实际输出少于Axis
开发语言·php
2601_965798472 天前
Is Piroll WordPress Theme Worth It for Freelancers? Full Review
数据库·php
zero_70322 天前
HCIP 课程文字版思维导图笔记
服务器·网络·php
abbgogo2 天前
OSPF动态路由协议
开发语言·php
大鱼>2 天前
共识算法:从PBFT到HotStuff的拜占庭容错演进
区块链·php·共识算法
正在走向自律3 天前
使用atop工具监控Linux系统指标
linux·运维·php·实时监控·atop分析内存