# 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 文件 - 发现问题后,应该搜索项目中其他类似用法来保持一致性 --- 美羊羊 🐑