guolei19850528/laravel-device
Composer 安装命令:
composer require guolei19850528/laravel-device
包简介
这是一个基于 Laravel 框架的设备服务扩展,用于集成天津博瑞皓科 (Tjbrhk)设备服务。
README 文档
README
项目简介
Laravel Device 是一个基于 Laravel 框架的设备服务扩展,用于集成天津博瑞皓科 (Tjbrhk)设备服务。该扩展提供了简洁的 API 接口,方便开发者与天津博瑞皓科的设备进行通信,目前主要支持消息发送功能。
主要功能
- 与天津博瑞皓科设备服务进行通信
- 支持发送设备消息
- 支持多设备配置,可同时管理多个设备
- 提供简洁的 API 调用方式
- 配置灵活,支持通过 .env 文件管理敏感信息
技术栈
- PHP 8.x
- Laravel 7.x ~ 12.x
- GuzzleHttp
安装方法
1. 安装依赖
通过 Composer 安装扩展:
composer require guolei19850528/laravel-device
2. 发布配置文件
安装完成后,使用以下命令发布配置文件:
php artisan vendor:publish --provider="Guolei19850528\Laravel\Device\ExtensionServiceProvider"
发布后,配置文件将保存在 config/device.php 中。
配置说明
1. 基础配置
打开 config/device.php 文件,根据实际情况配置天津博瑞皓科设备的相关参数:
return [
'tjbrhk' => [
'default' => [
'id' => env('TJBRHK_DEVICE_ID', ''),
'token' => env('TJBRHK_DEVICE_TOKEN', ''),
'version' => '1',
'baseUrl' => 'https://speaker.17laimai.cn/',
],
],
];
2. 环境变量配置
建议在 .env 文件中配置敏感信息:
TJBRHK_DEVICE_ID=your-device-id
TJBRHK_DEVICE_TOKEN=your-device-token
3. 多设备配置
扩展支持配置多个天津博瑞皓科设备实例,每个实例可以有独立的参数:
return [
'tjbrhk' => [
'default' => [
'id' => env('TJBRHK_DEFAULT_DEVICE_ID', ''),
'token' => env('TJBRHK_DEFAULT_DEVICE_TOKEN', ''),
'version' => '1',
'baseUrl' => 'https://speaker.17laimai.cn/',
],
'device_a' => [
'id' => env('TJBRHK_DEVICE_A_ID', ''),
'token' => env('TJBRHK_DEVICE_A_TOKEN', ''),
'version' => '1',
'baseUrl' => 'https://speaker.17laimai.cn/',
],
'device_b' => [
'id' => env('TJBRHK_DEVICE_B_ID', ''),
'token' => env('TJBRHK_DEVICE_B_TOKEN', ''),
'version' => '1',
'baseUrl' => 'https://speaker.17laimai.cn/',
],
],
];
使用示例
1. 基本使用
use Guolei19850528\Laravel\Device\Tjbrhk\Speaker;
// 创建设备实例
$speaker = new Speaker(
id: config('device.tjbrhk.default.id'),
token: config('device.tjbrhk.default.token'),
version: config('device.tjbrhk.default.version'),
baseUrl: config('device.tjbrhk.default.baseUrl')
);
// 发送消息
try {
$result = $speaker->send(message: 'Hello, this is a test message from Laravel Device Extension!');
if ($result) {
echo '消息发送成功!';
} else {
echo '消息发送失败!';
}
} catch (\Exception $e) {
echo '发送过程中发生错误:' . $e->getMessage();
}
2. 在控制器中使用
use App\Http\Controllers\Controller;
use Guolei19850528\Laravel\Device\Tjbrhk\Speaker;
class DeviceController extends Controller
{
/**
* 发送设备消息
*/
public function sendMessage()
{
// 从配置创建设备实例
$config = config('device.tjbrhk.default');
$speaker = new Speaker(
id: $config['id'],
token: $config['token'],
version: $config['version'],
baseUrl: $config['baseUrl']
);
// 消息内容
$message = '欢迎光临!这是一条来自 Laravel Device 扩展的消息。';
try {
$result = $speaker->send($message);
return response()->json([
'status' => $result ? 'success' : 'error',
'message' => $result ? '消息发送成功' : '消息发送失败'
]);
} catch (\Exception $e) {
return response()->json([
'status' => 'error',
'message' => '发送失败: ' . $e->getMessage()
], 500);
}
}
}
3. 使用自定义配置
use Guolei19850528\Laravel\Device\Tjbrhk\Speaker;
// 创建设备实例并手动设置参数
$speaker = new Speaker();
$speaker->setId('your-device-id')
->setToken('your-device-token')
->setVersion('1')
->setBaseUrl('https://speaker.17laimai.cn/');
// 发送消息
try {
$result = $speaker->send('这是一条使用自定义配置发送的消息');
echo $result ? '发送成功' : '发送失败';
} catch (\Exception $e) {
echo '错误: ' . $e->getMessage();
}
API 文档
Speaker 类
构造函数
public function __construct(
string|int $id = '',
string $token = '',
string|int $version = '1',
string $baseUrl = 'https://speaker.17laimai.cn/'
)
参数说明:
$id:设备ID$token:认证令牌$version:API版本号(默认:'1')$baseUrl:API基础URL(默认:'https://speaker.17laimai.cn/')
发送消息
public function send(
?string $message = '',
?string $url = '/notify.php',
?array $urlParameters = [],
?array $options = [],
?\Closure $responseHandler = null,
?array $validatorRules = ['errcode' => 'required|integer|size:0']
): mixed
参数说明:
$message:要发送的消息内容$url:API请求路径(默认:'/notify.php')$urlParameters:URL参数数组$options:HTTP请求选项$responseHandler:响应处理回调函数$validatorRules:响应验证规则(默认验证errcode为0)
返回值:
- 成功返回true,失败返回false
- 如果提供了自定义响应处理函数,则返回处理后的结果
配置方法
// 获取/设置设备ID
public function getId(): int|string
public function setId(int|string $id): static
// 获取/设置认证令牌
public function getToken(): string
public function setToken(string $token): static
// 获取/设置API版本号
public function getVersion(): int|string
public function setVersion(int|string $version): static
// 获取/设置API基础URL
public function getBaseUrl(): string
public function setBaseUrl(string $baseUrl): static
注意事项
- 确保已正确配置设备ID和认证令牌
- API默认地址为 https://speaker.17laimai.cn/,如果有变化请在配置中修改
- 发送消息时需要处理可能的异常情况
- 支持多设备配置,可以在同一项目中使用多个不同的设备
开发说明
项目结构
laravel-device/
├── config/
│ └── device.php # 配置文件
├── src/
│ ├── Tjbrhk/
│ │ └── Speaker.php # 天津博瑞皓科设备类
│ └── ExtensionServiceProvider.php # 服务提供者
├── vendor/
├── .gitignore
├── LICENSE
├── README.md
└── composer.json
核心类说明
Speaker:天津博瑞皓科设备通信类,提供消息发送功能ExtensionServiceProvider:Laravel扩展服务提供者,用于注册扩展
版本历史
- v1.0.0 (2026-02-05)
- 初始版本
- 实现天津博瑞皓科设备消息发送功能
- 支持多设备配置
- 提供简洁的API调用方式
许可证
本扩展采用 MIT 许可证,详情请查看 LICENSE 文件。
联系方式
- 开发者:郭磊
- 邮箱:174000902@qq.com
- GitHub:https://github.com/guolei19850528/laravel-device
贡献指南
欢迎提交 Issue 和 Pull Request 来帮助改进这个扩展!
更新日志
请查看 CHANGELOG.md 文件获取详细的更新日志。
guolei19850528/laravel-device 适用场景与选型建议
guolei19850528/laravel-device 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 0 次下载、GitHub Stars 达 0, 最近一次更新时间为 2026 年 01 月 05 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「laravel」 「device」 「博瑞皓科」 「天津博瑞皓科」 「郭磊」 「tjbrhk」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 guolei19850528/laravel-device 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 guolei19850528/laravel-device 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 guolei19850528/laravel-device 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
Platine User Agent is a lightweight library for detecting user browser, device, OS, CPU
Yii2 extension for Mobile-Detect library
Device feature detection via Vanilla JS with a PHP backup for server side detection.
Detects information about the users browser and device
Alfabank REST API integration
this typo3 extension provides brute force protection for frontend login with device cookies as described in OWASP https://owasp.org/www-community/Slow_Down_Online_Guessing_Attacks_with_Device_Cookies
统计信息
- 总下载量: 0
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 14
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2026-01-05