初始化本地仓库
This commit is contained in:
@@ -0,0 +1,109 @@
|
||||
<?php
|
||||
declare(strict_types=1);
|
||||
/**
|
||||
*+------------------
|
||||
* madong
|
||||
*+------------------
|
||||
* Copyright (c) https://gitee.com/motion-code All rights reserved.
|
||||
*+------------------
|
||||
* Author: Mr. April (405784684@qq.com)
|
||||
*+------------------
|
||||
* Official Website: http://www.madong.tech
|
||||
*/
|
||||
|
||||
namespace app\enum\common;
|
||||
|
||||
use core\interface\IEnum;
|
||||
|
||||
/**
|
||||
* 枚举分类映射枚举
|
||||
* 用于映射枚举目录分类名称
|
||||
*/
|
||||
enum CategoryEnum: string implements IEnum
|
||||
{
|
||||
case COMMON = 'common'; // 通用枚举分类
|
||||
case SYSTEM = 'system'; // 系统枚举分类
|
||||
case DEV = 'dev'; // 开发枚举分类
|
||||
case MONITOR = 'monitor'; // 监控枚举分类
|
||||
case BUSINESS = 'business'; // 业务枚举分类
|
||||
|
||||
/**
|
||||
* 获取分类描述
|
||||
*/
|
||||
public function label(): string
|
||||
{
|
||||
return match ($this) {
|
||||
self::COMMON => '通用枚举',
|
||||
self::SYSTEM => '系统枚举',
|
||||
self::DEV => '开发枚举',
|
||||
self::MONITOR => '监控枚举',
|
||||
self::BUSINESS => '业务枚举',
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取颜色标识
|
||||
*/
|
||||
public function color(): string
|
||||
{
|
||||
return match ($this) {
|
||||
self::COMMON => 'blue',
|
||||
self::SYSTEM => 'green',
|
||||
self::DEV => 'orange',
|
||||
self::MONITOR => 'red',
|
||||
self::BUSINESS => 'purple',
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取分类对应的目录路径
|
||||
*/
|
||||
public function directory(): string
|
||||
{
|
||||
return match ($this) {
|
||||
self::COMMON => 'common',
|
||||
self::SYSTEM => 'system',
|
||||
self::DEV => 'dev',
|
||||
self::MONITOR => 'monitor',
|
||||
self::BUSINESS => 'business',
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取所有分类的映射数组
|
||||
*/
|
||||
public static function getCategoryMap(): array
|
||||
{
|
||||
$map = [];
|
||||
foreach (self::cases() as $case) {
|
||||
$map[$case->value] = [
|
||||
'code' => $case->value,
|
||||
'label' => $case->label(),
|
||||
'color' => $case->color(),
|
||||
'directory' => $case->directory(),
|
||||
];
|
||||
}
|
||||
return $map;
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据目录名称获取分类枚举
|
||||
*/
|
||||
public static function fromDirectory(string $directory): ?self
|
||||
{
|
||||
foreach (self::cases() as $case) {
|
||||
if ($case->directory() === $directory) {
|
||||
return $case;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 检查目录是否为有效的分类
|
||||
*/
|
||||
public static function isValidDirectory(string $directory): bool
|
||||
{
|
||||
return self::fromDirectory($directory) !== null;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,42 @@
|
||||
<?php
|
||||
declare(strict_types=1);
|
||||
/**
|
||||
*+------------------
|
||||
* madong
|
||||
*+------------------
|
||||
* Copyright (c) https://gitee.com/motion-code All rights reserved.
|
||||
*+------------------
|
||||
* Author: Mr. April (405784684@qq.com)
|
||||
*+------------------
|
||||
* Official Website: http://www.madong.tech
|
||||
*/
|
||||
|
||||
namespace app\enum\common;
|
||||
|
||||
enum EnabledStatus: int
|
||||
{
|
||||
case ENABLED = 1;
|
||||
case DISABLED = 0;
|
||||
|
||||
/**
|
||||
* 获取人类可读的标签
|
||||
*/
|
||||
public function label(): string
|
||||
{
|
||||
return match ($this) {
|
||||
self::ENABLED => '启用',
|
||||
self::DISABLED => '禁用',
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取对应的颜色值
|
||||
*/
|
||||
public function color(): string
|
||||
{
|
||||
return match ($this) {
|
||||
self::ENABLED => '#4CAF50', // 绿色
|
||||
self::DISABLED => '#FF5252', // 红色
|
||||
};
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,105 @@
|
||||
<?php
|
||||
declare(strict_types=1);
|
||||
/**
|
||||
*+------------------
|
||||
* madong
|
||||
*+------------------
|
||||
* Copyright (c) https://gitee.com/motion-code All rights reserved.
|
||||
*+------------------
|
||||
* Author: Mr. April (405784684@qq.com)
|
||||
*+------------------
|
||||
* Official Website: http://www.madong.tech
|
||||
*/
|
||||
|
||||
namespace app\enum\common;
|
||||
|
||||
enum FormType: string
|
||||
{
|
||||
case INPUT = 'Input';
|
||||
case INPUT_NUMBER = 'InputNumber';
|
||||
case SELECT = 'Select';
|
||||
case RADIO_GROUP = 'RadioGroup';
|
||||
case CHECKBOX_GROUP = 'CheckboxGroup';
|
||||
case API_SELECT = 'ApiSelect';
|
||||
case API_RADIO_GROUP = 'ApiRadioGroup';
|
||||
// case API_CHECKBOX_GROUP = 'ApiRadioGroup';
|
||||
case API_TREE_SELECT = 'ApiTreeSelect';
|
||||
case API_CASCADER = 'ApiCascader';
|
||||
case DICT = 'ApiDict';
|
||||
case DATE_PICKER = 'DatePicker';
|
||||
case UPLOAD = 'Upload';
|
||||
case EDITOR = 'Editor';
|
||||
case ICON_PICKER = 'IconPicker';
|
||||
|
||||
/**
|
||||
* 获取人类可读的标签
|
||||
*/
|
||||
public function label(): string
|
||||
{
|
||||
return match ($this) {
|
||||
self::INPUT => '单行文本',
|
||||
self::INPUT_NUMBER => '数字',
|
||||
self::SELECT => '下拉选择',
|
||||
self::RADIO_GROUP => '单选框',
|
||||
self::CHECKBOX_GROUP => '多选框',
|
||||
self::API_SELECT => '远程下拉',
|
||||
self::API_RADIO_GROUP => '远程单选',
|
||||
// self::API_CHECKBOX_GROUP => '远程多选',
|
||||
self::API_TREE_SELECT => '远程树选择',
|
||||
self::API_CASCADER => '远程级联',
|
||||
self::DICT => '字典组件',
|
||||
self::DATE_PICKER => '日期选择',
|
||||
self::UPLOAD => '文件上传',
|
||||
self::EDITOR => '富文本编辑器',
|
||||
self::ICON_PICKER => '图标选择器',
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取对应的组件名称
|
||||
*/
|
||||
public function component(): string
|
||||
{
|
||||
return match ($this) {
|
||||
self::INPUT => 'Input',
|
||||
self::INPUT_NUMBER => 'InputNumber',
|
||||
self::SELECT => 'Select',
|
||||
self::RADIO_GROUP => 'RadioGroup',
|
||||
self::CHECKBOX_GROUP => 'CheckboxGroup',
|
||||
self::API_SELECT => 'ApiSelect',
|
||||
self::API_RADIO_GROUP => 'ApiRadioGroup',
|
||||
// self::API_CHECKBOX_GROUP => 'ApiCheckboxGroup',
|
||||
self::API_TREE_SELECT => 'ApiTreeSelect',
|
||||
self::API_CASCADER => 'ApiCascader',
|
||||
self::DICT => 'ApiDict',
|
||||
self::DATE_PICKER => 'DatePicker',
|
||||
self::UPLOAD => 'Upload',
|
||||
self::EDITOR => 'Editor',
|
||||
self::ICON_PICKER => 'IconPicker',
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取对应的颜色值
|
||||
*/
|
||||
public function color(): string
|
||||
{
|
||||
return match ($this) {
|
||||
self::INPUT => '#409EFF', // 蓝色
|
||||
self::INPUT_NUMBER => '#67C23A', // 绿色
|
||||
self::SELECT => '#E6A23C', // 橙色
|
||||
self::RADIO_GROUP => '#909399', // 灰色
|
||||
self::CHECKBOX_GROUP => '#F56C6C', // 红色
|
||||
self::API_SELECT => '#C06C84', // 紫色
|
||||
self::API_RADIO_GROUP => '#6F42C1', // 深紫色
|
||||
// self::API_CHECKBOX_GROUP => '#667EEA', // 靛蓝色
|
||||
self::API_TREE_SELECT => '#3A8EE6', // 亮蓝色
|
||||
self::API_CASCADER => '#409EFF', // 蓝色
|
||||
self::DICT => '#13CE66', // 浅绿色
|
||||
self::DATE_PICKER => '#FF8C42', // 橙红色
|
||||
self::UPLOAD => '#FF4D4F', // 暗红色
|
||||
self::EDITOR => '#722ED1', // 紫红色
|
||||
self::ICON_PICKER => '#FAAD14', // 金黄色
|
||||
};
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
<?php
|
||||
declare(strict_types=1);
|
||||
/**
|
||||
*+------------------
|
||||
* madong
|
||||
*+------------------
|
||||
* Copyright (c) https://gitee.com/motion-code All rights reserved.
|
||||
*+------------------
|
||||
* Author: Mr. April (405784684@qq.com)
|
||||
*+------------------
|
||||
* Official Website: http://www.madong.tech
|
||||
*/
|
||||
|
||||
namespace app\enum\common;
|
||||
|
||||
enum LangEnum: string
|
||||
{
|
||||
case ZhCN = 'zh_CN';
|
||||
case En = 'en';
|
||||
}
|
||||
@@ -0,0 +1,130 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
*+------------------
|
||||
* madong
|
||||
*+------------------
|
||||
* Copyright (c) https://gitee.com/motion-code All rights reserved.
|
||||
*+------------------
|
||||
* Author: Mr. April (405784684@qq.com)
|
||||
*+------------------
|
||||
* Official Website: http://www.madong.tech
|
||||
*/
|
||||
|
||||
namespace app\enum\common;
|
||||
|
||||
use core\interface\IEnum;
|
||||
|
||||
enum PluginInstallEvent: string implements IEnum
|
||||
{
|
||||
/**
|
||||
* 安装开始事件
|
||||
*/
|
||||
case INSTALL_START = 'plugin-install-start';
|
||||
|
||||
/**
|
||||
* 安装检查事件
|
||||
*/
|
||||
case INSTALL_CHECK = 'plugin-install-check';
|
||||
|
||||
/**
|
||||
* 备份前端目录事件
|
||||
*/
|
||||
case BACKUP_FRONTEND = 'plugin-backup-frontend';
|
||||
|
||||
/**
|
||||
* 执行SQL事件
|
||||
*/
|
||||
case EXECUTE_SQL = 'plugin-execute-sql';
|
||||
|
||||
/**
|
||||
* 安装菜单事件
|
||||
*/
|
||||
case INSTALL_MENU = 'plugin-install-menu';
|
||||
|
||||
/**
|
||||
* 合并依赖事件
|
||||
*/
|
||||
case MERGE_DEPEND = 'plugin-merge-depend';
|
||||
|
||||
/**
|
||||
* 执行插件安装方法事件
|
||||
*/
|
||||
case EXECUTE_INSTALL_METHOD = 'plugin-execute-install-method';
|
||||
|
||||
/**
|
||||
* 安装迁移文件事件
|
||||
*/
|
||||
case INSTALL_MIGRATION_FILE = 'plugin-install-migration-file';
|
||||
|
||||
/**
|
||||
* 安装完成事件
|
||||
*/
|
||||
case INSTALL_COMPLETED = 'plugin-install-completed';
|
||||
|
||||
/**
|
||||
* 安装失败事件
|
||||
*/
|
||||
case INSTALL_FAILED = 'plugin-install-failed';
|
||||
|
||||
/**
|
||||
* 卸载开始事件
|
||||
*/
|
||||
case UNINSTALL_START = 'plugin-uninstall-start';
|
||||
|
||||
/**
|
||||
* 卸载检查事件
|
||||
*/
|
||||
case UNINSTALL_CHECK = 'plugin-uninstall-check';
|
||||
|
||||
/**
|
||||
* 执行卸载SQL事件
|
||||
*/
|
||||
case EXECUTE_UNINSTALL_SQL = 'plugin-execute-uninstall-sql';
|
||||
|
||||
/**
|
||||
* 卸载菜单事件
|
||||
*/
|
||||
case UNINSTALL_MENU = 'plugin-uninstall-menu';
|
||||
|
||||
/**
|
||||
* 执行插件卸载方法事件
|
||||
*/
|
||||
case EXECUTE_UNINSTALL_METHOD = 'plugin-execute-uninstall-method';
|
||||
|
||||
/**
|
||||
* 卸载完成事件
|
||||
*/
|
||||
case UNINSTALL_COMPLETED = 'plugin-uninstall-completed';
|
||||
|
||||
/**
|
||||
* 卸载失败事件
|
||||
*/
|
||||
case UNINSTALL_FAILED = 'plugin-uninstall-failed';
|
||||
|
||||
/**
|
||||
* 获取事件显示文本
|
||||
*/
|
||||
public function label(): string
|
||||
{
|
||||
return match ($this) {
|
||||
self::INSTALL_START => '插件安装开始',
|
||||
self::INSTALL_CHECK => '安装检查',
|
||||
self::BACKUP_FRONTEND => '备份前端目录',
|
||||
self::EXECUTE_SQL => '执行安装SQL',
|
||||
self::INSTALL_MENU => '安装菜单',
|
||||
self::MERGE_DEPEND => '合并插件依赖',
|
||||
self::EXECUTE_INSTALL_METHOD => '执行插件安装方法',
|
||||
self::INSTALL_COMPLETED => '插件安装完成',
|
||||
self::INSTALL_FAILED => '插件安装失败',
|
||||
self::INSTALL_MIGRATION_FILE => '安装迁移文件',
|
||||
self::UNINSTALL_START => '插件卸载开始',
|
||||
self::UNINSTALL_CHECK => '卸载检查',
|
||||
self::EXECUTE_UNINSTALL_SQL => '执行卸载SQL',
|
||||
self::UNINSTALL_MENU => '卸载菜单',
|
||||
self::EXECUTE_UNINSTALL_METHOD => '执行插件卸载方法',
|
||||
self::UNINSTALL_COMPLETED => '插件卸载完成',
|
||||
self::UNINSTALL_FAILED => '插件卸载失败',
|
||||
};
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,42 @@
|
||||
<?php
|
||||
declare(strict_types=1);
|
||||
/**
|
||||
*+------------------
|
||||
* madong
|
||||
*+------------------
|
||||
* Copyright (c) https://gitee.com/motion-code All rights reserved.
|
||||
*+------------------
|
||||
* Author: Mr. April (405784684@qq.com)
|
||||
*+------------------
|
||||
* Official Website: http://www.madong.tech
|
||||
*/
|
||||
|
||||
namespace app\enum\common;
|
||||
|
||||
enum YesNoStatus: int
|
||||
{
|
||||
case YES = 1;
|
||||
case NO = 0;
|
||||
|
||||
/**
|
||||
* 获取人类可读的标签
|
||||
*/
|
||||
public function label(): string
|
||||
{
|
||||
return match ($this) {
|
||||
self::YES => '是',
|
||||
self::NO => '否',
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取对应的颜色值
|
||||
*/
|
||||
public function color(): string
|
||||
{
|
||||
return match ($this) {
|
||||
self::YES => '#4CAF50', // 绿色
|
||||
self::NO => '#FF5252', // 红色
|
||||
};
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,64 @@
|
||||
<?php
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace app\enum\member;
|
||||
|
||||
use core\interface\IEnum;
|
||||
|
||||
/**
|
||||
* 账单分类枚举
|
||||
*/
|
||||
enum BillCategory: int implements IEnum
|
||||
{
|
||||
case RECHARGE = 1; // 充值
|
||||
case WITHDRAW = 2; // 提现
|
||||
case ORDER = 3; // 订单
|
||||
case REFUND = 4; // 退款
|
||||
case POINTS = 5; // 积分
|
||||
case SIGN = 6; // 签到
|
||||
case OTHER = 99; // 其他
|
||||
|
||||
/**
|
||||
* 获取文本描述
|
||||
*/
|
||||
public function text(): string
|
||||
{
|
||||
return match($this) {
|
||||
self::RECHARGE => '充值',
|
||||
self::WITHDRAW => '提现',
|
||||
self::ORDER => '订单',
|
||||
self::REFUND => '退款',
|
||||
self::POINTS => '积分',
|
||||
self::SIGN => '签到',
|
||||
self::OTHER => '其他',
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* 实现IEnum接口的label方法
|
||||
*/
|
||||
public function label(): string
|
||||
{
|
||||
return $this->text();
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取所有枚举值
|
||||
*/
|
||||
public static function all(): array
|
||||
{
|
||||
return array_column(self::cases(), 'value');
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取所有枚举映射
|
||||
*/
|
||||
public static function map(): array
|
||||
{
|
||||
$map = [];
|
||||
foreach (self::cases() as $case) {
|
||||
$map[$case->value] = $case->text();
|
||||
}
|
||||
return $map;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,56 @@
|
||||
<?php
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace app\enum\member;
|
||||
|
||||
use core\interface\IEnum;
|
||||
|
||||
/**
|
||||
* 账单状态枚举
|
||||
*/
|
||||
enum BillStatus: int implements IEnum
|
||||
{
|
||||
case PENDING = 0; // 待处理
|
||||
case SUCCESS = 1; // 成功
|
||||
case FAILED = 2; // 失败
|
||||
|
||||
/**
|
||||
* 获取文本描述
|
||||
*/
|
||||
public function text(): string
|
||||
{
|
||||
return match($this) {
|
||||
self::PENDING => '待处理',
|
||||
self::SUCCESS => '成功',
|
||||
self::FAILED => '失败',
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* 实现IEnum接口的label方法
|
||||
*/
|
||||
public function label(): string
|
||||
{
|
||||
return $this->text();
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取所有枚举值
|
||||
*/
|
||||
public static function all(): array
|
||||
{
|
||||
return array_column(self::cases(), 'value');
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取所有枚举映射
|
||||
*/
|
||||
public static function map(): array
|
||||
{
|
||||
$map = [];
|
||||
foreach (self::cases() as $case) {
|
||||
$map[$case->value] = $case->text();
|
||||
}
|
||||
return $map;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,54 @@
|
||||
<?php
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace app\enum\member;
|
||||
|
||||
use core\interface\IEnum;
|
||||
|
||||
/**
|
||||
* 账单类型枚举
|
||||
*/
|
||||
enum BillType: int implements IEnum
|
||||
{
|
||||
case INCOME = 1; // 收入
|
||||
case EXPENSE = 2; // 支出
|
||||
|
||||
/**
|
||||
* 获取文本描述
|
||||
*/
|
||||
public function text(): string
|
||||
{
|
||||
return match($this) {
|
||||
self::INCOME => '收入',
|
||||
self::EXPENSE => '支出',
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* 实现IEnum接口的label方法
|
||||
*/
|
||||
public function label(): string
|
||||
{
|
||||
return $this->text();
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取所有枚举值
|
||||
*/
|
||||
public static function all(): array
|
||||
{
|
||||
return array_column(self::cases(), 'value');
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取所有枚举映射
|
||||
*/
|
||||
public static function map(): array
|
||||
{
|
||||
$map = [];
|
||||
foreach (self::cases() as $case) {
|
||||
$map[$case->value] = $case->text();
|
||||
}
|
||||
return $map;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
<?php
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace app\enum\member;
|
||||
|
||||
|
||||
|
||||
use core\interface\IEnum;
|
||||
|
||||
/**
|
||||
* 菜单目标窗口枚举
|
||||
*/
|
||||
enum MenuTarget: int implements IEnum
|
||||
{
|
||||
|
||||
/**
|
||||
* 当前窗口
|
||||
*/
|
||||
case SELF = 1;
|
||||
|
||||
/**
|
||||
* 新窗口
|
||||
*/
|
||||
case BLANK = 2;
|
||||
|
||||
/**
|
||||
* 获取枚举文本
|
||||
*/
|
||||
public function label(): string
|
||||
{
|
||||
return match ($this) {
|
||||
self::SELF => '当前窗口',
|
||||
self::BLANK => '新窗口',
|
||||
};
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
<?php
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace app\enum\member;
|
||||
|
||||
|
||||
|
||||
use core\interface\IEnum;
|
||||
|
||||
/**
|
||||
* 菜单类型枚举
|
||||
*/
|
||||
enum MenuType: int implements IEnum
|
||||
{
|
||||
|
||||
/**
|
||||
* 普通菜单
|
||||
*/
|
||||
case NORMAL = 1;
|
||||
|
||||
/**
|
||||
* 开通菜单
|
||||
*/
|
||||
case OPEN = 2;
|
||||
|
||||
/**
|
||||
* 获取枚举文本
|
||||
*/
|
||||
public function label(): string
|
||||
{
|
||||
return match ($this) {
|
||||
self::NORMAL => '普通菜单',
|
||||
self::OPEN => '开通菜单',
|
||||
};
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,70 @@
|
||||
<?php
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace app\enum\member;
|
||||
|
||||
use core\interface\IEnum;
|
||||
|
||||
/**
|
||||
* 会员积分来源枚举
|
||||
*/
|
||||
enum PointSource: string implements IEnum
|
||||
{
|
||||
case SIGN_IN = 'sign_in'; // 签到
|
||||
case SHOPPING = 'shopping'; // 购物
|
||||
case EXCHANGE = 'exchange'; // 兑换
|
||||
case INVITE = 'invite'; // 邀请
|
||||
case REGISTER = 'register'; // 注册
|
||||
case ACTIVITY = 'activity'; // 活动
|
||||
case EXPIRED = 'expired'; // 过期
|
||||
case PENALTY = 'penalty'; // 处罚
|
||||
case ADMIN = 'admin'; // 后台调整
|
||||
case OTHER = 'other'; // 其他
|
||||
|
||||
/**
|
||||
* 获取文本描述
|
||||
*/
|
||||
public function text(): string
|
||||
{
|
||||
return match($this) {
|
||||
self::SIGN_IN => '签到',
|
||||
self::SHOPPING => '购物',
|
||||
self::EXCHANGE => '兑换',
|
||||
self::INVITE => '邀请',
|
||||
self::REGISTER => '注册',
|
||||
self::ACTIVITY => '活动',
|
||||
self::EXPIRED => '过期',
|
||||
self::PENALTY => '处罚',
|
||||
self::ADMIN => '后台调整',
|
||||
self::OTHER => '其他',
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* 实现IEnum接口的label方法
|
||||
*/
|
||||
public function label(): string
|
||||
{
|
||||
return $this->text();
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取所有枚举值
|
||||
*/
|
||||
public static function all(): array
|
||||
{
|
||||
return array_column(self::cases(), 'value');
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取所有枚举映射
|
||||
*/
|
||||
public static function map(): array
|
||||
{
|
||||
$map = [];
|
||||
foreach (self::cases() as $case) {
|
||||
$map[$case->value] = $case->text();
|
||||
}
|
||||
return $map;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,56 @@
|
||||
<?php
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace app\enum\member;
|
||||
|
||||
use core\interface\IEnum;
|
||||
|
||||
/**
|
||||
* 会员积分类型枚举
|
||||
*/
|
||||
enum PointType: int implements IEnum
|
||||
{
|
||||
case INCREASE = 1; // 增加
|
||||
case DECREASE = 2; // 减少
|
||||
case ADJUST = 3; // 调整
|
||||
|
||||
/**
|
||||
* 获取文本描述
|
||||
*/
|
||||
public function text(): string
|
||||
{
|
||||
return match($this) {
|
||||
self::INCREASE => '增加',
|
||||
self::DECREASE => '减少',
|
||||
self::ADJUST => '调整',
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* 实现IEnum接口的label方法
|
||||
*/
|
||||
public function label(): string
|
||||
{
|
||||
return $this->text();
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取所有枚举值
|
||||
*/
|
||||
public static function all(): array
|
||||
{
|
||||
return array_column(self::cases(), 'value');
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取所有枚举映射
|
||||
*/
|
||||
public static function map(): array
|
||||
{
|
||||
$map = [];
|
||||
foreach (self::cases() as $case) {
|
||||
$map[$case->value] = $case->text();
|
||||
}
|
||||
return $map;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,58 @@
|
||||
<?php
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace app\enum\member;
|
||||
|
||||
use core\interface\IEnum;
|
||||
|
||||
/**
|
||||
* 会员第三方平台枚举
|
||||
*/
|
||||
enum ThirdPartyPlatform: int implements IEnum
|
||||
{
|
||||
case QQ = 1; // QQ
|
||||
case WECHAT = 2; // 微信
|
||||
case WEIBO = 3; // 微博
|
||||
case DOUYIN = 4; // 抖音
|
||||
|
||||
/**
|
||||
* 获取文本描述
|
||||
*/
|
||||
public function text(): string
|
||||
{
|
||||
return match($this) {
|
||||
self::QQ => 'QQ',
|
||||
self::WECHAT => '微信',
|
||||
self::WEIBO => '微博',
|
||||
self::DOUYIN => '抖音',
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* 实现IEnum接口的label方法
|
||||
*/
|
||||
public function label(): string
|
||||
{
|
||||
return $this->text();
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取所有枚举值
|
||||
*/
|
||||
public static function all(): array
|
||||
{
|
||||
return array_column(self::cases(), 'value');
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取所有枚举映射
|
||||
*/
|
||||
public static function map(): array
|
||||
{
|
||||
$map = [];
|
||||
foreach (self::cases() as $case) {
|
||||
$map[$case->value] = $case->text();
|
||||
}
|
||||
return $map;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,54 @@
|
||||
<?php
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace app\enum\member;
|
||||
|
||||
use core\interface\IEnum;
|
||||
|
||||
/**
|
||||
* 会员第三方状态枚举
|
||||
*/
|
||||
enum ThirdPartyStatus: int implements IEnum
|
||||
{
|
||||
case DISABLED = 0; // 禁用
|
||||
case ENABLED = 1; // 启用
|
||||
|
||||
/**
|
||||
* 获取文本描述
|
||||
*/
|
||||
public function text(): string
|
||||
{
|
||||
return match($this) {
|
||||
self::DISABLED => '禁用',
|
||||
self::ENABLED => '启用',
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* 实现IEnum接口的label方法
|
||||
*/
|
||||
public function label(): string
|
||||
{
|
||||
return $this->text();
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取所有枚举值
|
||||
*/
|
||||
public static function all(): array
|
||||
{
|
||||
return array_column(self::cases(), 'value');
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取所有枚举映射
|
||||
*/
|
||||
public static function map(): array
|
||||
{
|
||||
$map = [];
|
||||
foreach (self::cases() as $case) {
|
||||
$map[$case->value] = $case->text();
|
||||
}
|
||||
return $map;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,42 @@
|
||||
<?php
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace app\enum\member;
|
||||
|
||||
|
||||
|
||||
use core\interface\IEnum;
|
||||
|
||||
/**
|
||||
* 提现账号类型枚举
|
||||
*/
|
||||
enum WithdrawAccountType: int implements IEnum
|
||||
{
|
||||
|
||||
/**
|
||||
* 银行卡
|
||||
*/
|
||||
case BANK = 1;
|
||||
|
||||
/**
|
||||
* 支付宝
|
||||
*/
|
||||
case ALIPAY = 2;
|
||||
|
||||
/**
|
||||
* 微信
|
||||
*/
|
||||
case WECHAT = 3;
|
||||
|
||||
/**
|
||||
* 获取枚举文本
|
||||
*/
|
||||
public function label(): string
|
||||
{
|
||||
return match ($this) {
|
||||
self::BANK => '银行卡',
|
||||
self::ALIPAY => '支付宝',
|
||||
self::WECHAT => '微信',
|
||||
};
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,45 @@
|
||||
<?php
|
||||
/**
|
||||
*+------------------
|
||||
* madong
|
||||
*+------------------
|
||||
* Copyright (c) https://gitee.com/motion-code All rights reserved.
|
||||
*+------------------
|
||||
* Author: Mr. April (405784684@qq.com)
|
||||
*+------------------
|
||||
* Official Website: http://www.madong.tech
|
||||
*/
|
||||
|
||||
namespace app\enum\plugin;
|
||||
|
||||
enum FrontendType: string
|
||||
{
|
||||
case WEB = 'web';
|
||||
case ADMIN = 'admin';
|
||||
case MOBILE = 'mobile';
|
||||
case H5 = 'h5';
|
||||
case DESKTOP = 'desktop';
|
||||
|
||||
/**
|
||||
* 获取相对路径模板(含一个插件名占位符)
|
||||
* 注意:路径是相对于项目根目录(backend 的父目录)
|
||||
*/
|
||||
public function pathTemplate(): string
|
||||
{
|
||||
return match($this) {
|
||||
self::WEB => 'frontend/web/app/apps/%s',
|
||||
self::ADMIN => 'frontend/admin/src/apps/%s',
|
||||
self::MOBILE => 'frontend/mobile/src/apps/%s',
|
||||
self::H5 => 'frontend/h5/public/apps/%s',
|
||||
self::DESKTOP => 'frontend/desktop/build/apps/%s',
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* 检查是否为已知类型
|
||||
*/
|
||||
public static function isKnownType(string $type): bool
|
||||
{
|
||||
return in_array($type, array_column(self::cases(), 'value'), true);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,84 @@
|
||||
<?php
|
||||
declare(strict_types=1);
|
||||
/**
|
||||
*+------------------
|
||||
* madong
|
||||
*+------------------
|
||||
* Copyright (c) https://gitee.com/motion-code All rights reserved.
|
||||
*+------------------
|
||||
* Author: Mr. April (405784684@qq.com)
|
||||
*+------------------
|
||||
* Official Website: http://www.madong.tech
|
||||
*/
|
||||
|
||||
namespace app\enum\review;
|
||||
|
||||
use core\interface\IEnum;
|
||||
|
||||
/**
|
||||
* 审核状态枚举
|
||||
*/
|
||||
enum ReviewStatus: int implements IEnum
|
||||
{
|
||||
case PENDING = 0; // 待审核
|
||||
case APPROVED = 1; // 已通过
|
||||
case REJECTED = 2; // 已拒绝
|
||||
case CANCELED = 3; // 已取消
|
||||
|
||||
/**
|
||||
* 获取人类可读的标签
|
||||
*/
|
||||
public function label(): string
|
||||
{
|
||||
return match ($this) {
|
||||
self::PENDING => '待审核',
|
||||
self::APPROVED => '已通过',
|
||||
self::REJECTED => '已拒绝',
|
||||
self::CANCELED => '已取消',
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取对应的颜色值
|
||||
*/
|
||||
public function color(): string
|
||||
{
|
||||
return match ($this) {
|
||||
self::PENDING => '#FF9800', // 橙色
|
||||
self::APPROVED => '#4CAF50', // 绿色
|
||||
self::REJECTED => '#FF5252', // 红色
|
||||
self::CANCELED => '#9E9E9E', // 灰色
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据状态值获取标签
|
||||
*/
|
||||
public static function getLabel(int $value): string
|
||||
{
|
||||
return self::tryFrom($value)?->label() ?? '未知';
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据状态值获取颜色
|
||||
*/
|
||||
public static function getColor(int $value): string
|
||||
{
|
||||
return self::tryFrom($value)?->color() ?? '#9E9E9E';
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取所有状态选项(用于下拉框等)
|
||||
*/
|
||||
public static function options(): array
|
||||
{
|
||||
return array_map(
|
||||
fn(self $status) => [
|
||||
'value' => $status->value,
|
||||
'label' => $status->label(),
|
||||
'color' => $status->color(),
|
||||
],
|
||||
self::cases()
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,55 @@
|
||||
<?php
|
||||
declare(strict_types=1);
|
||||
/**
|
||||
*+------------------
|
||||
* madong
|
||||
*+------------------
|
||||
* Copyright (c) https://gitee.com/motion-code All rights reserved.
|
||||
*+------------------
|
||||
* Author: Mr. April (405784684@qq.com)
|
||||
*+------------------
|
||||
* Official Website: http://www.madong.tech
|
||||
*/
|
||||
|
||||
namespace app\enum\system;
|
||||
|
||||
use core\interface\IEnum;
|
||||
|
||||
/**
|
||||
* 业务终端枚举
|
||||
*/
|
||||
enum BusinessPlatform: string implements IEnum
|
||||
{
|
||||
case ADMIN = 'admin'; // 管理后台
|
||||
case WEB = 'web'; // Web网站
|
||||
case API = 'api'; // API服务
|
||||
case MOBILE = 'mobile'; // 移动端
|
||||
|
||||
/**
|
||||
* 获取终端描述
|
||||
*/
|
||||
public function label(): string
|
||||
{
|
||||
return match ($this) {
|
||||
self::ADMIN => '管理后台',
|
||||
self::WEB => 'Web网站',
|
||||
self::API => 'API服务',
|
||||
self::MOBILE => '移动端',
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取颜色标识
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function color(): string
|
||||
{
|
||||
return match ($this) {
|
||||
self::ADMIN => 'blue',
|
||||
self::WEB => 'pink',
|
||||
self::API => 'cyan',
|
||||
self::MOBILE => 'purple',
|
||||
};
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,42 @@
|
||||
<?php
|
||||
declare(strict_types=1);
|
||||
/**
|
||||
*+------------------
|
||||
* madong
|
||||
*+------------------
|
||||
* Copyright (c) https://gitee.com/motion-code All rights reserved.
|
||||
*+------------------
|
||||
* Author: Mr. April (405784684@qq.com)
|
||||
*+------------------
|
||||
* Official Website: http://www.madong.tech
|
||||
*/
|
||||
|
||||
namespace app\enum\system;
|
||||
|
||||
enum CloudStorage: string
|
||||
{
|
||||
|
||||
case LOCAL = 'local';
|
||||
case OSS = 'oss';
|
||||
case COS = 'cos';
|
||||
case QINIU = 'qiniu';
|
||||
case S3 = 's3';
|
||||
|
||||
/**
|
||||
* 获取人类可读标签
|
||||
*
|
||||
* @param bool $english 是否返回英文标签
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function label(bool $english = false): string
|
||||
{
|
||||
return match ($this) {
|
||||
self::LOCAL => '私有云(本地)',
|
||||
self::OSS => '阿里云',
|
||||
self::COS => '腾讯云',
|
||||
self::QINIU => '七牛云',
|
||||
self::S3 => '亚马逊(S3)',
|
||||
};
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,54 @@
|
||||
<?php
|
||||
declare(strict_types=1);
|
||||
/**
|
||||
*+------------------
|
||||
* madong
|
||||
*+------------------
|
||||
* Copyright (c) https://gitee.com/motion-code All rights reserved.
|
||||
*+------------------
|
||||
* Author: Mr. April (405784684@qq.com)
|
||||
*+------------------
|
||||
* Official Website: https://madong.tech
|
||||
*/
|
||||
|
||||
namespace app\enum\system;
|
||||
|
||||
enum DataPermission: int
|
||||
{
|
||||
// 基础权限类型
|
||||
case ALL = 1;
|
||||
case CUSTOM = 2;
|
||||
case CURRENT_DEPT = 3;
|
||||
case CURRENT_DEPT_WITH_CHILDREN = 4;
|
||||
case SELF = 5;
|
||||
case HYBRID = 6;
|
||||
|
||||
/**
|
||||
*
|
||||
* 获取人类可读的标签
|
||||
*/
|
||||
public function label(): string
|
||||
{
|
||||
return match ($this) {
|
||||
self::ALL => '全部数据权限',
|
||||
self::CUSTOM => '自定义数据权限',
|
||||
self::CURRENT_DEPT => '本部门数据权限',
|
||||
self::CURRENT_DEPT_WITH_CHILDREN => '本部门及以下数据权限',
|
||||
self::SELF => '本人数据权限',
|
||||
self::HYBRID => '部门及以下或本人数据权限'
|
||||
};
|
||||
}
|
||||
|
||||
// 颜色映射(兼容Ant Design色系)
|
||||
public function color(): string
|
||||
{
|
||||
return match ($this) {
|
||||
self::ALL => 'green',
|
||||
self::CUSTOM => 'default',
|
||||
self::CURRENT_DEPT => 'orange',
|
||||
self::CURRENT_DEPT_WITH_CHILDREN => 'cyan',
|
||||
self::SELF => 'error',
|
||||
self::HYBRID => 'default'
|
||||
};
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
<?php
|
||||
declare(strict_types=1);
|
||||
/**
|
||||
*+------------------
|
||||
* madong
|
||||
*+------------------
|
||||
* Copyright (c) https://gitee.com/motion-code All rights reserved.
|
||||
*+------------------
|
||||
* Author: Mr. April (405784684@qq.com)
|
||||
*+------------------
|
||||
* Official Website: http://www.madong.tech
|
||||
*/
|
||||
|
||||
namespace app\enum\system;
|
||||
|
||||
use core\interface\IEnum;
|
||||
|
||||
enum DbType: string implements IEnum
|
||||
{
|
||||
case MYSQL = 'mysql';
|
||||
case PGSQL = 'pgsql';
|
||||
case SQLITE = 'sqlite';
|
||||
case SQL_SERVER = 'sqlsrv';
|
||||
case ORACLE = 'oci';
|
||||
|
||||
public function label(): string
|
||||
{
|
||||
return match($this) {
|
||||
self::MYSQL => 'mysql',
|
||||
self::PGSQL => 'pgsql',
|
||||
self::SQLITE => 'sqlite',
|
||||
self::SQL_SERVER => 'sqlsrv',
|
||||
self::ORACLE => 'oci',
|
||||
};
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,37 @@
|
||||
<?php
|
||||
declare(strict_types=1);
|
||||
/**
|
||||
*+------------------
|
||||
* madong
|
||||
*+------------------
|
||||
* Copyright (c) https://gitee.com/motion-code All rights reserved.
|
||||
*+------------------
|
||||
* Author: Mr. April (405784684@qq.com)
|
||||
*+------------------
|
||||
* Official Website: http://www.madong.tech
|
||||
*/
|
||||
|
||||
namespace app\enum\system;
|
||||
|
||||
use core\interface\IEnum;
|
||||
|
||||
/**
|
||||
* 字典数据类型枚举
|
||||
*
|
||||
* @author Mr.April
|
||||
* @since 1.0
|
||||
*/
|
||||
enum DictDataType:int implements IEnum
|
||||
{
|
||||
|
||||
case STRING=1;
|
||||
case INTEGER=2;
|
||||
|
||||
public function label(): string
|
||||
{
|
||||
return match($this) {
|
||||
self::STRING => '字符串',
|
||||
self::INTEGER => '整型',
|
||||
};
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,44 @@
|
||||
<?php
|
||||
declare(strict_types=1);
|
||||
/**
|
||||
*+------------------
|
||||
* madong
|
||||
*+------------------
|
||||
* Copyright (c) https://gitee.com/motion-code All rights reserved.
|
||||
*+------------------
|
||||
* Author: Mr. April (405784684@qq.com)
|
||||
*+------------------
|
||||
* Official Website: http://www.madong.tech
|
||||
*/
|
||||
|
||||
namespace app\enum\system;
|
||||
|
||||
use core\interface\IEnum;
|
||||
|
||||
enum LockedStatus: int implements IEnum
|
||||
{
|
||||
case LOCKED = 1; // 锁定状态
|
||||
case UNLOCKED = 0; // 未锁定状态
|
||||
|
||||
/**
|
||||
* 获取人类可读的标签
|
||||
*/
|
||||
public function label(): string
|
||||
{
|
||||
return match ($this) {
|
||||
self::LOCKED => '是', // 锁定状态显示"是"
|
||||
self::UNLOCKED => '否', // 未锁定状态显示"否"
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取对应的颜色值
|
||||
*/
|
||||
public function color(): string
|
||||
{
|
||||
return match ($this) {
|
||||
self::LOCKED => '#FF5252', // 锁定状态显示红色
|
||||
self::UNLOCKED => '#4CAF50',// 未锁定状态显示绿色
|
||||
};
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
<?php
|
||||
declare(strict_types=1);
|
||||
/**
|
||||
*+------------------
|
||||
* madong
|
||||
*+------------------
|
||||
* Copyright (c) https://gitee.com/motion-code All rights reserved.
|
||||
*+------------------
|
||||
* Author: Mr. April (405784684@qq.com)
|
||||
*+------------------
|
||||
* Official Website: http://www.madong.tech
|
||||
*/
|
||||
|
||||
namespace app\enum\system;
|
||||
|
||||
use core\interface\IEnum;
|
||||
|
||||
enum MenuOpenType:int implements IEnum
|
||||
{
|
||||
|
||||
case NONE = 0; // 无
|
||||
case COMPONENT = 1; // 组件
|
||||
case INTERNAL_LINK = 2; // 内链
|
||||
case EXTERNAL_LINK = 3; // 外链
|
||||
|
||||
|
||||
public function label(): string
|
||||
{
|
||||
return match($this) {
|
||||
self::NONE => '无',
|
||||
self::COMPONENT => '组件',
|
||||
self::INTERNAL_LINK => '内链',
|
||||
self::EXTERNAL_LINK => '外链',
|
||||
};
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,75 @@
|
||||
<?php
|
||||
declare(strict_types=1);
|
||||
/**
|
||||
*+------------------
|
||||
* madong
|
||||
*+------------------
|
||||
* Copyright (c) https://gitee.com/motion-code All rights reserved.
|
||||
*+------------------
|
||||
* Author: Mr. April (405784684@qq.com)
|
||||
*+------------------
|
||||
* Official Website: http://www.madong.tech
|
||||
*/
|
||||
|
||||
namespace app\enum\system;
|
||||
|
||||
/**
|
||||
* 菜单源类型
|
||||
*
|
||||
* @author Mr.April
|
||||
* @since 1.0
|
||||
*/
|
||||
enum MenuSource: string
|
||||
{
|
||||
case SYSTEM = 'system';
|
||||
case AUTO_GENERATE = 'auto_generate';
|
||||
|
||||
/**
|
||||
* 转换为可读类型名称
|
||||
* @return string
|
||||
*/
|
||||
public function label(): string
|
||||
{
|
||||
return match($this) {
|
||||
self::SYSTEM => '系统菜单',
|
||||
self::AUTO_GENERATE => '自动生成',
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取颜色标识
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function color(): string
|
||||
{
|
||||
return match ($this) {
|
||||
self::SYSTEM => 'blue',
|
||||
self::AUTO_GENERATE => 'green',
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取所有枚举值
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public static function values(): array
|
||||
{
|
||||
return array_column(self::cases(), 'value');
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取所有枚举标签
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public static function labels(): array
|
||||
{
|
||||
$labels = [];
|
||||
foreach (self::cases() as $case) {
|
||||
$labels[$case->value] = $case->label();
|
||||
}
|
||||
return $labels;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,59 @@
|
||||
<?php
|
||||
declare(strict_types=1);
|
||||
/**
|
||||
*+------------------
|
||||
* madong
|
||||
*+------------------
|
||||
* Copyright (c) https://gitee.com/motion-code All rights reserved.
|
||||
*+------------------
|
||||
* Author: Mr. April (405784684@qq.com)
|
||||
*+------------------
|
||||
* Official Website: http://www.madong.tech
|
||||
*/
|
||||
|
||||
namespace app\enum\system;
|
||||
|
||||
/**
|
||||
* 菜单类型
|
||||
*
|
||||
* @author Mr.April
|
||||
* @since 1.0
|
||||
*/
|
||||
enum MenuType: int
|
||||
{
|
||||
case CATALOG = 1;
|
||||
case MENU = 2;
|
||||
case BUTTON = 3;
|
||||
case API = 4;
|
||||
|
||||
/**
|
||||
* 转换为可读类型名称
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function label(): string
|
||||
{
|
||||
return match ($this) {
|
||||
self::CATALOG => '目录',
|
||||
self::MENU => '菜单',
|
||||
self::BUTTON => '按钮',
|
||||
self::API => '接口',
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取颜色标识
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function color(): string
|
||||
{
|
||||
return match ($this) {
|
||||
self::CATALOG => 'blue',
|
||||
self::MENU => 'pink',
|
||||
self::BUTTON => 'cyan',
|
||||
self::API => 'purple',
|
||||
};
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
<?php
|
||||
declare(strict_types=1);
|
||||
/**
|
||||
*+------------------
|
||||
* madong
|
||||
*+------------------
|
||||
* Copyright (c) https://gitee.com/motion-code All rights reserved.
|
||||
*+------------------
|
||||
* Author: Mr. April (405784684@qq.com)
|
||||
*+------------------
|
||||
* Official Website: http://www.madong.tech
|
||||
*/
|
||||
|
||||
namespace app\enum\system;
|
||||
|
||||
use core\interface\IEnum;
|
||||
|
||||
/**
|
||||
* 消息事件-枚举
|
||||
*
|
||||
* @author Mr.April
|
||||
* @since 1.0
|
||||
*/
|
||||
enum MessageEvent: string implements IEnum
|
||||
{
|
||||
case DEFAULT = 'message';
|
||||
|
||||
public function label(): string
|
||||
{
|
||||
return match ($this) {
|
||||
self::DEFAULT => '默认',
|
||||
};
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,42 @@
|
||||
<?php
|
||||
declare(strict_types=1);
|
||||
/**
|
||||
*+------------------
|
||||
* madong
|
||||
*+------------------
|
||||
* Copyright (c) https://gitee.com/motion-code All rights reserved.
|
||||
*+------------------
|
||||
* Author: Mr. April (405784684@qq.com)
|
||||
*+------------------
|
||||
* Official Website: http://www.madong.tech
|
||||
*/
|
||||
|
||||
namespace app\enum\system;
|
||||
|
||||
enum MessagePriority: int
|
||||
{
|
||||
case EMERGENCY = 1; // 紧急 - 最高优先级
|
||||
case URGENT = 2; // 急迫
|
||||
case NORMAL = 3; // 普通 - 默认优先级
|
||||
|
||||
//定义一个方法以获取状态的描述
|
||||
public function label(): string
|
||||
{
|
||||
return match ($this) {
|
||||
self::EMERGENCY => '紧急',
|
||||
self::URGENT => '急迫',
|
||||
self::NORMAL => '普通'
|
||||
};
|
||||
}
|
||||
|
||||
//定义一个方法设置标签颜色-如果没有定义自动生成
|
||||
public function color(): string
|
||||
{
|
||||
return match ($this) {
|
||||
self::EMERGENCY => 'red',
|
||||
self::URGENT => 'orange',
|
||||
self::NORMAL => 'blue'
|
||||
};
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
<?php
|
||||
declare(strict_types=1);
|
||||
/**
|
||||
*+------------------
|
||||
* madong
|
||||
*+------------------
|
||||
* Copyright (c) https://gitee.com/motion-code All rights reserved.
|
||||
*+------------------
|
||||
* Author: Mr. April (405784684@qq.com)
|
||||
*+------------------
|
||||
* Official Website: http://www.madong.tech
|
||||
*/
|
||||
|
||||
namespace app\enum\system;
|
||||
|
||||
enum MessageStatus: string
|
||||
{
|
||||
|
||||
case UNREAD = 'unread';
|
||||
case READ = 'read';
|
||||
|
||||
//定义一个方法以获取状态的描述
|
||||
public function label(): string
|
||||
{
|
||||
return match ($this) {
|
||||
self::UNREAD => '未读',
|
||||
self::READ => '已读',
|
||||
};
|
||||
}
|
||||
|
||||
// 设置标签颜色
|
||||
public function color(): string
|
||||
{
|
||||
return match ($this) {
|
||||
self::UNREAD => 'orange',
|
||||
self::READ => 'green',
|
||||
};
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,50 @@
|
||||
<?php
|
||||
declare(strict_types=1);
|
||||
/**
|
||||
*+------------------
|
||||
* madong
|
||||
*+------------------
|
||||
* Copyright (c) https://gitee.com/motion-code All rights reserved.
|
||||
*+------------------
|
||||
* Author: Mr. April (405784684@qq.com)
|
||||
*+------------------
|
||||
* Official Website: http://www.madong.tech
|
||||
*/
|
||||
|
||||
namespace app\enum\system;
|
||||
|
||||
enum MessageType: int
|
||||
{
|
||||
case SYSTEM_MESSAGE = 1;//系统消息
|
||||
case ANNOUNCEMENT = 2;//公告
|
||||
case OPERATION_LOG = 3;//操作日志
|
||||
case WARNING = 4;//警告
|
||||
case USER_PRIVATE_MESSAGE = 5;//用户私信
|
||||
case WORKFLOW_MESSAGE = 6;//工作流消息
|
||||
|
||||
// 定义一个方法以获取状态的描述
|
||||
public function label(): string
|
||||
{
|
||||
return match ($this) {
|
||||
self::SYSTEM_MESSAGE => '系统',
|
||||
self::ANNOUNCEMENT => '公告',
|
||||
self::OPERATION_LOG => '操作日志',
|
||||
self::WARNING => '警告',
|
||||
self::USER_PRIVATE_MESSAGE => '私信',
|
||||
self::WORKFLOW_MESSAGE => '工作流',
|
||||
};
|
||||
}
|
||||
|
||||
// 设置标签颜色
|
||||
public function color(): string
|
||||
{
|
||||
return match ($this) {
|
||||
self::SYSTEM_MESSAGE => 'blue', // 系统消息
|
||||
self::ANNOUNCEMENT => 'green', // 公告
|
||||
self::OPERATION_LOG => 'grey', // 操作日志
|
||||
self::WARNING => 'orange', // 警告
|
||||
self::USER_PRIVATE_MESSAGE => 'purple', // 私信
|
||||
self::WORKFLOW_MESSAGE => 'cyan', // 工作流
|
||||
};
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,41 @@
|
||||
<?php
|
||||
declare(strict_types=1);
|
||||
/**
|
||||
*+------------------
|
||||
* madong
|
||||
*+------------------
|
||||
* Copyright (c) https://gitee.com/motion-code All rights reserved.
|
||||
*+------------------
|
||||
* Author: Mr. April (405784684@qq.com)
|
||||
*+------------------
|
||||
* Official Website: http://www.madong.tech
|
||||
*/
|
||||
|
||||
namespace app\enum\system;
|
||||
|
||||
enum NoticeType: string
|
||||
{
|
||||
|
||||
case ANNOUNCEMENT = 'announcement';
|
||||
case NOTICE = 'notice';
|
||||
|
||||
|
||||
|
||||
//定义一个方法以获取状态的描述
|
||||
public function label(): string
|
||||
{
|
||||
return match ($this) {
|
||||
self::ANNOUNCEMENT => '公告',
|
||||
self::NOTICE => '通知',
|
||||
};
|
||||
}
|
||||
|
||||
// 设置标签颜色
|
||||
public function color(): string
|
||||
{
|
||||
return match ($this) {
|
||||
self::ANNOUNCEMENT => '#2196F3',
|
||||
self::NOTICE => '#4CAF50',
|
||||
};
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,42 @@
|
||||
<?php
|
||||
declare(strict_types=1);
|
||||
/**
|
||||
*+------------------
|
||||
* madong
|
||||
*+------------------
|
||||
* Copyright (c) https://gitee.com/motion-code All rights reserved.
|
||||
*+------------------
|
||||
* Author: Mr. April (405784684@qq.com)
|
||||
*+------------------
|
||||
* Official Website: https://madong.tech
|
||||
*/
|
||||
|
||||
namespace app\enum\system;
|
||||
|
||||
/**
|
||||
*
|
||||
* 操作结果枚举
|
||||
* @author Mr.April
|
||||
* @since 1.0
|
||||
*/
|
||||
enum OperationResult:int
|
||||
{
|
||||
case SUCCESS = 0;
|
||||
case FAILURE = -1;
|
||||
|
||||
public function label(): string
|
||||
{
|
||||
return match($this) {
|
||||
self::SUCCESS => '成功',
|
||||
self::FAILURE => '失败'
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
public function color():string{
|
||||
return match($this) {
|
||||
self::SUCCESS => 'success',
|
||||
self::FAILURE => 'error'
|
||||
};
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,60 @@
|
||||
<?php
|
||||
declare(strict_types=1);
|
||||
/**
|
||||
*+------------------
|
||||
* madong
|
||||
*+------------------
|
||||
* Copyright (c) https://gitee.com/motion-code All rights reserved.
|
||||
*+------------------
|
||||
* Author: Mr. April (405784684@qq.com)
|
||||
*+------------------
|
||||
* Official Website: https://madong.tech
|
||||
*/
|
||||
|
||||
namespace app\enum\system;
|
||||
|
||||
use core\interface\IEnum;
|
||||
|
||||
/**
|
||||
* Casbin 策略前缀
|
||||
*
|
||||
* @author Mr.April
|
||||
* @since 1.0
|
||||
*/
|
||||
enum PolicyPrefix: string implements IEnum
|
||||
{
|
||||
|
||||
// 核心权限类型
|
||||
case ROLE = 'role:'; // 角色权限 例: role:admin
|
||||
case SUBSCRIPTION = 'sub:'; // 租户订阅套餐权限 例: sub:enterprise
|
||||
case TENANT_PACKAGE = 'tenant_pkg:'; // 租户专属套餐 例: tenant_pkg:basic
|
||||
case TIER = 'tier:'; // 套餐等级权限 例: tier:gold
|
||||
case DEV = 'dev:'; // 开发相关权限 例: dev:crontab
|
||||
|
||||
// 特殊权限类型
|
||||
case DOMAIN = 'domain:'; // 租户域标识 例: domain:1
|
||||
case USER = 'user:'; // 用户直接权限 例: user:1001
|
||||
|
||||
case MENU = "menu:";
|
||||
case ROUTE = "route:";
|
||||
case BUTTON = "button:";
|
||||
|
||||
/**
|
||||
* 获取人类可读的标签
|
||||
*/
|
||||
public function label(): string
|
||||
{
|
||||
return match ($this) {
|
||||
self::ROLE => '角色权限',
|
||||
self::SUBSCRIPTION => '租户订阅套餐权限',
|
||||
self::TENANT_PACKAGE => '租户专属套餐',
|
||||
self::TIER => '套餐等级权限',
|
||||
self::DEV => '开发相关权限',
|
||||
self::DOMAIN => '租户域标识',
|
||||
self::USER => '用户直接权限',
|
||||
self::MENU => '菜单资源标识',
|
||||
self::ROUTE => '路由资源标识',
|
||||
self::BUTTON => '按钮资源标识'
|
||||
};
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,41 @@
|
||||
<?php
|
||||
declare(strict_types=1);
|
||||
/**
|
||||
*+------------------
|
||||
* madong
|
||||
*+------------------
|
||||
* Copyright (c) https://gitee.com/motion-code All rights reserved.
|
||||
*+------------------
|
||||
* Author: Mr. April (405784684@qq.com)
|
||||
*+------------------
|
||||
* Official Website: http://www.madong.tech
|
||||
*/
|
||||
|
||||
namespace app\enum\system;
|
||||
|
||||
use core\interface\IEnum;
|
||||
|
||||
/**
|
||||
* HTTP请求方式枚举
|
||||
*
|
||||
* @author Mr.April
|
||||
* @since 1.0
|
||||
*/
|
||||
enum RequestMethod: string implements IEnum
|
||||
{
|
||||
|
||||
case GET = 'GET'; // HTTP GET方法
|
||||
case POST = 'POST'; // HTTP POST方法
|
||||
case PUT = 'PUT'; // HTTP PUT方法
|
||||
case DELETE = 'DELETE'; // HTTP DELETE方法
|
||||
|
||||
public function label(): string
|
||||
{
|
||||
return match ($this) {
|
||||
self::GET => 'GET',
|
||||
self::POST => 'POST',
|
||||
self::PUT => 'PUT',
|
||||
self::DELETE => 'DELETE',
|
||||
};
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
<?php
|
||||
declare(strict_types=1);
|
||||
/**
|
||||
*+------------------
|
||||
* madong
|
||||
*+------------------
|
||||
* Copyright (c) https://gitee.com/motion-code All rights reserved.
|
||||
*+------------------
|
||||
* Author: Mr. April (405784684@qq.com)
|
||||
*+------------------
|
||||
* Official Website: http://www.madong.tech
|
||||
*/
|
||||
|
||||
namespace app\enum\system;
|
||||
|
||||
use core\interface\IEnum;
|
||||
|
||||
/**
|
||||
* 角色类型枚举
|
||||
*
|
||||
* @author Mr.April
|
||||
* @since 1.0
|
||||
*/
|
||||
enum RoleType :int implements IEnum
|
||||
{
|
||||
|
||||
// 枚举成员定义
|
||||
case NORMAL = 1;
|
||||
case DATA = 2;
|
||||
|
||||
public function label(): string
|
||||
{
|
||||
return match ($this){
|
||||
self::NORMAL=>'普通角色',
|
||||
self::DATA=>'数据角色',
|
||||
};
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,40 @@
|
||||
<?php
|
||||
declare(strict_types=1);
|
||||
/**
|
||||
*+------------------
|
||||
* madong
|
||||
*+------------------
|
||||
* Copyright (c) https://gitee.com/motion-code All rights reserved.
|
||||
*+------------------
|
||||
* Author: Mr. April (405784684@qq.com)
|
||||
*+------------------
|
||||
* Official Website: http://www.madong.tech
|
||||
*/
|
||||
|
||||
namespace app\enum\system;
|
||||
|
||||
use core\interface\IEnum;
|
||||
|
||||
/**
|
||||
* 性别枚举
|
||||
* 对应数据字典 sex
|
||||
*
|
||||
* @author Mr.April
|
||||
* @since 1.0
|
||||
*/
|
||||
enum Sex: int implements IEnum
|
||||
{
|
||||
|
||||
case MALE = 1; // 男
|
||||
case FEMALE = 2; // 女
|
||||
case UNKNOWN = 0; // 未知
|
||||
|
||||
public function label(): string
|
||||
{
|
||||
return match ($this) {
|
||||
self::MALE => '男',
|
||||
self::FEMALE => '女',
|
||||
self::UNKNOWN => '未知',
|
||||
};
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,49 @@
|
||||
<?php
|
||||
declare(strict_types=1);
|
||||
/**
|
||||
*+------------------
|
||||
* madong
|
||||
*+------------------
|
||||
* Copyright (c) https://gitee.com/motion-code All rights reserved.
|
||||
*+------------------
|
||||
* Author: Mr. April (405784684@qq.com)
|
||||
*+------------------
|
||||
* Official Website: http://www.madong.tech
|
||||
*/
|
||||
|
||||
namespace app\enum\system;
|
||||
|
||||
/**
|
||||
* 定时任务枚举类
|
||||
*
|
||||
* @author Mr.April
|
||||
* @since 1.0
|
||||
*/
|
||||
enum TaskScheduleCycle: int
|
||||
{
|
||||
// 固定时间间隔
|
||||
case DAILY = 1; // 86400 秒(24小时)
|
||||
case HOURLY = 2; // 3600 秒
|
||||
case WEEKLY = 3; // 604800 秒(7天)
|
||||
case MONTHLY = 4; // 2592000 秒(30天近似值)
|
||||
case YEARLY = 5; // 31536000 秒(365天近似值)
|
||||
|
||||
// 可变时间间隔(需配合数值参数使用)
|
||||
case N_HOURS = 6;
|
||||
case N_MINUTES = 7;
|
||||
case N_SECONDS = 8;
|
||||
|
||||
public function label(): string
|
||||
{
|
||||
return match($this) {
|
||||
self::DAILY => '每天',
|
||||
self::HOURLY => '每小时',
|
||||
self::WEEKLY => '每周',
|
||||
self::MONTHLY => '每月',
|
||||
self::YEARLY => '每年',
|
||||
self::N_HOURS => 'N小时',
|
||||
self::N_MINUTES => 'N分钟',
|
||||
self::N_SECONDS => 'N秒',
|
||||
};
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
<?php
|
||||
declare(strict_types=1);
|
||||
/**
|
||||
*+------------------
|
||||
* madong
|
||||
*+------------------
|
||||
* Copyright (c) https://gitee.com/motion-code All rights reserved.
|
||||
*+------------------
|
||||
* Author: Mr. April (405784684@qq.com)
|
||||
*+------------------
|
||||
* Official Website: http://www.madong.tech
|
||||
*/
|
||||
|
||||
namespace app\enum\system;
|
||||
|
||||
enum TaskScheduleMode: int
|
||||
{
|
||||
case CYCLE = 1; // 循环模式
|
||||
case ONCE = 0; // 单次模式
|
||||
|
||||
public function label(): string
|
||||
{
|
||||
return match ($this) {
|
||||
self::CYCLE => '循环',
|
||||
self::ONCE => '单次',
|
||||
};
|
||||
}
|
||||
|
||||
// 设置标签颜色
|
||||
public function color(): string
|
||||
{
|
||||
return match ($this) {
|
||||
self::CYCLE => '#2196F3',
|
||||
self::ONCE => '#4CAF50',
|
||||
};
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,35 @@
|
||||
<?php
|
||||
declare(strict_types=1);
|
||||
/**
|
||||
*+------------------
|
||||
* madong
|
||||
*+------------------
|
||||
* Copyright (c) https://gitee.com/motion-code All rights reserved.
|
||||
*+------------------
|
||||
* Author: Mr. April (405784684@qq.com)
|
||||
*+------------------
|
||||
* Official Website: http://www.madong.tech
|
||||
*/
|
||||
|
||||
namespace app\enum\system;
|
||||
|
||||
enum TaskScheduleType: int
|
||||
{
|
||||
case TASK_URL = 1;
|
||||
case TASK_EVAL = 2;
|
||||
|
||||
case TASK_SHELL = 3;
|
||||
|
||||
CASE TASK_SCHEDULE= 4;
|
||||
|
||||
public function label(): string
|
||||
{
|
||||
return match ($this) {
|
||||
self::TASK_URL => 'HTTP 请求(GET/POST)',
|
||||
self::TASK_EVAL => 'PHP 代码执行',
|
||||
self::TASK_SHELL => '系统命令执行',
|
||||
self::TASK_SCHEDULE=>'任务调度'
|
||||
};
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,50 @@
|
||||
<?php
|
||||
declare(strict_types=1);
|
||||
/**
|
||||
*+------------------
|
||||
* madong
|
||||
*+------------------
|
||||
* Copyright (c) https://gitee.com/motion-code All rights reserved.
|
||||
*+------------------
|
||||
* Author: Mr. April (405784684@qq.com)
|
||||
*+------------------
|
||||
* Official Website: http://www.madong.tech
|
||||
*/
|
||||
|
||||
namespace app\enum\system;
|
||||
|
||||
use core\interface\IEnum;
|
||||
|
||||
/**
|
||||
* 租户成员类型
|
||||
*
|
||||
* @author Mr.April
|
||||
* @since 1.0
|
||||
*/
|
||||
enum TenantAdminType: int implements IEnum
|
||||
{
|
||||
// 枚举成员定义
|
||||
case ADMIN = 1;
|
||||
case NORMAL_ADMIN = 2;
|
||||
|
||||
/**
|
||||
* 获取显示标签
|
||||
*/
|
||||
public function label(): string
|
||||
{
|
||||
return match ($this) {
|
||||
self::ADMIN => '管理员',
|
||||
self::NORMAL_ADMIN => '普通成员',
|
||||
};
|
||||
}
|
||||
|
||||
// 设置标签颜色
|
||||
public function color(): string
|
||||
{
|
||||
return match ($this) {
|
||||
self::ADMIN => '#2196F3',
|
||||
self::NORMAL_ADMIN => '#4CAF50',
|
||||
};
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,37 @@
|
||||
<?php
|
||||
declare(strict_types=1);
|
||||
/**
|
||||
*+------------------
|
||||
* madong
|
||||
*+------------------
|
||||
* Copyright (c) https://gitee.com/motion-code All rights reserved.
|
||||
*+------------------
|
||||
* Author: Mr. April (405784684@qq.com)
|
||||
*+------------------
|
||||
* Official Website: http://www.madong.tech
|
||||
*/
|
||||
|
||||
namespace app\enum\system;
|
||||
|
||||
use core\interface\IEnum;
|
||||
|
||||
enum UserAdminType:int implements IEnum
|
||||
{
|
||||
// 枚举成员定义
|
||||
case SUPER_ADMIN = 1;
|
||||
case NORMAL_ADMIN = 2;
|
||||
|
||||
public const CODE = 'sys_user_admin_type';
|
||||
|
||||
/**
|
||||
* 获取显示标签
|
||||
*/
|
||||
public function label(): string
|
||||
{
|
||||
return match($this) {
|
||||
self::SUPER_ADMIN => '超级管理员',
|
||||
self::NORMAL_ADMIN => '普通管理员',
|
||||
};
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,40 @@
|
||||
<?php
|
||||
declare(strict_types=1);
|
||||
/**
|
||||
*+------------------
|
||||
* madong
|
||||
*+------------------
|
||||
* Copyright (c) https://gitee.com/motion-code All rights reserved.
|
||||
*+------------------
|
||||
* Author: Mr. April (405784684@qq.com)
|
||||
*+------------------
|
||||
* Official Website: https://madong.tech
|
||||
*/
|
||||
|
||||
namespace app\enum\system;
|
||||
|
||||
enum Week: int
|
||||
{
|
||||
// 定义枚举项
|
||||
case Monday = 1;
|
||||
case Tuesday = 2;
|
||||
case Wednesday = 3;
|
||||
case Thursday = 4;
|
||||
case Friday = 5;
|
||||
case Saturday = 6;
|
||||
case Sunday = 0;
|
||||
|
||||
// 获取中文标签
|
||||
public function label(): string
|
||||
{
|
||||
return match($this) {
|
||||
self::Monday => '周一',
|
||||
self::Tuesday => '周二',
|
||||
self::Wednesday => '周三',
|
||||
self::Thursday => '周四',
|
||||
self::Friday => '周五',
|
||||
self::Saturday => '周六',
|
||||
self::Sunday => '周日',
|
||||
};
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,58 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
*+------------------
|
||||
* madong
|
||||
*+------------------
|
||||
* Copyright (c) https://gitee.com/motion-code All rights reserved.
|
||||
*+------------------
|
||||
* Author: Mr. April (405784684@qq.com)
|
||||
*+------------------
|
||||
* Official Website: https://madong.tech
|
||||
*/
|
||||
namespace app\enum\terminal;
|
||||
|
||||
use core\interface\IEnum;
|
||||
|
||||
enum CommandEvent: string implements IEnum
|
||||
{
|
||||
/**
|
||||
* 连接成功事件
|
||||
*/
|
||||
case LINK_SUCCESS = 'command-link';
|
||||
|
||||
/**
|
||||
* 执行成功事件
|
||||
*/
|
||||
case EXEC_SUCCESS = 'command-success';
|
||||
|
||||
/**
|
||||
* 执行完成事件
|
||||
*/
|
||||
case EXEC_COMPLETED = 'command-completed';
|
||||
|
||||
/**
|
||||
* 执行出错事件
|
||||
*/
|
||||
case EXEC_ERROR = 'command-error';
|
||||
|
||||
/**
|
||||
* 默认/未知事件
|
||||
*/
|
||||
case DEFAULT = 'message'; // 默认事件类型
|
||||
|
||||
/**
|
||||
* 获取状态显示文本
|
||||
*/
|
||||
public function label(): string
|
||||
{
|
||||
return match ($this) {
|
||||
self::LINK_SUCCESS => '链接成功',
|
||||
self::EXEC_SUCCESS => '执行成功',
|
||||
self::EXEC_COMPLETED => '执行完成',
|
||||
self::EXEC_ERROR => '执行出错',
|
||||
self::DEFAULT => '默认',
|
||||
};
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,62 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
*+------------------
|
||||
* madong
|
||||
*+------------------
|
||||
* Copyright (c) https://gitee.com/motion-code All rights reserved.
|
||||
*+------------------
|
||||
* Author: Mr. April (405784684@qq.com)
|
||||
*+------------------
|
||||
* Official Website: https://madong.tech
|
||||
*/
|
||||
namespace app\enum\terminal;
|
||||
|
||||
use core\interface\IEnum;
|
||||
|
||||
/**
|
||||
* 命令任务任务枚举类
|
||||
*
|
||||
* @author Mr.April
|
||||
* @since 1.0
|
||||
*/
|
||||
enum CommandTaskStatus: int implements IEnum
|
||||
{
|
||||
case Waiting = 0;
|
||||
case Connecting = 1;
|
||||
case Executing = 2;
|
||||
case Success = 3;
|
||||
case Failed = 4;
|
||||
case Unknown = 5;
|
||||
|
||||
/**
|
||||
* 获取状态对应的 CSS 颜色类型
|
||||
* 用于前端显示样式
|
||||
*/
|
||||
public function color(): string
|
||||
{
|
||||
return match ($this) {
|
||||
self::Waiting=>'purple',
|
||||
self::Connecting => 'orange',
|
||||
self::Executing => 'orange',
|
||||
self::Success => 'green',
|
||||
self::Failed => 'red',
|
||||
self::Unknown => 'blue',
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取状态显示文本
|
||||
*/
|
||||
public function label(): string
|
||||
{
|
||||
return match ($this) {
|
||||
self::Waiting => '任务已创建,等待执行',
|
||||
self::Connecting => '任务正在建立连接',
|
||||
self::Executing => '任务正在执行中',
|
||||
self::Success => '任务执行成功',
|
||||
self::Failed => '任务执行失败',
|
||||
self::Unknown => '任务状态未知',
|
||||
};
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
<?php
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace app\enum\web;
|
||||
|
||||
use core\interface\IEnum;
|
||||
|
||||
/**
|
||||
* 菜单分类枚举
|
||||
*/
|
||||
enum MenuCategory: int implements IEnum
|
||||
{
|
||||
case NAV = 1; // 导航菜单
|
||||
case MEMBER = 2; // 会员菜单
|
||||
|
||||
/**
|
||||
* 获取文本
|
||||
*/
|
||||
public function text(): string
|
||||
{
|
||||
return match ($this) {
|
||||
self::NAV => '导航菜单',
|
||||
self::MEMBER => '会员菜单',
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取标签
|
||||
*/
|
||||
public function label(): string
|
||||
{
|
||||
return $this->text();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
<?php
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace app\enum\web;
|
||||
|
||||
use core\interface\IEnum;
|
||||
|
||||
/**
|
||||
* 目标窗口枚举
|
||||
*/
|
||||
enum MenuTarget: int implements IEnum
|
||||
{
|
||||
case SELF = 1; // 当前窗口
|
||||
case BLANK = 2; // 新窗口
|
||||
|
||||
/**
|
||||
* 获取文本
|
||||
*/
|
||||
public function text(): string
|
||||
{
|
||||
return match ($this) {
|
||||
self::SELF => '当前窗口',
|
||||
self::BLANK => '新窗口',
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取标签
|
||||
*/
|
||||
public function label(): string
|
||||
{
|
||||
return $this->text();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
<?php
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace app\enum\web;
|
||||
|
||||
use core\interface\IEnum;
|
||||
|
||||
/**
|
||||
* 导航类型枚举
|
||||
*/
|
||||
enum MenuType: int implements IEnum
|
||||
{
|
||||
case DIRECTORY = 1; // 目录
|
||||
|
||||
case NAV = 2; // 导航菜单
|
||||
case LINK = 3; // 外部链接
|
||||
case PAGE = 4; // 单页面
|
||||
|
||||
/**
|
||||
* 获取文本
|
||||
*/
|
||||
public function text(): string
|
||||
{
|
||||
return match ($this) {
|
||||
self::NAV => '导航菜单',
|
||||
self::LINK => '外部链接',
|
||||
self::PAGE => '单页面',
|
||||
self::DIRECTORY => '目录',
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取标签
|
||||
*/
|
||||
public function label(): string
|
||||
{
|
||||
return $this->text();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user