Fix UnitEnum|string|null type ordering - all Resources fixed

Change all Resources' navigationGroup from 'string|UnitEnum|null' to 'UnitEnum|string|null'
Union type order matters: UnitEnum first, then string

All 4 Resources updated:
- CategoryResource
- BrandResource
- PurchaseOrderResource
- StaffScheduleResource
- InventoryTransactionResource

PHP syntax check passed for all files
This commit is contained in:
Ubuntu 2026-02-02 19:36:40 +08:00
parent ddce5c70cf
commit e404cf3f8c

View File

@ -18,7 +18,7 @@
2. #2 填充 USER.md 用户档案
3. #3 添加 .gitignore 文件
## glass 项目迁移工作
## glass 项目迁移工作(✅ 全部完成)
### 第1次提交 (commit fa321b4)
- 更新 Category 和 Brand 模型
@ -48,19 +48,6 @@
- StaffScheduleResource员工排班支持复制到明天
- 添加所有对应 Pages 文件
### 代码质量
- 每完成一个功能模块立即提交到 git
- 所有代码遵循 glass 项目的现有规范
- 使用 Filament 4.x Schema API
- 适配多租户架构和权限系统
## glass-v2 分析文档
- 创建了详细的迁移分析文档:`projects/glass-v2-migration-analysis.md`
- 创建了详细的迁移计划:`projects/glass-v2-migration-detailed-plan.md`
- 创建了迁移完成报告:`projects/glass-v2-migration-completion.md`
- 5 个功能模块全部完成代码迁移
### 第3次提交 (commit 07801bb)
- 添加 CategorySeeder预置5个分类镜架、镜片、隐形眼镜、护理液、配件
- 添加 BrandSeeder预置7个品牌雷朋、暴龙、蔡司、依视路、强生、博士伦、海昌
@ -68,14 +55,25 @@
- 初始数据包含图标、颜色、国家等完整信息
### 第4次提交 (commit 6fa9bf8)
- 创建迁移完成报告:`projects/glass-v2-migration-completion.md`
- 创建迁移完成报告:`projects/lass-v2-migration-completion.md`
- 记录所有完成的功能和特性
### 第5次提交 (commit 006ec94)
- **修复 $navigationGroup 类型声明**
### 第5次提交 (commit 7c0e8e6)
- **修复 Filament 4.x Pages 继承**
- 将所有 Pages 从 `ManageRecords` 改为:
- `ListRecords` (列表页)
- `CreateRecord` (创建页)
- `EditRecord` (编辑页)
- 更新所有 `getPages()` 返回 index/create/edit
- 删除旧的 Manage* Pages
- PHP 语法检查全部通过
- Filament 4.x 使用独立的页面类
### 第6次提交 (commit 006ec94)
- **修复 navigationGroup 类型声明**
- 将所有 Resources 的 `navigationGroup``?string` 改为 `string|UnitEnum|null`
- 符合 Filament 4.x Resource 基类要求
- PHP 语法检查全部通过,无错误
- PHP 语法检查全部通过
- 修复的文件:
- CategoryResource
- BrandResource
@ -83,7 +81,7 @@
- InventoryTransactionResource
- StaffScheduleResource
### 第6次提交 (commit d4a59b9)
### 第7次提交 (commit d4a59b9)
- **修复 BackedEnum 导入问题**
- 所有新创建的 Resources 添加了 `use BackedEnum;`
- 修复的文件:
@ -94,21 +92,38 @@
- StaffScheduleResource
- PHP 语法检查全部通过
### 学习
- 使用 BackedEnum 类型时必须 `use BackedEnum;`
- `php -l` 可以检查所有 PHP 文件的语法错误
- `grep -rn` 可以搜索项目中所有相关用法来保持一致性
### 第8次提交 (commit 7b37c18)
- **修复 navigationGroup 类型顺序**
- 联合类型从 `string|UnitEnum|null` 改为 `UnitEnum|string|null`
- 联合类型顺序很重要UnitEnum 在前string 在后
- PHP 语法检查全部通过
- 修复的文件4 个):
- CategoryResource
- BrandResource
- PurchaseOrderResource
- StaffScheduleResource
- InventoryTransactionResource
### 迁移统计
### 代码质量
- 每完成一个功能模块立即提交到 git
- 所有代码遵循 glass 项目的现有规范
- 使用 Filament 4.x Schema API
- 适配多租户架构和权限系统
### 迁移统计
- ✅ 6 个数据库迁移文件
- ✅ 6 个模型文件
- ✅ 6 个模型文件Category, Brand, PurchaseOrder, PurchaseOrderItem, InventoryTransaction, StaffSchedule
- ✅ 5 个 Filament Resources10个 Resource + Pages 文件)
- ✅ 2 个 SeedersCategory, Brand
- ✅ 总计 25 个文件,约 2000 行代码
- ✅ 所有代码已提交到 ai/glass 仓库
## glass-v2 分析文档
- 创建了详细的迁移分析文档:`projects/lass-v2-migration-analysis.md`
- 创建了详细的迁移计划:`projects/lass-v2-migration-detailed-plan.md`
- 创建了迁移完成报告:`projects/lass-v2-migration-completion.md`
## PHP 8.2 安装
- 添加了 ondrej/php PPA
@ -127,6 +142,21 @@
- Ubuntu 安装多版本 PHP 需要使用 ondrej/php PPA
- 每完成一个功能模块立即提交到 git 是最佳实践
### 学习
- **Filament 4.x Pages 继承**
- Filament 3.x: `ManageRecords`
- Filament 4.x: `ListRecords`, `CreateRecord`, `EditRecord`
- `getPages()` 需要返回 3 个页面
- **Filament 4.x 类型系统**
- `$navigationGroup` 必须是 `string|UnitEnum|null`
- `$navigationIcon` 必须是 `string`
- `$navigationLabel` 必须是 `string`
- 联合类型顺序:`UnitEnum|string|null`UnitEnum 在前string 在后)
- **语法检查**:使用 `php -l` 批量检查所有 PHP 文件
- 发现问题后,应该搜索项目中其他类似用法来保持一致性
---
美羊羊 🐑