定制 make0x20/driplet 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

make0x20/driplet

最新稳定版本:v0.1

Composer 安装命令:

composer require make0x20/driplet

包简介

A PHP library for broadcasting messages using Driplet microservice

README 文档

README

A PHP library for broadcasting messages through WebSocket connections using the Driplet microservice. This library provides a way to generate JWT tokens and send messages the microservice.

Requirements

  • PHP 8.3 or higher
  • Composer

Installation

You can install the package via composer:

composer require make0x20/driplet

Usage

Sending a message

use Driplet\Client\DripletClient;

// Initialize the client
$client = new DripletClient(
    'https://your-driplet-server.com/api/default/message',
    'your-secret-key'
);

// Create and send a message
$message = $client->createMessage()
    ->setMessage(['event' => 'update'])
    ->setTopic('system')
    ->include()
        ->setTarget('roles', ['admin'])
        ->setTarget('departments', ['IT'])
    ->exclude()
        ->setTarget('users', [123, 456]);

$success = $client->sendMessage($message);

Generate JWT tokens

use Driplet\Token\JwtManager;

// Initialize the JWT manager
$jwtManager = new JwtManager('your-jwt-secret', 60); // 60 seconds expiration

// Generate a token with custom claims
$token = $jwtManager->generateToken([
    'uid' => 123,
    'roles' => ['user', 'admin']
]);

Message structure

[
    'nonce' => 'random-unique-string',
    'timestamp' => 1234567890,
    'message' => [
        // Your message content
    ],
    'target' => [
        'include' => [
            // Targets to include
        ],
        'exclude' => [
            // Targets to exclude
        ]
    ],
    'topic' => 'your-topic'
]

Target system

The target system allows you to specify which clients should receive the message:

$client->createMessage()
    ->setMessage(['event' => 'update'])
    ->setTopic('system')
    ->include()
        ->setTarget('roles', ['admin'])
        ->setTarget('departments', ['IT'])
    ->exclude()
        ->setTarget('users', [123, 456])
    ->build();

统计信息

  • 总下载量: 77
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: GPL-3.0-or-later
  • 更新时间: 2025-01-29