Commit Graph

176 Commits

Author SHA1 Message Date
sky121113
3a31a1a593 [STYLE] 調整 Workflow 檔案格式以符合規範
1. 在 .gitea/workflows/deploy-demo.yaml 中優化程式碼區塊間距。
2026-04-21 08:23:56 +08:00
sky121113
23225ffe3f [DOCS] 更新 MQTT 即時通訊規範,新增 App 端 WSS 連線標準
1. 補齊各連線通道 (TCP/SSL/WS/WSS) 的埠號建議表。
2. 新增 App 端 (Android) WSS 連線專節,包含 URL 參數與密碼雜湊要點。
3. 提供 HiveMQ Client 初始化範例程式碼。
4. 定義 MQTT 優先、HTTP 兜底的 Fallback 通訊機制與時間窗口。
2026-04-17 17:25:20 +08:00
sky121113
bfe359d5a2 [FIX] 移除 B014 API 的強制度人員認證,簡化機台接入流程
1. 修正 routes/api.php:移除 machine/setting/B014 的 auth:sanctum middleware。
2. 修正 MachineController.php:移除 getSettings 方法中的 RBAC 權限檢查邏輯,改為僅需驗證機台序號即可獲取設定。
2026-04-17 16:14:17 +08:00
sky121113
bf43a33df3 [FEAT] 整合 MQTT 資料流自動化與環境埠號修復
1. 整合 MQTT Gateway 並支援動態 Redis Key 前綴隔離,解決多環境衝突。
2. 修正本地開發環境與 Demo 環境的埠號映射 (80/8080) 與 Vite HMR (5175) 設定。
3. 更新 CI/CD 部署流程,新增自動同步程式碼至 MQTT Worker 與 Queue 容器。
4. 擴充 .env.example 以提供完整的 MQTT/EMQX 相關變數範本。
5. 更新模擬腳本以符合現有測試資料。
2026-04-17 13:22:46 +08:00
sky121113
e3ad7dd44f [DOCS] 修正並對齊 Demo 環境基礎設施資訊
1. 更新 README.md 與 framework.md 中的 Demo 環境網域、伺服器指令、部署路徑。
2. 更新 Gitea Workflow (.gitea/workflows/) 中的 Gitea 官方網址 (gitea.setdomains.work)。
3. 更新遠端部署模板中的舊 IP、路徑與機器人信箱,確保全站文件一致性。
2026-04-17 10:30:05 +08:00
sky121113
588f5659ca [FIX] 修復 MQTT Gateway 啟動崩潰與認證失敗問題
1. 在 mqtt-gateway/main.go 中加入連線重試邏輯 (Redis & MQTT),避免在服務初始化或認證暫時失敗時直接退出。
2. 更新 App/Console/Commands/MqttSyncAuth.php,加入同步 star-cloud-gateway 自身認證資料至 Redis 的邏輯。
3. 修改 compose.yaml,為 mqtt-gateway 加入 restart: always,並為 emqx 加入健康檢查以優化容器啟動流程。
2026-04-17 09:08:18 +08:00
sky121113
550ebc7fb6 Merge remote-tracking branch 'origin/demo' into dev 2026-04-17 08:21:05 +08:00
sky121113
91cb74f7f7 [FIX]: 修復 machines 資料表缺失 status 欄位之問題
1. 新增 2026_04_16_174321_add_status_to_machines_table.php 遷移檔以補回缺失欄位。
2. 更新 .gitignore 排除 PPTX 生成相關目錄。
2026-04-17 08:19:28 +08:00
sky121113
4433250c19 fix: correct container port mapping to 80 2026-04-16 17:35:59 +08:00
sky121113
f9c55df165 ci: retrigger after MySQL volume reset 2026-04-16 17:28:23 +08:00
sky121113
8901c469a0 ci: retrigger after fixing .env typo and cleaning stale containers 2026-04-16 17:26:07 +08:00
sky121113
2de80cd1bf fix: ensure .env is visible to docker compose up for environment variable interpolation 2026-04-16 17:22:12 +08:00
sky121113
cf267a9264 ci: retrigger deploy (pre-placed .env on host) 2026-04-16 17:18:07 +08:00
sky121113
420263680d fix: chown /.npm cache and clean stale node_modules for npm install 2026-04-16 17:11:54 +08:00
sky121113
ebc8b7943f fix: chown after docker cp to fix composer permission denied 2026-04-16 17:08:45 +08:00
sky121113
3cacf9d80f fix: use docker cp to inject source code into container (bypass volume mount issue) 2026-04-16 17:06:59 +08:00
sky121113
9775c59996 fix: correct composer installer option --instdir to --install-dir 2026-04-16 16:50:11 +08:00
sky121113
d8f41e87b4 fix: force no-cache build to ensure composer is installed in image 2026-04-16 16:31:42 +08:00
sky121113
daddfe0f85 fix: use bash and export PATH to resolve composer not found in docker exec 2026-04-16 16:28:06 +08:00
sky121113
5259f0ad84 fix: restore missing php extensions and fix dockerfile syntax 2026-04-16 16:19:13 +08:00
sky121113
77510a0118 fix: install composer in docker image 2026-04-16 16:16:04 +08:00
sky121113
4b8e9f7025 fix: align container name with compose.yaml in gitea actions 2026-04-16 16:14:21 +08:00
sky121113
66dfde2a06 fix: remove non-existent testing db script mount causing mysql crash in ci/cd 2026-04-16 16:12:15 +08:00
sky121113
79eb391c1f fix: remove redundant npm self-upgrade and split global installs for stability 2026-04-16 16:04:32 +08:00
sky121113
7f1e3970e3 refactor: split Dockerfile RUN commands for better debugging and fix mirror switch logic 2026-04-16 15:55:49 +08:00
sky121113
5d4c9b018d perf: switch all mirrors including security to Taiwan to eliminate build delays 2026-04-16 15:46:58 +08:00
sky121113
2c04a55bfb perf: switch to Taiwan mirrors in Dockerfile to speed up build 2026-04-16 15:44:39 +08:00
sky121113
b56bdc624b fix: correct docker-compose filename in workflow 2026-04-16 15:15:50 +08:00
sky121113
b90e05a91a fix: switch to ubuntu-latest labels for compatibility with current runner 2026-04-16 15:12:14 +08:00
sky121113
566448fe94 chore: setup gitea actions internal deployment for demo-sc-103 2026-04-16 15:07:15 +08:00
sky121113
959625a640 [FEAT] 實作 MQTT Gateway 整合與高併發 IoT 通訊架構
1. 導入 Go 語言撰寫的 MQTT Gateway (mqtt-gateway/),負責訊息接收並透過 Redis List 轉發至 Laravel。
2. 更新 compose.yaml 以包含 EMQX Broker 與 mqtt-gateway 服務,並配置相關環境變數。
3. 新增 ListenMqttQueue 指令與對應的異步處理 Job (ProcessHeartbeat, ProcessTransaction, ProcessMachineError)。
4. 實作 MqttSyncAuth 指令與 Machine Model Observer,支援自動化的機台認證資訊同步至 Redis。
5. 新增 MqttCommandService 用於處理雲端至機台的即時指令下發。
6. 更新專案規範文件 (framework.md 與 Skills) 以反映新的 MQTT 通訊機制與安全性規範。
7. 提供 simulate-heartbeat.sh 指令碼以供開發與測試使用。
2026-04-16 14:28:42 +08:00
sky121113
1301bf1cb8 [FIX] 徹底修復商品管理分頁參數洩漏與 UI 狀態不一致問題
1. 隔離商品列表與分類管理的搜尋參數(product_search / category_search)。
2. 隔離商品列表與分類管理的公司篩選參數(product_company_id / category_company_id)。
3. 優化分頁切換邏輯,切換 Tab 時自動清理 URL 參數,解決標籤殘留問題。
4. 修復 searchable-select 組件因屬性傳遞錯誤導致的 500 Internal Server Error。
5. 統一各分頁「公司篩選」Placeholder 為「所有公司」。
6. 完成分類管理搜尋框的多語系支援(新增 Search categories... 翻譯鍵值)。
7. 優化分頁器 (Pagination) 樣式以符合極簡奢華風規範。
2026-04-15 16:45:13 +08:00
sky121113
24553d9b73 [FEAT] 遠端指令中心 AJAX 化與介面標準化
1. 將遠端指令中心 (Remote Command Center) 兩大分頁 (操作紀錄、新增指令) 改為 AJAX 異步載入,提升切換速度。
2. 建立抽離的 Blade Partials 結構 (partials/tab-history-index.blade.php, tab-machines-index.blade.php) 以利維護。
3. 實作全域 Loading Bar 與 Luxury Spinner 視覺回饋,確保 AJAX 過程中有明確狀態。
4. 修正庫存管理與指令中心在機台圖片不存在時的 `Undefined array key 0` 錯誤。
5. 標準化操作紀錄搜尋行為:文字搜尋改為 Enter 觸發,日期範圍改為手動按下搜尋按鈕觸發,並新增「重設」功能。
6. 設定 Flatpickr 日期時間選擇器預設時間為 `00:00`。
7. 修正 `stock.blade.php` 中的 PHP 語法錯誤 (括號未閉合)。
8. 同步更新多語系翻譯檔案 (zh_TW, en, ja)。
2026-04-15 13:17:25 +08:00
sky121113
ee985abb2e [STYLE] 優化機台設定頁面載入提示與 AJAX 互動體驗
1. 新增全站頂部進度條觸發機制,在搜尋或分頁時提供視覺反饋。
2. 為機台設定頁面新增奢華風 Spinner 載入遮罩,替代原本抖動的骨架屏。
3. 優化分頁與搜尋的 AJAX 回傳邏輯,載入時降低背景透明度以維持版面穩定。
4. 新增多語系翻譯字串:Failed to load tab content。
2026-04-15 11:51:23 +08:00
sky121113
376f43fa3a [FIX] 修正 IoT 管理介面分頁持久化與實作 B055 遠端出貨 API
1. 視圖持久化優化:將 index/stock 視圖切換從 x-if 改為 x-show,解決 HSSelect 在切換分頁後失效的問題。
2. 變數存取安全:為所有 selectedMachine 屬性存取補上可選鏈 (?.) 保護,防止 x-show 模式下的 null 錯誤。
3. UI 體驗提升:放大「指令中心」與「庫存管理」歷史紀錄的時間字體至 15px 並加粗顯示。
4. API 功能實作:在 routes/api.php 與 MachineController 中實作 B055 遠端指令出貨控制端點。
5. 文件同步:更新 SKILL.md 技術規格文件,明確定義 B055 的請求與回應格式。
6. 樣式調整:修改 app.css 優化奢華風 UI 字體與間距細節。
2026-04-15 10:54:58 +08:00
sky121113
f49938d1a7 [DOCS] 補齊 B024, B027, B055 API 技術規格與文檔定義
1. 更新技術手冊 (SKILL.md) 與 API 規格文件 (api-docs.php),補齊 B024, B027, B055 之定義。
2. 修正文件序號跳號問題,確保 B017 序號正確銜接。
3. 詳細說明 B055 之指令 ID 遠端出貨運作機制。
2026-04-14 17:36:56 +08:00
sky121113
2702e5a655 [REFACTOR] 標準化 IoT API 方法並修正日期格式
1. 將 B014 (參數下載) 與 B017 (貨道同步) 路由從 POST 改為 GET。
2. 移除 B017 冗餘的 machine 參數,改由 Bearer Token 自動識別。
3. 修正 B017 回傳資料中 expiry_date 的 ISO 8601 格式問題,統一為 Y-m-d。
4. 同步更新所有技術規格文件 (.agents/ 規範) 與 API 說明配置 (config/api-docs.php)。
2026-04-14 16:46:35 +08:00
sky121113
6382709b90 [DOCS] 更新開發進度表
1. 標記「遠端管理」模組為已完成。
2. 標記「儀表板」模組為已完成。
2026-04-14 16:18:05 +08:00
sky121113
66f7c1ffb8 [FEAT] 實作 B017 貨道庫存全量同步 API 與多語系支援
1. 實作 B017 (reload_msg) 端點,支援貨道庫存、效期與批號的全量同步。
2. 將 B017 回傳欄位映射至 App 需求:slot_no -> tid, stock -> num。
3. 新增 expiry_date (效期) 與 batch_no (批號) 欄位支援。
4. 實作指令狀態閉環邏輯,成功同步後自動將相關 reload_stock 指令標記為成功。
5. 將指令備註欄位多語系化,新增「庫存已與機台同步」繁中、英文、日文翻譯。
6. 更新 API 技術規格文件 (.agents/skills) 與系統 API 文件配置 (config/api-docs.php)。
2026-04-14 15:06:51 +08:00
sky121113
32fa28dc0f [DOCS]:初始化 MQTT 架構實作計畫與相關技術規範
1. 新增 MQTT 即時通訊與 Topic 規範文件 (.agents/skills/mqtt-communication-specs/SKILL.md)。
2. 建立 MQTT 基礎架構實作計畫文件 (docs/mqtt-implementation-plan.md)。
3. 更新全域開發框架規範 (framework.md),納入 Go Gateway 與 EMQX 架構說明。
4. 重構 IoT 通訊處理規範 (iot-communication/SKILL.md),支援 HTTP 與 MQTT 雙軌管線。
5. 更新背景 API 規範 (api-rules.md) 與技能觸發規則 (skill-trigger.md) 以符合新架構。
2026-04-14 13:02:08 +08:00
sky121113
daf8b1ebcc [FEAT] 強化機台技術員 Token 安全性
1. 為 B000 登入發放之技術員 Token 增加 8 小時有效期限,防止 Token 永久有效之風險。
2026-04-13 17:24:57 +08:00
sky121113
8f008ffb61 [FEAT] 實作 B014 機台參數下載 API 與 B000 登入認證強化
1. 強化 B000 登入接口:驗證成功後回傳 Sanctum Token 供後續初始化使用。
2. 實作 B014 (getSettings) API:整合機台、金流與發票設定,並映射至 Android App 預期欄位。
3. 強化安全性:B014 API 掛載 auth:sanctum 並執行 RBAC 權限檢查。
4. 更新 API 說明文件 (iot-spec.md, api-docs.php) 及技術規範 (SKILL.md)。
2026-04-13 17:04:52 +08:00
sky121113
729890d7c7 [DOCS] 更新通訊系統與全域工具列開發藍圖
1. 更新 docs/future_todo.md:詳列第一階段核心工具(工具列、公告系統、快捷入口、身分模擬)與第二階段行銷功能(盲盒抽獎)的開發時程。
2026-04-13 16:19:37 +08:00
sky121113
ad256d3d3b [FEAT] 廣告排程功能與 UI 優化
1. 新增廣告排程功能,支援設定發布時間與下架時間。
2. 整合 Flatpickr 時間選擇器,提供與機台日誌一致的極簡奢華風 UI。
3. 優化廣告列表中的數字字體,套用 font-mono 與 tabular-nums,與客戶管理模組風格同步。
4. 修正 Alpine.js 資料同步邏輯,確保編輯模式下排程時間能正確回填。
2026-04-13 11:44:26 +08:00
sky121113
5415b14a53 [DOCS] 更新 .gitignore 以排除 pptx 目錄
1. 在 .gitignore 中新增 /docs/pptx 路徑,避免產出的簡報檔案意外進入版本控制。
2026-04-13 11:01:21 +08:00
sky121113
c97776892e [FEAT] 優化客戶合約管理介面與修復日期偏移問題
1. 整合「客戶詳情」與「合約歷程」至單一側邊欄,改用分頁 (Tabs) 切換介面。
2. 優化清單「服務期程」顯示:根據客戶模式(租賃/買斷)動態顯示對應期間,並使用完整文字標籤取代縮寫。
3. 修復日期 Bug:在 Company 模型指定日期序列化格式為 Y-m-d,解決時區轉換導致的日期減少一天問題。
4. 新增合約歷程資料表模型、遷移檔以及對應的多語系翻譯(中、英、日)。
5. 移除清單操作列中重複的合約歷程圖示。
2026-04-08 17:41:26 +08:00
sky121113
a599b14df1 [FEAT] 優化機台硬體通訊協議與管理介面互動性
1. 修復帳號管理與角色權限頁面搜尋功能,支援 Enter 鍵快捷提交。
2. 完成 B013 (機台故障上報) API 實作,改用非同步隊列 (ProcessMachineError) 處理日誌上報。
3. 精簡 B013 API 參數,移除冗餘的 message 欄位,統一由雲端對照表翻譯。
4. 更新技術規格文件 (SKILL.md) 與系統 API 文件配置 (api-docs.php)。
5. 修正平台管理員帳號在搜尋過濾時的資料隔離邏輯。
2026-04-08 14:52:00 +08:00
sky121113
c343df34ee [FEAT] 實作 B012 商品同步 API 與統一圖片絕對網址格式
1. 實作 B012 API:新增 /api/v1/app/machine/products/B012 端點,支援 GET (全量) 與 PATCH (增量) 同步邏輯。
2. 統一圖片 URL:在 B005 與 B012 API 中使用 asset() 確保回傳絕對網址 (Absolute URL),解決 App 端下載相對路徑的問題。
3. 文件更新:同步更新 SKILL.md 的欄位定義,並在 api-docs.php 補上 B012 的正式規格說明。
4. 資料庫變更:新增 machine_slots 表的 type 欄位與相關註解遷移。
5. 格式優化:為技術規格文件中的 API 欄位與狀態碼加上反引號,提升文件中心可讀性。
2026-04-07 17:05:28 +08:00
sky121113
253ae8afd4 [FEAT] 實作機台序號編輯功能與多語系支援
1. 更新機台控制器 (MachineController),在更新時執行 serial_no 的必填與唯一性驗證。
2. 修改機台管理首頁 (index.blade.php),在快速編輯彈窗中加入機台序號輸入欄位。
3. 修正基礎設定中機台編輯頁面 (edit.blade.php),將原本唯讀的機台序號欄位改為可編輯輸入框,並加入必填標記。
4. 補齊並統一繁體中文、英文、日文翻譯檔中關於「機台序號」的翻譯 Key。
2026-04-07 14:55:24 +08:00
sky121113
f2147ae6c4 [FEAT] 完善 IoT API 規范化、機台管理介面優化與 B005 改為 GET
1. 將 B005 (廣告同步) 從 POST 改為 GET,符合 RESTful 規範。
2. 完善 B009 (庫存回報) 回應規格,加入業務代碼 (200 OK)。
3. API 文件 UI 優化:新增 Method Badge (方法標籤),並修正 JSON 中文/斜線轉義問題。
4. 機台管理介面優化:實作「唯讀庫存與效期」面板,並將日誌圖示改為「👁️」。
5. 標準化 ID 識別邏輯:資料表全面移除對 sku 的依賴,改以 id 為主、barcode 為輔。
6. 新增 Migration:正式移除 sku 欄位並同步 barcode 指向。
7. 更新多語系支援 (zh_TW, en, ja)。
2026-04-07 14:37:57 +08:00