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

相关推荐
xuansec20 小时前
ThinkPHP 6.0.X 反序列化漏洞利用指南(PHPGGC 工具版)
安全·php
取码网20 小时前
最新轻量美化表白墙系统源码v2.0 带后台版 附搭建教程
php
&&Citrus1 天前
【CPN学习笔记(二)】Chap2 非分层颜色 Petri 网——从一个简单协议开始读懂 CPN
笔记·学习·php·cpn·petri网
Xudde.1 天前
班级作业笔记报告0x10
笔记·学习·安全·web安全·php
我叫黑大帅2 天前
PHP中的官方操作数据库PDO
后端·面试·php
Zzj_tju2 天前
Java 从入门到精通(十二):File 与 IO 流基础,为什么程序“读写文件”时总是容易出问题?
java·python·php
流觞 无依2 天前
DedeCMS 前台任意用户密码修改漏洞(CNVD-2018-0109)修复教程
php·dede漏洞
枫叶林FYL2 天前
【自然语言处理 NLP】前沿架构与多模态 6.1.2 专家混合模型(Mixture of Experts, MoE)
开发语言·php
电商API&Tina2 天前
跨境电商如何接入1688官方寻源通接口?附接入流程
java·数据库·python·sql·oracle·json·php
jwn9992 天前
Laravel11.x新特性全解析
android·开发语言·php·laravel