sky121113
|
af78c48d8e
|
[FEAT] 貨道效期+鎖定 App↔後台雙向同步(LWW)
1. machine_slots 新增 is_locked / last_app_lock_rev / last_app_expiry_rev(migration);MachineSlot model fillable+casts。
2. syncSlots(B009):新增 per-field 常態 LWW(App rev 較大才採用);換商品(product_id 變更)時清空舊 expiry/batch 安全網;空值一律歸一化為 null。
3. updateSlot:下行 update_inventory 一律帶 is_locked + lock_rev + expiry_rev,後台編輯只更新「帶上的欄位」(鎖定切換不會清效期),對應 rev +1 成為權威值。
4. 新增 admin slots/lock endpoint(toggleSlotLock)+ route;remote/stock.blade.php 貨道編輯彈窗加「販售狀態/鎖定·解鎖」toggle。
5. 不含 app_uuid/重灌/B017 概念(精簡版);既有現場鎖定靠 App 端升級遷移(lock_rev=1)走常態 LWW 上雲。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-24 14:25:33 +08:00 |
|
sky121113
|
3293a76c91
|
[FIX] 庫存效期管理補上 MQTT 下發逾時自動解鎖
1. slotsAjax 的 is_pending 僅計入 1 分鐘內的 pending reload_stock 指令,超過視為逾時自動解鎖,避免機台未回 ACK 時介面永久卡住
2. updateSlot 重新下發時,逾時舊指令標記為 timeout、未逾時標記為 superseded,與 dispense 逾時邏輯一致
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-24 08:57:56 +08:00 |
|
sky121113
|
3a793978b4
|
[REFACTOR] 每機台定價改置於機台主模組(自基本設定移出)
1. 路由 /{machine}/pricing、/{machine}/pricing (POST) 由 BasicSettings\MachineSettingController 移至 MachineController
2. pricing / updatePricing 方法搬遷至 Admin\MachineController
3. 視圖由 basic-settings/machines/pricing.blade.php 移至 machines/pricing.blade.php
4. 機台列表頁 index.blade.php 新增定價入口;移除基本設定 tab-machines.blade.php 內的舊入口
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-23 15:54:16 +08:00 |
|
sky121113
|
df3c72e927
|
[FEAT] 機台刷卡機 (Nexsys 終端機) 健康狀態燈號與失敗日誌
1. 刷卡機共用判定:信用卡(1)、電子票證(2)、手機支付(10) 走同一台實體刷卡機,以交易結果維護燈號(刷卡機無斷線心跳)。
2. ProcessTransactionFinalized 新增 syncCardTerminalStatus:成功交易自動消除該機台未解決的 card_terminal 警告;失敗交易解析 payment_response 的 "| code=XXXX" 回應碼,寫一筆 type='card_terminal' 的 warning 日誌(warning 級不觸發 Discord)。
3. MachineService 新增 CARD_TERMINAL_CODE_MAP(NCCC/聯卡中心回應碼對照,值為英文翻譯鍵);MachineLog 依 card_code 重組多語可讀失敗原因。
4. Machine 模型新增 card_terminal_status 與 latest_card_terminal_log_time 取值器;MachineController 列表以 withCount + 相關子查詢預載彙總,避免 N+1。
5. 機台列表頁新增「刷卡機」狀態燈號(綠/琥珀/紅 + 最近異常時間)與「刷卡機日誌」分頁。
6. 文件更新:config/api-docs.php 與 api-technical-specs SKILL.md 補充 payment_type 說明(2/10 與 1 共用同一台刷卡機、補列 42 取物單與 100 遠端出貨)。
7. 既有 migration change_products_spec_to_text 加 sqlite 守衛,讓測試環境可跑(VARCHAR/TEXT 在 sqlite 等價且不支援 MODIFY)。
8. 新增 CardTerminalStatusTest 功能測試(18 斷言通過,涵蓋成功消警、失敗寫日誌、掃碼排除、多語訊息、N+1 預載路徑)。
9. 新增 25 組三語系 key(刷卡機狀態與回應碼),zh_TW/en/ja 對齊並 ksort 排序。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-18 13:09:05 +08:00 |
|
sky121113
|
e414396b0c
|
[FEAT] 於機台管理與機台設定頁面新增公司篩選功能
1. 於機台管理 (MachineController 與 index.blade.php) 為系統管理員新增公司篩選下拉選單,並支援分頁參數與 AJAX 查詢。
2. 於機台設定頁面中的機台列表 (tab-machines.blade.php) 與系統設定列表 (tab-system-settings.blade.php) 新增公司篩選器。
3. 在 MachineSettingController 傳遞公司列表資料至視圖,以便支援公司篩選。
4. 修正重置按鈕,使其能正確清除 Preline HSSelect 的選取狀態並重新載入資料。
|
2026-06-05 13:01:52 +08:00 |
|
sky121113
|
953581db38
|
[FEAT] 新增環境溫度上限監測與遠端風扇指令控制功能
1. 資料庫移轉:新增機台環境溫度、環境溫度上限設定,以及是否啟用環境溫度監測等欄位。
2. 後端核心:更新 Machine Model 與 MachineController,實作機台環境溫度設定的更新與歷史日誌 Ajax API。
3. MQTT 佇列:於 ListenMqttQueue 指令與 ProcessAmbientTemp Job 實作機台上報環境溫度的接收與寫入,並加入 Redis 快取防止重複日誌洗版。
4. 遠端指令:擴充 RemoteController 並於指令中心實作 'fanon'、'fanoff'、'fanauto' 與 'ambient_temp_limit' (環境溫度上限) 指令下發。
5. 前端頁面:於機台列表加入「環境溫度上限」微調計數器 UI,並整合 ApexCharts 折線圖展示溫度趨勢;更新遠端控制中心按鈕與歷史篩選器。
6. 多語系:同步更新並完美對齊 'zh_TW.json'、'en.json' 與 'ja.json',遵循字母 ksort 排序與斜線不逸出規範。
|
2026-06-04 11:45:48 +08:00 |
|
sky121113
|
dd641a2fc1
|
[STYLE] 優化機台日誌溫度圖表顯示
1. 修改機台溫度數據 API,改為傳送毫秒級時間戳記,以支援 ApexCharts 時間軸。
2. 將圖表橫軸類型改為 datetime,解決時間標籤重疊擁擠的問題。
3. 隱藏 ApexCharts 預設的無障礙輔助文字。
4. 優化提示框 (Tooltip) 顯示格式,改為顯示完整年月日時分秒,並自定義標題。
5. 關閉圖表動畫以提升側邊欄載入效能。
|
2026-05-14 17:56:42 +08:00 |
|
sky121113
|
a16b0363a8
|
[FEAT] 新增機台日誌溫度趨勢圖與同步指令日誌補全
1. 修改 ProcessCommandAck.php,將「同步商品」與「同步廣告」指令加入日誌紀錄白名單,確保同步結果正確寫入機台日誌。
2. 在 MachineController 新增 temperatureAjax API,從機台日誌中提取歷史溫度數據供圖表使用。
3. 在 web.php 註冊溫度數據 AJAX 查詢路由。
4. 在機台管理頁面 (index.blade.php) 的日誌面板中整合 ApexCharts,並於「機台狀態」分頁內嵌入溫度趨勢曲線圖。
5. 更新 Alpine.js 邏輯,實現圖表與日期篩選的同步連動,並優化面板展開時的圖表渲染。
6. 新增繁體中文、英文、日文的「溫度趨勢」翻譯標籤,並修復語言檔中的重複 key 與翻譯內容。
|
2026-05-14 17:17:55 +08:00 |
|
sky121113
|
7d3e25d090
|
[FIX] 優化庫存輸入邏輯與數值處理
1. 在 MachineController 中加入庫存數值強制轉型邏輯,確保後端驗證前已處理字串數值(如 "01" 轉為 1)。
2. 在遠端庫存調整介面中,為 Alpine.js 的 x-model 加入 .number 修飾符,強化前端資料類型一致性。
|
2026-05-13 10:25:21 +08:00 |
|
sky121113
|
8feca33f13
|
[FEAT] 優化機台日誌管理、新增庫存變動紀錄與取貨碼/通行碼介面改善
1. 新增機台異常日誌手動解除功能,包含資料庫欄位更新與 UI 操作按鈕。
2. 實作機台庫存變動紀錄系統 (Machine Stock Movements),支援追蹤補貨與銷售產生的庫存異動。
3. 重構取貨碼 (Pickup Code) 與通行碼 (Pass Code) 管理介面,採用極簡奢華風 UI 並拆分 Partial Views 提升可維護性。
4. 優化取貨操作日誌,明確區分「取貨成功」與「取貨失敗」,並加入顏色標籤增強辨識度。
5. 擴充多語系支援 (繁中、英文、日文),確保所有新功能與操作狀態均有對應翻譯。
6. 更新 IoT API 規格文件與相關 Service 邏輯,加強指令確認 (ACK) 處理機制。
|
2026-05-04 08:43:35 +08:00 |
|
sky121113
|
c1fdf6bc9f
|
[STYLE] 優化機台庫存概覽介面與多語系支援
1. 移動「一鍵補貨」按鈕至總庫存量進度卡片下方,提升操作便利性。
2. 實作機台詳情頁面貨道列表的響應式卡片設計 (Mobile Card View)。
3. 新增貨道卡片動態底色與進度條顏色,根據庫存狀態 (充足、偏低、缺貨、過期) 顯示對應色調。
4. 修正 Stock Level > 50% 多語系翻譯失效問題,並同步更新中英日語系檔。
5. 統一貨道列表卡片樣式,與主機台清單達成視覺一致性 (極簡奢華風)。
|
2026-04-27 17:35:37 +08:00 |
|
sky121113
|
9114269a7a
|
[FEAT] 完善遠端出貨與庫存異動的併發控制與視覺回饋
1. 修正 RemoteController 中的 MachineService 注入問題,解決遠端出貨指令失效的 500 錯誤。
2. 在 MachineService 實作貨道鎖定機制 (lockSlot/unlockSlot),防止重複扣庫存導致的數據不一致。
3. 採用樂觀扣除模式,發送指令時即更新預扣庫存,並在 ProcessCommandAck 實作失敗自動 Rollback。
4. 優化 UI 互動:在操作紀錄詳情顯示庫存變化 (如 6 -> 5),且針對執行失敗的指令加上刪除線樣式。
5. 完成指令詳情、操作紀錄與庫存歷史的語系對照表同步 (zh_TW, en, ja)。
|
2026-04-22 15:02:00 +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
|
bbdc5bad9f
|
[FEAT] 重構機台狀態判定邏輯並優化全站多語系支援
1. 重構機台在線狀態判定機制:移除資料庫 status 欄位,改由 Model 根據心跳時間動態計算。
2. 修正儀表板 (Dashboard) 與機台管理頁面的多語系顯示問題,解決換行導致翻譯失效的 Bug。
3. 修正個人檔案頁面的麵包屑 (Breadcrumbs) 導航,補齊「個人設定」層級。
4. 更新 IoT API (B010, B600) 的認證機制與日誌處理邏輯。
5. 同步更新繁中、英文、日文語言檔,確保 UI 標籤一致性。
|
2026-04-07 10:21:07 +08:00 |
|
sky121113
|
e085058d63
|
[FEAT] 遠端指令中心優化與規格同步
1. 實作遠端指令去重機制 (Supersede):避免重複下達相同待執行指令。
2. 修正遠端指令發送後的 Toast 提示邏輯,確保頁面跳轉後正確顯示回饋。
3. 增加 RemoteCommand 操作者 (user_id) 紀錄與狀態列舉擴充 (superseded)。
4. 修復機台列表「最後頁面」欄位對照錯誤,同步更新 Machine Model 與 API 規格。
5. 優化遠端指令中心 UI:放大卡片字體、調整側面欄間距,符合極簡奢華風規範。
6. 更新 API 技術規格書 (SKILL.md) 與 config/api-docs.php,補全所有機台代碼 (66-611) 與指令。
7. 補全繁體中文、英文、日文多語系翻譯檔案。
|
2026-04-02 14:57:41 +08:00 |
|
sky121113
|
3dbb394862
|
[REFACTOR] 移除機台管理與庫存設定中的貨道同步套用功能與日誌面板冗餘分頁
1. 移除 MachineController 貨道更新 API 的 apply_all_same_product 驗證規則。
2. 簡化 MachineService 的 updateSlot 邏輯,取消「同步套用至同機台其他相同商品」的批次異動功能以確保資料準確性。
3. 清理 index.blade.php 機台管理頁面中的「貨道狀態 (Slot Status)」分頁、相關 Alpine.js 函式與專用的貨道編輯 Modal。
4. 修正 stock.blade.php 庫存管理介面,移除編輯 Modal 內的同步切換開關。
|
2026-04-01 16:10:40 +08:00 |
|
sky121113
|
969e4df629
|
[STYLE] 修復機台庫存管理功能並全面升級極簡奢華風 UI
1. [FIX] 修復 MachineController 500 錯誤:注入缺失的 MachineService 執行個體。
2. [STYLE] 貨道卡片重構:改為垂直堆疊佈局,移除冗餘標籤,並優化庫存 (x/y) 與效期格式。
3. [STYLE] 極致化間距調優:壓縮全域 Padding 與 Gap,並將貨道編號絕對定位於頂部,提升顯示密度。
4. [FIX] 穩定性修復:解決 Alpine.js 在返回列表時的 selectedMachine 空值存取報錯。
5. [STYLE] UI 細節修飾:隱藏輸入框微調箭頭,強化編號字體粗細與位置精準度。
6. [DOCS] 翻譯同步:更新 zh_TW, en, ja 翻譯檔中關於庫存與貨道的語系 Key。
7. [FEAT] 整合遠端管理模組:新增並導航至 resources/views/admin/remote/stock.blade.php。
|
2026-04-01 15:26:21 +08:00 |
|
sky121113
|
953d6a41f3
|
[FEAT] 優化廣告與機台管理介面及效能
1. [廣告管理] 修復編輯素材時刪除按鈕顯示邏輯並優化預覽功能。
2. [廣告管理] 修正請求回傳格式為 JSON,解決 AJAX 解析錯誤。
3. [機台管理] 實作 Alpine.js 無感頁籤切換(機台列表與效期管理)。
4. [機台管理] 移除冗餘返回按鈕,改為動態標題與頁籤重設邏輯。
5. [機台管理] 統一後端查詢,減少切換分頁時的延遲感。
6. [商品管理] 支援商品圖片 WebP 自動轉換,並調整上傳大小限制 (10MB)。
7. [UI] 修正多個管理模組的 JS 時序競爭與 Preline HSSelect 重置問題。
|
2026-04-01 13:01:45 +08:00 |
|
sky121113
|
2e49129d77
|
[FEAT] 重構子帳號角色管理至子帳號頁籤,並全面標準化商品與機台模組 UI 樣式
Detail:
- 將「子帳號角色」從全域資料設定移入子帳號管理頁籤項下
- 移除冗餘的子帳號角色獨立權限,整合入子帳號管理權限
- 標準化商品列表與分類列表的圖示容器、懸停變色與奢華風陰影
- 修正分類名稱 (Category Name) 在 zh_TW 中的多語系缺漏
- 同步優化機台列表與權限管理介面的圖示交互效果
|
2026-04-01 09:53:30 +08:00 |
|
sky121113
|
44ef355c54
|
[FEAT] 完善機台授權模組:新增搜尋過濾功能、機台資訊排版優化、更換圖格裝飾並完成後端效能優化。
|
2026-03-30 13:48:22 +08:00 |
|
sky121113
|
17b5c1a316
|
[DOCS] 現代化 IoT API (B010) 通訊協議與文件中心 UI/UX 重整
|
2026-03-26 14:59:49 +08:00 |
|
sky121113
|
b7ff8ac01c
|
[FEAT] 完善帳號管理狀態切換功能、優化多語系提示與 UI 樣式一致性
|
2026-03-25 17:16:41 +08:00 |
|
sky121113
|
37ef6f1c10
|
[FEAT] 實作維修管理模組與 RBAC 權限整合、多語系支援及 UI 優化
|
2026-03-25 14:25:42 +08:00 |
|
sky121113
|
87ef247a48
|
[FIX] 整合機台效期管理功能並優化 UI 比例
- 修正 Alpine.js 作用域問題,恢復效期編輯彈窗功能
- 整合機台日誌與效期管理至主列表頁 (Index)
- 優化大螢幕貨道格線佈局,解決日期折行問題
- 縮小彈窗字體與內距,調整為極簡奢華風 UI
- 新增貨道效期與批號欄位之 Migration 與模型關聯
- 補齊中、英、日三語系翻譯檔
|
2026-03-24 16:46:04 +08:00 |
|
sky121113
|
38770b080b
|
[FEAT] 優化帳號管理授權顯示邏輯與 UI 樣式一致性
|
2026-03-23 17:16:26 +08:00 |
|
sky121113
|
fc79148879
|
[FEAT] 實作角色權限分類、租戶角控管理與介面多語系優化
1. [FEAT] 權限劃分為「系統層級」與「客戶層級」,並在後端強制過濾跨權限分配。
2. [FEAT] 整合選單權限至主選單層級 (基本設定、權限設定),簡化角色管理 UI。
3. [STYLE] 側邊欄優化:補齊多語系翻譯,並為基本設定子選單增加視覺圖示。
4. [REFACTOR] 更新 RoleSeeder,將 tenant-admin 重新分類為客戶層級角色。
|
2026-03-17 16:53:28 +08:00 |
|
sky121113
|
3ce88ed342
|
[FEAT] 重構機台日誌 UI 與增加多語系支援,並整合 IoT API 核心架構
- 機台日誌:對齊 Luxury UI 規範,實作整合式佈局與分頁組件。
- 多語系:完成機台日誌繁、英、日三語系翻譯與動態處理。
- UI 規範:更新 SKILL.md 定義「標準列表 Bible」。
- 後端:完善 TenantScoped 隔離邏輯,修復儀表板死循環與 User Model 缺失。
- IoT:擴展機台、會員 Model 並建立交易、商品、狀態等核心表結構。
- 基礎設施:設置台北時區與 Docker 環境變數同步。
|
2026-03-16 17:29:15 +08:00 |
|
sky121113
|
1851e91c86
|
[REFACTOR] 簡化權限管理介面,整合權限設定至角色管理,並完成多語系支援
|
2026-03-16 13:47:16 +08:00 |
|
sky121113
|
56daf8940b
|
[FEAT] 優化部署流程:加入 RoleSeeder 與 AdminUserSeeder,並實作權限系統基礎架構與多租戶隔離機制
|
2026-03-13 17:35:22 +08:00 |
|
sky121113
|
75a70a256d
|
[FEAT] 新增機台系統日誌列表與極簡奢華風 UI
|
2026-03-09 13:09:50 +08:00 |
|
sky121113
|
c30c3a399d
|
feat: 實作機台日誌核心功能與 IoT 高併發處理架構
|
2026-03-09 09:43:51 +08:00 |
|
mama
|
aa708e9ac7
|
feat: 實作後台導航選單系統與狀態持久化
- 新增 14 個模組的路由與控制器佔位符
- 實作可展開式側邊欄選單 (Sidebar Menu)
- 優化選單樣式與主題適配
- 實作選單展開狀態持久化 (LocalStorage)
- 修復子選單縮排與顏色問題
|
2025-12-16 23:21:11 +08:00 |
|
mama
|
c7cbe7edb7
|
first commit
|
2025-11-21 17:15:27 +08:00 |
|