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
5.6 KiB
5.6 KiB
2026-02-02 - 每日记忆
项目初始化
- 初始化了 Git 仓库
- 完成了首次提交(commit 9f2b862)
- 创建了 README.md 文件
- 设置了记忆系统目录
- 删除了 BOOTSTRAP.md
Gitea 集成
- 通过 Gitea API 创建了仓库:
gouki/openclaw - 成功推送代码到远程仓库(commit e0490bf)
- 使用 ~/.netrc 文件进行 API 认证
- 创建了 3 个 Issues:
- #1 配置 Git 用户信息
- #2 填充 USER.md 用户档案
- #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 3.x:
-
Filament 4.x 类型系统:
$navigationGroup必须是string|UnitEnum|null$navigationIcon必须是string$navigationLabel必须是string- 联合类型顺序:
UnitEnum|string|null(UnitEnum 在前,string 在后)
-
语法检查:使用
php -l批量检查所有 PHP 文件 -
发现问题后,应该搜索项目中其他类似用法来保持一致性
美羊羊 🐑