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

相关推荐
damoluomu2 天前
挑 PHP CMS 之前,先学会看它的协议
php
子非鱼a2 天前
【WEB】Online ToolWEB
php
PHP实战开发录2 天前
Nginx上传大文件为什么报413
nginx·php·开发
damoluomu2 天前
国产企业级 PHP CMS:哪些能免费商用
php
郑州光合科技余经理3 天前
同城外卖小程序开发:下单成功后,后台导出能不能对上用户端状态
开发语言·前端·git·后端·uni-app·php·ai编程
MyFreeIT3 天前
Android PHP Manual
php
aixingpan3 天前
aixingpan.cn API开发文档:api_docs_trichart_natal_progression_sec_transit2接口指南
前端·php
sbjdhjd3 天前
从日志包含到临时文件竞争:文件包含进阶复盘中的 Docker、Windows 与 Session 限制
网络·安全·web安全·网络安全·数据挖掘·php·rce
daxiangxm3 天前
【趣味休息】“围住小猫在线玩”-“困住小猫”,又回来了
数据结构·人工智能·vscode·github·php
星光开发者3 天前
基于Spring Boot的充电桩管理系统的设计与实现-计算机毕设【课程设计】57105
vue.js·spring boot·vscode·mysql·django·php·express