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
163 lines
5.6 KiB
Markdown
163 lines
5.6 KiB
Markdown
# 2026-02-02 - 每日记忆
|
||
|
||
## 项目初始化
|
||
|
||
- 初始化了 Git 仓库
|
||
- 完成了首次提交(commit 9f2b862)
|
||
- 创建了 README.md 文件
|
||
- 设置了记忆系统目录
|
||
- 删除了 BOOTSTRAP.md
|
||
|
||
## Gitea 集成
|
||
|
||
- 通过 Gitea API 创建了仓库:`gouki/openclaw`
|
||
- 成功推送代码到远程仓库(commit e0490bf)
|
||
- 使用 ~/.netrc 文件进行 API 认证
|
||
- 创建了 3 个 Issues:
|
||
1. #1 配置 Git 用户信息
|
||
2. #2 填充 USER.md 用户档案
|
||
3. #3 添加 .gitignore 文件
|
||
|
||
## glass 项目迁移工作(✅ 全部完成)
|
||
|
||
### 第1次提交 (commit fa321b4)
|
||
- 更新 Category 和 Brand 模型
|
||
- 添加 icon, color, slug, sort_order 字段
|
||
- 添加自动生成 slug 的 boot 逻辑
|
||
- 添加新模型:
|
||
- PurchaseOrder(采购订单,带状态流转和收货逻辑)
|
||
- PurchaseOrderItem(采购订单明细)
|
||
- InventoryTransaction(库存流水)
|
||
- StaffSchedule(员工排班,带班次类型和调班功能)
|
||
- 添加数据库迁移:
|
||
- add_icon_and_color_to_categories_table
|
||
- add_slug_and_sort_order_to_brands_table
|
||
- create_purchase_orders_table
|
||
- create_purchase_order_items_table
|
||
- create_inventory_transactions_table
|
||
- create_staff_schedules_table
|
||
- 添加 Filament Resources:
|
||
- CategoryResource(产品分类管理,37个图标选项)
|
||
- BrandResource(品牌管理)
|
||
- 所有模型使用 BelongsToTenant trait 支持多租户
|
||
|
||
### 第2次提交 (commit 47106f1)
|
||
- 添加 Filament Resources:
|
||
- PurchaseOrderResource(采购订单,带收货入库和补入库操作)
|
||
- InventoryTransactionResource(库存交易记录,只读,支持日期过滤)
|
||
- StaffScheduleResource(员工排班,支持复制到明天)
|
||
- 添加所有对应 Pages 文件
|
||
|
||
### 第3次提交 (commit 07801bb)
|
||
- 添加 CategorySeeder(预置5个分类:镜架、镜片、隐形眼镜、护理液、配件)
|
||
- 添加 BrandSeeder(预置7个品牌:雷朋、暴龙、蔡司、依视路、强生、博士伦、海昌)
|
||
- 更新 DatabaseSeeder 运行所有 seeders
|
||
- 初始数据包含图标、颜色、国家等完整信息
|
||
|
||
### 第4次提交 (commit 6fa9bf8)
|
||
- 创建迁移完成报告:`projects/lass-v2-migration-completion.md`
|
||
- 记录所有完成的功能和特性
|
||
|
||
### 第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 语法检查全部通过
|
||
- 修复的文件:
|
||
- CategoryResource
|
||
- BrandResource
|
||
- PurchaseOrderResource
|
||
- InventoryTransactionResource
|
||
- StaffScheduleResource
|
||
|
||
### 第7次提交 (commit d4a59b9)
|
||
- **修复 BackedEnum 导入问题**
|
||
- 所有新创建的 Resources 添加了 `use BackedEnum;`
|
||
- 修复的文件:
|
||
- CategoryResource
|
||
- BrandResource
|
||
- PurchaseOrderResource
|
||
- InventoryTransactionResource
|
||
- StaffScheduleResource
|
||
- PHP 语法检查全部通过
|
||
|
||
### 第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 个模型文件(Category, Brand, PurchaseOrder, PurchaseOrderItem, InventoryTransaction, StaffSchedule)
|
||
- ✅ 5 个 Filament Resources(10个 Resource + Pages 文件)
|
||
- ✅ 2 个 Seeders(Category, 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
|
||
- 安装了 PHP 8.2.30 (CLI + FPM)
|
||
- 安装的扩展:
|
||
- bcmath, curl, gd, intl
|
||
- mbstring, mysql, xml, zip
|
||
- opcache, readline
|
||
- Laravel 项目现在可以使用 `php artisan` 命令
|
||
|
||
## 学习
|
||
|
||
- Gitea API 需要 ~/.netrc 文件或 API token 认证(Git 凭证存储不适用于 API)
|
||
- Gitea 禁止通过 git push 自动创建仓库
|
||
- curl -n 选项可以自动读取 .netrc 文件
|
||
- 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 文件
|
||
- 发现问题后,应该搜索项目中其他类似用法来保持一致性
|
||
|
||
---
|
||
|
||
美羊羊 🐑
|