52 lines
1.4 KiB
PHP
52 lines
1.4 KiB
PHP
<?php
|
|
|
|
namespace app\net;
|
|
|
|
/**
|
|
* 报文类型枚举
|
|
* 对应原hexType的数字值:0-未知,1-有线读卡器,2-无线读卡器,3-电流采集器,4-新版电流采集器
|
|
*/
|
|
enum PacketType: int
|
|
{
|
|
// 未知类型(默认)
|
|
case UNKNOWN = 0;
|
|
// 有线读卡器
|
|
case WIRED_READER = 1;
|
|
// 无线读卡器
|
|
case WIRELESS_READER = 2;
|
|
// 电流采集器
|
|
case CURRENT_COLLECTOR = 3;
|
|
// 新版电流采集器
|
|
case NEW_CURRENT_COLLECTOR = 4;
|
|
|
|
/**
|
|
* 从整数值获取枚举实例(兼容原有数字逻辑)
|
|
* @param int $value
|
|
* @return self
|
|
*/
|
|
public static function fromValue(int $value): self
|
|
{
|
|
return match ($value) {
|
|
1 => self::WIRED_READER,
|
|
2 => self::WIRELESS_READER,
|
|
3 => self::CURRENT_COLLECTOR,
|
|
4 => self::NEW_CURRENT_COLLECTOR,
|
|
default => self::UNKNOWN,
|
|
};
|
|
}
|
|
|
|
/**
|
|
* 获取友好的类型名称(用于日志/展示)
|
|
* @return string
|
|
*/
|
|
public function getName(): string
|
|
{
|
|
return match ($this) {
|
|
self::UNKNOWN => '未知报文',
|
|
self::WIRED_READER => '有线读卡器报文',
|
|
self::WIRELESS_READER => '无线读卡器报文',
|
|
self::CURRENT_COLLECTOR => '电流采集器报文',
|
|
self::NEW_CURRENT_COLLECTOR => '新版电流采集器报文',
|
|
};
|
|
}
|
|
} |