sky121113
c3e60b8746
[FEAT] 新增商品 Excel 批量匯入與模板下載功能
...
1. 新增 ProductImportService 服務,實作 Excel 商品檔案解析、欄位驗證、多租戶 company_id 歸屬處理及資料批量寫入/更新邏輯。
2. 在 ProductController 新增 import 與 downloadTemplate 動作,處理檔案接收驗證與匯出,並在匯入後自動重建該公司商品目錄快取。
3. routes/web.php 新增商品下載模板與 Excel 匯入的專用路由。
4. 重構 products/index.blade.php,新增極簡奢華風商品匯入 Modal、檔案拖放/選擇區,並採用 Alpine.js 進行彈窗開啟與非同步上傳 API 交互。
5. 擴充 components/page-header.blade.php,使頁面主標頭支援渲染多個操作按鈕 (actions 插槽),以配合新增的「匯入商品」按鈕。
6. 同步更新 lang/zh_TW.json 與 lang/en.json,對齊「商品匯入成功」、「請選擇公司」等相關語系翻譯。
7. 微調 AdvertisementController,維持全站 Controller 進度對齊。
2026-05-28 11:19:00 +08:00
sky121113
dd5e78a9ff
[FIX] 修正 APK 版本強制更新開關永遠為開啟的 Bug
...
1. 修正 ApkVersionController::store() 中 is_forced 欄位的判斷邏輯
2. 原邏輯使用 $request->has('is_forced') 判斷,但因表單含 hidden input (value=0),導致 key 永遠存在,has() 永遠回傳 true
3. 改用 $request->boolean('is_forced') 直接讀取欄位值,正確將字串 '0' 轉為 false、'1' 轉為 true
2026-05-27 17:17:26 +08:00
sky121113
62f54499ce
[FIX] 移除角色權限設定中已廢棄的特殊權限模組
...
1. 修改 PermissionController 中的 activeModules 清單,將已不存在的「特殊權限 (menu.special-permission)」模組移除,修正權限篩選邏輯。
2. 同步修改 role-card.blade.php 與 role-list.blade.php 視圖,將特殊權限從模組列表陣列中剔除,確保角色詳情卡片的權限計數與標籤顯示精確無誤。
2026-05-27 10:03:14 +08:00
sky121113
7dee52a00a
[FEAT] 新增 OTA APK 版本管理與更新部署功能
...
1. 新增 `ApkVersion` Model 與對應的資料表遷移檔 (`create_apk_versions_table`),用以記錄 APK 版本、代碼、風味、更新說明、下載連結與更新模式等欄位。
2. 實作 `ApkVersionController` 控制器,提供 APK 版本之 CRUD(列表、建立、刪除)以及 OTA 推送功能。
3. 移除了 `SpecialPermissionController` 中舊有的 `apkVersions` 占位路由方法,並於 `routes/web.php` 的基本設定 (`basic-settings`) 下新增完整的 APK 版本管理與推送路由。
4. 於 `RoleSeeder.php` 角色種子資料中為 Super Admin 與系統管理員新增 `menu.basic.apk-versions` 權限。
5. 於 `sidebar-menu.blade.php` 基本設定選單中,加入「APK版本管理」之子選單選項,並以對應權限進行防護。
6. 實作 APK 版本列表與上傳頁面 Blade 視圖,採用 Preline UI 與 Alpine.js 提供極簡奢華風的 UI 互動,包含檔案上傳拖曳與 OTA 設備選擇部署彈窗。
7. 更新繁體中文語系檔 `zh_TW.json`,對齊所有新增之 OTA 韌體與版本管理翻譯字詞。
2026-05-22 16:51:21 +08:00
sky121113
f59efc6dc7
[FIX] 補齊與優化來店禮、通行碼、取貨碼之多語系與介面欄位呈現
...
1. 移除非必要之 Log 備註:從來店禮使用記錄 (Logs) 的電腦版與行動版畫面中,徹底移除了無業務參考價值的技術備註 (Remark) 欄位,優化排版空間以符合極簡奢華風 UI 設計。
2. 補齊與對齊三語系檔案:補齊來店禮、通行碼與商品領取所缺少的多語系 Key,三個語系 JSON 檔 (zh_TW, en, ja) 的 Key 與行數已 100% 完美對齊 (共 2,255 行) 且完成升冪字母排序 (ksort)。
3. 簡化 Guest 票券大標題:簡化 Guest 端三種票券頁面 (通行碼、取貨碼、來店禮) 的大標題多語系拼接結構,改為單一乾淨的翻譯 Key 呼叫。
4. 口語化翻譯微調:將 Pickup Code 在語系檔中的中文翻譯由「領取碼」微調為更口語、直覺的「取貨碼」。
5. 優化 Guest 頁面欄位:將取貨碼頁面的「機台序號」替換為更具溫度的「機台名稱」;通行碼與來店禮頁面則徹底隱藏機台序號,優化用戶體驗。
2026-05-22 14:46:26 +08:00
sky121113
016cb571c4
feat: 合併 A4 極簡奢華風列印功能與多租戶防護
2026-05-22 10:24:30 +08:00
sky121113
4dad775568
[FIX] 修正台灣地址解析經緯度失敗問題
...
1. 新增 cleanFloorInfo 方法,過濾地址末尾的樓層、室、地下室等非門牌雜訊,防範 Nominatim 解析失敗。
2. 重構 parseTaiwanAddress 的路名拆分正則表達式,導入層級感知台灣地址結構,避免含有「巷、弄」的地址被提前截斷。
2026-05-22 09:51:05 +08:00
sky121113
b6e5b825a5
[STYLE] 將溫度過低告警側邊條顏色調整為警示紅色
2026-05-21 17:09:00 +08:00
sky121113
95ed1494e2
Merge branch 'feat/discord-notification' into dev
...
# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
#
# Lines starting with '#' will be ignored, and an empty message aborts
# the commit.
2026-05-21 16:39:32 +08:00
sky121113
14ecfdcc8d
feat(warehouse): 實作調撥與補貨單商品快照機制,並修復商品無圖片時的預設圖示 fallback 顯示
2026-05-21 16:25:48 +08:00
sky121113
dac00291a7
feat: 實作調撥單與機台補貨單的 A4 極簡奢華風列印功能與多租戶雙重防護
2026-05-21 15:43:43 +08:00
sky121113
205da14e94
[FEAT] 優化溫度告警狀態轉移邏輯與完善機台專屬通知設定 UI
...
1. 修正 `ProcessHeartbeat.php` 溫度告警判定邏輯,避免溫度在「高低溫異常狀態」直接轉換時,誤發含有異常溫度的「恢復正常」通知。
2. 實作機台層級自訂通知類型 (`notify_types_mode`) 功能,支援繼承全域設定或獨立指派通知類型(連線、溫度、硬體異常)。
3. 優化前端 UI 邏輯,當選擇自訂通知且包含「溫度告警」時,方才顯示溫度上下限輸入區塊。
4. 修正複製機台設定功能 (copy-machine) 的行為,確保能正確複製 `discord_notify_types` 並重設選擇器狀態。
5. 新增與更新中、英、日語系翻譯字串。
2026-05-21 14:34:55 +08:00
sky121113
2e3d6e5572
[STYLE] 優化機台型號與通知設定介面並調整溫度為整數告警
...
1. 調整 Discord 通知設定介面的間距與對齊,使其與基本設定中的機台設定保持一致。
2. 重構機台型號設定 Modal,將溫度上下限的輸入框改為「極簡奢華風」的加減按鈕元件。
3. 更新機台型號溫度相關的設定與顯示,強制限制與轉換為整數 (移除小數點)。
4. 將機台型號的溫度限制相關介面文字更新為「告警」相關字眼 (預設溫度告警上限、預設溫度告警下限等)。
5. 於中、英、日語系檔案中新增溫度告警相關之翻譯鍵值。
2026-05-21 13:25:28 +08:00
sky121113
b3d00a9bef
feat: 重構 Discord 雙 Tab 告警設定與機台自適應溫控三層繼承鏈,並導入 Modal 內拉式複製 UX
2026-05-21 10:05:36 +08:00
sky121113
39ea74a52e
[FIX] 修正商品軟刪除之出貨歷史關聯與圖片破圖優化
...
1. 於 DispenseRecord、OrderItem 及 MachineStockMovement 模型之 product 關聯中加入 withTrashed(),確保被軟刪除商品的歷史快照仍可正常讀取。
2. 將 tab-dispense.blade.php、order-detail-panel.blade.php 及 SalesController 報表導出中的 product->name 統一修改為 product->localized_name ?? __('Unknown Product'),支援多語系切換與翻譯並替換 'Unknown' 為 '未知商品'。
3. 在銷售明細的商品圖片區塊整合 Alpine.js x-on:error 動態破圖防呆機制,一旦偵測到破圖或刪除實體圖,自動無縫退回精緻的 3D 箱子預設占位 SVG,消除破圖小圖標以維護全站極簡奢華風的視覺美感。
2026-05-19 17:25:10 +08:00
sky121113
1ee57f3e88
feat(auth): 實作後台單一設備登入,並套用 auth.session 中間件
2026-05-19 16:51:43 +08:00
sky121113
1aa5aed72e
feat(sales): 升級銷售紀錄高奢翡翠綠導出下拉選單與修復進度條卡死
2026-05-19 12:33:06 +08:00
sky121113
1778d48a00
[FIX] 員工卡匯入時自動清除欄位前後空白字元
...
1. 於 `StaffCardImportService` 中,將讀取自 Excel 的員工編號(employee_id)與卡片 UID(card_uid)使用 `trim()` 去除前後空白字元,防止因複製貼上夾帶空格導致後續比對與搜尋失效。
2. 同步將姓名(name)與備註(notes)也進行去空白處理,提升資料的一致性與品質。
2026-05-19 11:40:59 +08:00
sky121113
433714d9b0
[FEAT] 銷售紀錄新增員工卡交易資訊關聯、搜尋與介面展示
...
1. 於 Order 模型中定義 staffCardLog 關係以關聯 StaffCardLog。
2. 於 SalesController 列表查詢(index)與單筆詳情(show)中進行極致效能優化,限定 Eager Loading 僅撈取必要欄位(id, employee_id, name, card_uid),避免 N+1 查詢與記憶體開銷。
3. 擴充 SalesController 的銷售紀錄搜尋過濾邏輯,新增支援員工姓名、工號與感應卡號的模糊搜尋。
4. 修改 tab-orders 桌面版表格與手機版卡片視圖,為員工卡支付的訂單加上精美的員工卡 icon 與「姓名 (工號)」徽章。
5. 修改 order-detail-panel 側滑詳情面板,新增「員工卡資訊」網格區塊,展示員工姓名、工號、卡片 UID 與備註欄位。
6. 更新 zh_TW.json 補齊「員工卡資訊」的繁體中文翻譯,確保全站語言一致。
2026-05-19 10:54:18 +08:00
sky121113
916d0891f1
[FEAT] 新增分析管理與子項目的角色權限配置
...
1. 在 RoleSeeder 中註冊分析管理的 4 個子權限(零錢庫存、機台報表、商品報表、問卷分析),並僅指派「商品報表」權限給租戶管理員模板。
2. 在 PermissionController 與視圖 (role-list, role-card) 的 activeModules 白名單中加入 menu.analysis,使數據分析大項能正常被撈取與顯示。
3. 修改 sidebar-menu.blade.php,用 @can 防護數據分析子選單;修改 web.php 為 4 個分析路由掛載 middleware('can:...') 路由防護。
4. 補全 zh_TW.json、en.json、ja.json 翻譯檔案中關於 4 個新分析權限的金鑰與翻譯文字。
5. 修復 2026_05_11_163543_add_missing_types_to_machine_stock_movements_table.php 歷史 migration 以相容 SQLite 測試。
6. 新增 AnalysisPermissionTest.php 測試案例並於本地測試通過,保證多租戶與 RBAC 架構之權限隔離與防越權機制 100% 正確運作。
2026-05-18 17:22:45 +08:00
sky121113
154a2e0553
[FEAT] 重構與優化商品利潤統計報表功能
...
1. 【後端優化】重構 AnalysisController.php,以高效單次 SQL 統計計算銷量、銷額、總成本與淨利,套用 company_id 進行多租戶隔離,支援超級管理員跨租戶查詢,並解決 MySQL only_full_group_by 嚴格模式的 group by 語法相容問題。
2. 【前端介面】全新實作 product-reports.blade.php 極簡奢華風視圖,整合 Flatpickr 雙向日期區間選擇與「近 7 日、今日、本週、上週、本月、上月」快速切換快捷按鈕。
3. 【圖表自適應】整合 ApexCharts 銷售走勢曲線與圓餅圖,設計 PHP 端走勢數據日補零機制,並導入 ResizeObserver 進行圖表寬度百分之百響應式重繪。
4. 【尊榮數據導出】提供複製 (tsv)、CSV、Excel 與 PDF/列印的多維度導出引擎控制項。
5. 【高級前端分頁】對齊銷售紀錄規格,實作 Alpine.js 純前端高級分頁與 Show 10/25/50/100 筆數選擇器,並修復 select 動態 option 渲染時 ES6 template string 逸出問題。
6. 【細節齊平與遮擋修正】將日期 Input 寬度由 sm:w-56 拓寬至 sm:w-72,將日曆 Icon 左邊距從 pl-3.5 改進為 pl-5,Input 文字內左距調整為 pl-13,達到與 searchable-select 的 100% 齊平對齊,並配置跨卡片遞降 z-index 層級(z-40 -> z-30 -> z-20)徹底解決下拉選單在電腦版被下方走勢圖 Card 遮擋/截斷的 Bug。
7. 【多語系支援】於 zh_TW.json, en.json, ja.json 補強指標中英日翻譯。
8. 【選單整合】於 sidebar-menu.blade.php 的數據分析模組下正式啟用「商品報表」選單項目。
2026-05-18 14:46:17 +08:00
sky121113
17c7a26ef4
[FIX] 修復員工識別卡最後使用狀態更新、刪除頁面顯示 JSON 與語系遺漏問題
...
1. 在 StaffCardLog 模型中實作 booted() 事件監聽器,於刷卡日誌建立後自動更新關聯員工識別卡的「最後使用時間」與「最後使用機台」,並使用 withoutGlobalScopes 確保寫入安全。
2. 修正 StaffCardController 刪除方法(destroy),判斷 AJAX 請求以回傳 JSON,其餘一般表單刪除後則正常重導向回列表頁,解決刪除時跳轉至 JSON 純文字的問題。
3. 補齊多語系語系檔(zh_TW.json, en.json, ja.json)中有關「刪除員工識別卡」的翻譯對照,確保 UI 刪除警告在不同語言環境下均能完美呈現。
2026-05-18 13:37:21 +08:00
sky121113
e29826a0a6
[STYLE] 優化機台補貨語意,將「一鍵補貨」修正為「自動補貨單」
...
1. 修改 lang/zh_TW.json 的翻譯鍵 "Auto Replenishment" 對照值為「自動補貨單」,使其與手動「新增補貨單」在視覺與語意上形成直覺的對比,實事求是,消除「一鍵」但仍需彈窗選倉庫的 UX 誤導。
2. 同步將 app/Http/Controllers/Admin/WarehouseController.php 中的 autoReplenishment PHPDoc 註解替換為「自動補貨單」。
3. 同步修改 resources/views/admin/warehouses/replenishments.blade.php 中的 JS 代碼註解,將「一鍵補貨」修正為「自動補貨單」。
4. 同步更新 resources/views/admin/warehouses/partials/modal-replenishment-auto.blade.php 模板首行的 Blade 註解。
2026-05-18 13:14:29 +08:00
sky121113
86e895a4ae
[FEAT] 實作智慧型機台登入異常告警與自動自我修復機制
...
1. [Models] 修改 Machine.php,增加 has_login_warning 動態屬性,設定未解決之登入失敗日誌須達 3 筆以上才亮起「登入異常」警報。
2. [Models] 重構 scopeHasAnyAlert 查詢,確保當未解決之登入失敗日誌未達 3 筆時,不會計入儀表板的「待處理告警 (Alerts Pending)」統計。
3. [API] 修改 MachineAuthController.php,在 B000 登入成功時加入自動自我修復 (Self-healing) 邏輯,一鍵將先前該機台的所有未解決登入失敗日誌標記為已解決 (is_resolved = true)。
4. [Views] 修改 admin.dashboard 及 admin.machines.index,新增登入異常警告 (Login Alert) 的琥珀色徽章與動態提示,並將儀表板上的機台卡片標題改為點擊可跳轉至對應機台之篩選列表。
5. [Lang] 更新 zh_TW.json、en.json 與 ja.json,新增多語系翻譯對照詞彙。
2026-05-18 09:50:51 +08:00
sky121113
1b63ec6c56
feat(profile): increase profile photo upload limit to 5MB and verify webp storage
2026-05-17 13:09:39 +08:00
sky121113
ea438d55d1
[FEAT] 實作系統管理員切換帳號 (Impersonate) 功能
...
1. 新增 `ImpersonateController` 處理帳號切換與退出邏輯,並提供公司與使用者的動態下拉選單 API (包含 username 支援)。
2. 於 `admin.blade.php` 的 Header 個人選單中加入「切換帳號」入口,並支援退出切換狀態的顯示。
3. 實作 `modal.blade.php` Alpine.js 彈窗,使用專案規範的 `x-searchable-select` 動態重建模式 (Dynamic Rebuild Pattern) 與 `focus-within:z-[60]` 防護。
4. 註冊相關 Web Routes。
5. 更新 `ui-minimal-luxury/SKILL.md`,新增 Alpine.js Modal 實作規範,並禁止使用 `hs-overlay` 避免層級堆疊問題。
2026-05-17 11:07:41 +08:00
sky121113
cf2c2f6e39
[FIX] 修正通行碼載入失敗問題,並標準化所有單據模組的日期篩選器 UI
2026-05-16 23:41:23 +08:00
sky121113
c014d7431c
[FIX] 修正重啟後產生重複機台日誌的問題並重構邏輯一致性
...
1. 修正 ProcessHeartbeat 在快取失效時會誤報韌體與溫度的問題。
2. 引入 Database Fallback 機制:當 Redis 無紀錄時自動比對資料庫現有值。
3. 統一韌體與溫度的偵測邏輯,確保兩者皆為「比對舊值 -> 異動才記 -> 補回快取」。
4. 提升系統對 CI/CD 重啟或快取清理的容錯能力。
2026-05-16 21:45:18 +08:00
sky121113
080412d2b3
[FEAT] 優化遠端管理與庫存歷史紀錄之日期篩選介面
...
1. 將單一日期區間選擇器拆分為獨立的「開始時間」與「結束時間」輸入框,提升手機版適應性。
2. 修正後端解析邏輯,移除強制 startOfDay() 以支援使用者選擇的精確分鐘數。
3. 修復庫存管理頁面中「截止日」欄位的 HTML 標籤閉合錯誤 (r">" 亂碼)。
4. 導入 Flatpickr defaultDate 與 position 參數,解決時間選擇器 UI 不對齊與邊緣裁切問題。
5. 更新標籤翻譯為「開始時間」與「結束時間」,並補齊庫存分頁的 Alpine.js 預設日期狀態。
2026-05-16 21:25:47 +08:00
sky121113
9bf670b951
fix: update low stock warning threshold to 20% of max_stock
...
1. 移除硬編碼的門檻值 5。
2. 改用 stock <= (max_stock * 0.2) 進行動態判斷。
3. 增加 max_stock > 0 過濾,避免空貨道產生錯誤警示。
2026-05-16 20:07:12 +08:00
sky121113
88dde0dd25
fix: remove redundant 4-hour temperature fallback log to reduce noise
2026-05-16 16:49:38 +08:00
sky121113
450e6dbe67
[FEAT] 金流配置優化:公司名稱改為選填並優化列表顯示
...
1. 新增資料庫遷移腳本,將 payment_configs 資料表的 company_id 欄位改為可為空 (nullable)。
2. 修改 PaymentConfigController 的驗證邏輯,允許 company_id 為空值。
3. 調整金流配置的新增與編輯頁面,移除公司名稱的必填限制及相關 JavaScript 攔截邏輯。
4. 優化金流配置列表,當配置未綁定公司時,將顯示標籤改為「系統」。
2026-05-15 17:28:33 +08:00
sky121113
2f550839cc
[FEAT] 客戶管理欄位(客戶代號、起始日)非必填化
...
1. 新增遷移檔將 companies.code 改為 nullable 並增加長度至 100,解決刪除時字串過長的問題。
2. 修改 CompanyController 驗證邏輯,允許 code 與 start_date 為空。
3. 更新前端公司管理頁面,移除 code 與 start_date 的必填限制與 UI 標記。
2026-05-15 17:02:59 +08:00
sky121113
239ab7fafd
[FIX] 修正新增客戶時初始帳號未標記為管理員的問題
...
1. 在 CompanyController 新增客戶時,明確為初始管理員帳號加上 is_admin = true,確保其在各權限管理介面能正確顯示。
2026-05-15 15:05:43 +08:00
sky121113
143050a5c6
fix: improve advertisement notification feedback and error handling
2026-05-15 14:01:50 +08:00
sky121113
0685c71141
[FIX] 修復廣告圖片上傳失敗與優化錯誤提示
...
1. 修正正式環境 Nginx client_max_body_size 限制導致的上傳失敗問題(已於 Host 端同步修正)。
2. 在 AdvertisementController@store 加入 try-catch 區塊與 Log 紀錄,確保圖片處理異常時回傳 JSON 錯誤。
3. 優化前端上傳 AJAX 邏輯,當發生 413 (檔案太大) 或 500 錯誤時提供明確的提示訊息。
2026-05-15 13:50:33 +08:00
sky121113
752d149940
[FEAT] 支援機台計畫性重啟狀態與語系更新
...
1. 修改 ProcessStatus Job,支援處理 'restarting' 狀態,並將其記錄為 INFO 層級而非警告。
2. 更新繁體中文與日文語系檔,新增「重啟中 / 再起動中」的翻譯。
3. 確保計畫性重啟不會觸發異常離線警報。
2026-05-14 18:07:53 +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
3d1ddd5b91
[FEAT] 實作機台智慧連線監控與儀表板告警同步優化
...
1. [Machine Model] 實作智慧抖動偵測邏輯 (Jitter Detection),判定 1 小時內斷線 3 次以上為不穩定機台。
2. [Machine Model] 優化 calculated_status,機台在線時自動忽略歷史斷線警告,並修正 scopeHasAnyAlert 排除連線類告警。
3. [ProcessStatus Job] 實作自動消警機制 (Auto-resolve),機台恢復連線時自動處理舊的斷線告警。
4. [Dashboard] 同步儀表板「待處理告警」統計,確保與機台列表狀態一致。
5. [UI] 於機台列表與儀表板同步新增琥珀色閃電圖示 (⚡ ) 與不穩定提示 Tooltip。
6. [i18n] 新增連線不穩定相關之繁體中文翻譯詞條。
2026-05-14 16:20:59 +08:00
sky121113
11671f3a2b
[REFACTOR] 修改員工識別卡匯入邏輯:改以員工編號作為比對基準
...
1. 修改 StaffCardImportService,將 updateOrCreate 的比對欄位從 card_uid 改為 employee_id。
2. 這樣當員工補發新卡時,透過 Excel 匯入相同的員工編號即可直接更新其卡號。
2026-05-14 14:33:07 +08:00
sky121113
cc03572dd9
[FEAT] 實作員工識別卡 Excel 批量匯入功能與範例下載
...
1. 新增 StaffCardImportService,整合 OpenSpout 5.x 處理解析與批量更新邏輯。
2. 在 StaffCardController 加入匯入與範例下載 API 端點。
3. 更新員工識別卡 index 視圖,新增「匯入 Excel」按鈕與 Alpine.js 異步匯入彈窗。
4. 註冊相關 Web 路由。
5. 補全繁中、日文、英文多語系翻譯,並修復重複鍵值。
6. 修復 OpenSpout 5.x 相容性問題 (Row::getCells -> Row::toArray)。
2026-05-14 14:26:35 +08:00
sky121113
87c4c281a1
[FEAT] 新增廣告狀態切換功能與優化商品操作紀錄介面
...
1. 新增廣告管理狀態切換 (Toggle Status) 功能,包含後端 API、路由與前端 UI 實作。
2. 優化商品操作紀錄 (Audit Logs) 的過濾介面,統一使用 x-searchable-select 並修正搜尋圖示樣式。
3. 擴充 SystemOperationLog 模型,支援自動解析操作目標名稱 (含 code 欄位備援)。
4. 優化商品操作紀錄查詢效能,預載入 (Eager Load) target 關聯資料。
5. 更新多語系檔案 (zh_TW, en, ja),新增廣告狀態切換相關文字。
2026-05-14 13:02:08 +08:00
sky121113
b87fae8eb1
[FEAT] 優化商品操作紀錄清單與多語系支援,並修復全域快取錯誤
...
1. 修復 ProductCatalogService 在處理全域商品(company_id 為 null)時引發的型別錯誤
2. 在操作紀錄清單新增「操作人員」欄位,並優化手機版顯示
3. 將「MODULE / 目標」欄位更名為更直覺的「操作目標」
4. 於 status-badge 元件加入操作紀錄(CREATE, UPDATE, DELETE)的專屬顏色與多語系對應
5. 補齊 zh_TW.json 缺漏的機台權限、操作動作與商品相關欄位多語系翻譯
2026-05-14 11:52:01 +08:00
sky121113
256d996918
[STYLE] 商品管理介面多語系標準化與側邊欄 UI 優化
...
1. 完成商品詳細資訊側邊欄 (Slide-over) 的全面多語系化,修復部分標題顯示英文的問題。
2. 重構 Alpine.js 的 getCategoryName 函式,優先顯示 localized_name。
3. 更新 zh_TW.json 補齊缺失的翻譯鍵值 (包含同步指令提示、側邊欄區塊標題等)。
4. 優化分頁與分頁大小切換邏輯,支援新增的日誌 (Logs) 分頁。
5. 調整同步指令錯誤訊息為通用語氣,提升不同角色下的使用者體驗。
2026-05-14 11:25:43 +08:00
sky121113
9ff9abef89
[FEAT] 實作「同步到所有機台」功能與商品資料同步機制
...
1. 在商品管理介面新增「同步到所有機台」按鈕與 Alpine.js 確認彈窗。
2. 實作後端 syncToAllMachines 控制器邏輯,並加入同一公司 1 分鐘內禁止重複發送的限制。
3. 建立 SyncProductsToMachinesJob 與 SendProductSyncCommandJob 非同步隊列任務,支援舊指令覆蓋機制。
4. 補全繁體中文、英文與日文的多語系翻譯字串。
5. 更新遠端指令日誌視圖,支援展示商品同步指令及其備註。
6. 更新 MQTT 通訊規範與 API 技術規格文檔,納入 update_products 指令。
7. 整合 update_ads 與 update_products 指令至 config/api-docs.php 的系統指令規格中。
2026-05-14 09:33:43 +08:00
sky121113
2c8a2de81c
[FEAT] 實作商品主檔 B012 Redis 快取機制 (Phase 1)
...
1. 新增 ProductCatalogService 負責商品清單轉換與 Redis 快取邏輯。
2. 新增 WarmProductsCacheCommand (artisan products:warm-cache) 用於預熱快取。
3. 修改 ProductController 在商品異動時自動重建快取。
4. 修改 MachineController@getProducts (B012) 改為 Cache-First 讀取。
5. 在 Company 模型補上 products 關聯以支援暖機指令。
2026-05-13 18:51:35 +08:00
sky121113
f9d3217099
[FEAT] 優化廣告素材上傳體驗與進度顯示
...
1. 在廣告建立與編輯彈窗中實作基於 XMLHttpRequest 的 AJAX 上傳機制。
2. 新增即時上傳進度條顯示,並整合全域頂部載入條。
3. 實作上傳期間禁用提交按鈕與顯示「上傳中...」狀態,提升使用者反饋感。
4. 更新 AdvertisementController 確保 JSON 回應後能正確快閃成功訊息至 Session。
2026-05-13 17:37:18 +08:00
sky121113
69e825aeb3
[STYLE] 調整 IoT API 回應格式與程式碼風格
...
1. 移除 B005, B012, B014, B017 回應中的 message 欄位,以相容機台端的解析邏輯。
2. 統一 MachineController 內的型別轉換格式與程式碼縮排。
3. 同步更新 api-docs.php 文件範例,移除多餘的 message 欄位。
2026-05-13 14:17:24 +08:00
sky121113
0e6f5b703c
[FIX] 標準化 IoT API 回應格式 (B005, B012, B014, B017)
...
1. 修正 B005 (廣告同步) API,將數值欄位轉為整數並補齊 message 欄位,以符合 Java APP 預期格式。
2. 標準化 B012, B014, B017 等 IoT 端點回應結構,統一加入 "message": "OK" 欄位。
2026-05-13 14:11:26 +08:00
sky121113
ce87f453a2
[FEAT] 優化廣告同步與指令中心 UI
...
1. 廣告管理:將原生 confirm 替換為極簡奢華風 Alpine.js 彈窗,並新增「操作備註」欄位與「目標機台」顯示。
2. 指令中心:在指令確認彈窗中新增「目標機台」顯示,並優化 UI 佈局。
3. 多語系支援:新增 Sync Ads (同步廣告) 至 zh_TW, en, ja 語系檔,並應用於指令中心與篩選列。
4. 後端邏輯:更新 AdvertisementController,將操作備註正確存入 RemoteCommand 的 remark 欄位。
5. 指令規範:同步更新 MQTT 通訊規範 (SKILL.md) 與 API 文件 (api-docs.php),加入 update_ads 指令說明。
2026-05-13 13:51:24 +08:00
sky121113
7d3e25d090
[FIX] 優化庫存輸入邏輯與數值處理
...
1. 在 MachineController 中加入庫存數值強制轉型邏輯,確保後端驗證前已處理字串數值(如 "01" 轉為 1)。
2. 在遠端庫存調整介面中,為 Alpine.js 的 x-model 加入 .number 修飾符,強化前端資料類型一致性。
2026-05-13 10:25:21 +08:00
sky121113
2fd6419129
[FEAT] 商品圖片尺寸標準化與自動裁切功能實作
...
1. 增強 ImageHandler trait,支援居中裁切(Center Crop)與指定尺寸縮放功能。
2. 更新 ProductController 的 store 與 update 方法,強制將商品圖片處理為 320x320 像素之 WebP 格式。
3. 優化 create 與 edit 商品頁面,新增 320x320 建議尺寸與自動裁切之提示文字。
4. 新增繁體中文、英文與日文的多語系翻譯對應。
2026-05-13 09:46:24 +08:00
sky121113
426253b1c3
[FEAT] 強化遠端指令中心的操作備註功能
...
1. 新增 remote_commands 資料表的 remark 欄位以儲存操作備註。
2. 更新 RemoteCommand 模型,將 note 與 remark 加入可批量賦值名單。
3. 更新 MachineService 的 dispatchDispense 函式,支援接收與記錄操作備註。
4. 更新 RemoteController 的 storeCommand 邏輯,將前端輸入的備註存入 remark 並支援遠端出貨指令。
5. 優化操作紀錄搜尋邏輯,支援搜尋備註欄位。
6. 重構指令中心操作紀錄介面,桌面版新增「操作備註」欄位,並優化手機版卡片顯示。
7. 調整表格欄位寬度與標頭樣式,解決「指令類型」寬度過大的問題。
2026-05-12 17:15:53 +08:00
sky121113
ad921011f0
[STYLE] 優化機台日誌顯示與多語系支援
...
1. 將員工卡與取貨碼驗證失敗的日誌層級由 WARNING 調降為 INFO。
2. 將日誌訊息字串改為支援多語系翻譯的佔位符格式。
3. 新增員工卡與取貨碼驗證失敗的繁中、英文、日文翻譯。
2026-05-12 16:00:40 +08:00
sky121113
a290d5b306
[FIX] 優化 MQTT 錯誤代碼翻譯與交易核銷邏輯
...
1. 更新 MQTT 錯誤代碼 0205 的標籤為 Slot sensor blocked,並將繁體中文翻譯修正為「貨道口有物」,同步更新多語系檔 (zh_TW, en, ja)。
2. 修改 TransactionService,移除遠端出貨 (payment_type: 100) 在交易結案時的 code_id 自動核銷邏輯。
3. 更新 SKILL.md 與 api-docs.php 規格文件,將「通行碼 (5)」納入 code_id 核銷範圍,並移除遠端出貨的說明。
2026-05-12 14:27:00 +08:00
sky121113
2cf33cfbb4
[FIX] 優化遠端指令鎖定機制與補全 API 文件
...
1. 實作庫存更新 (reload_stock) 的「直接覆蓋 (Supersede)」模式,允許管理員即時覆寫待執行指令,提升操作流暢度。
2. 為遠端出貨 (dispense) 增加 1 分鐘自動逾時機制,解決因未收到 ACK 導致貨道永久鎖定的問題。
3. 拆分庫存更新與遠端出貨的併行檢查邏輯,確保兩者互不干擾。
4. 更新 API 技術文件,補全遠端出貨 (payment_type: 100) 與閉環勾稽參數 (code_id) 的規格說明。
2026-05-12 10:17:51 +08:00
sky121113
3bb5d8cfcc
[FIX] 修正遠端出貨指令逾時處理機制與補全多語系支援
...
1. 建立資料庫遷移,於 remote_commands 的 status ENUM 中新增 timeout 狀態,修復 Data truncated 錯誤。
2. 更新 MachineService::dispatchDispense 邏輯,當指令超過 1 分鐘未回報時自動標記為 timeout 並記錄原因。
3. 於 zh_TW.json 與 en.json 補全 timeout、superseded 狀態及相關備註的翻譯。
4. 更新 status-badge 元件預設值,支援遠端指令相關狀態(sent, success, failed, timeout, superseded)並套用視覺樣式。
2026-05-12 08:57:27 +08:00
sky121113
53ced5ca5b
[FEAT] 遠端出貨指令支援 1 分鐘逾時覆蓋機制
...
1. 修改 MachineService::dispatchDispense:若同貨道有 pending 指令,超過 1 分鐘未回報則視為逾時,自動將舊指令標記為 timeout 並允許新指令覆蓋下發。
2. 1 分鐘內仍有 pending 指令則維持拒絕,防止短時間重複出貨。
2026-05-11 18:04:42 +08:00
sky121113
34f1e823f0
[FIX] 修正庫存異動類型缺失與統一交易扣庫邏輯
...
1. 補全 machine_stock_movements 資料表 type 欄位缺失的 sale 與 decommission 列舉值,修復 SQL 寫入失敗問題。
2. 重構 TransactionService:移除過時的 remote_dispense 判斷,將所有經由交易流程(含支付代碼 100)的出貨統一記錄為 sale 異動。
3. 更新 MachineService:將 B009 貨道同步時的移除動作類型由 adjustment 改為正確的 decommission。
4. 語系更新:於 zh_TW.json 與 en.json 補全硬體狀態碼 0205 (貨道有物) 的翻譯。
2026-05-11 17:13:41 +08:00
sky121113
ee47f65523
[FEAT] 優化機台重啟狀態處理邏輯
...
1. 在 ProcessStatus Job 中新增對 restarting 狀態的判斷。
2. 若機台處於計畫性重啟狀態,則不寫入狀態變更日誌,避免後台誤報。
2026-05-11 14:15:26 +08:00
sky121113
284d56a544
[REFACTOR] 支付方式多語系化與 UI 響應式優化
...
1. [REFACTOR] Order 模型:將支付類型標籤改為多語系轉譯,支援繁中、英、日。
2. [FEAT] 補全 lang/*.json 中的支付類型翻譯。
3. [STYLE] layouts/admin.blade.php:優化電腦版與手機版邊距佈局。
4. [STYLE] 銷售紀錄分頁:優化手機版 info grid 響應式顯示。
5. [FIX] 銷售紀錄:恢復手機版完整日期時間格式。
6. [DELETE] 移除 B710 (Timer Sync) 冗餘代碼與路由。
7. [DOCS] 更新 API 文件配置。
2026-05-11 11:01:48 +08:00
sky121113
6decba6cb6
[FIX] 優化 B009 同步機制、庫存排序與修正管理後台 UI 遮擋問題
...
1. 實作 B009 貨道全量同步與拆除 (decommission) 紀錄機制。
2. 優化機台庫存概覽排序邏輯,優先顯示低填充率 (需補貨) 之機台。
3. 修正新增機台 Modal 的 z-index 層級與 overflow 限制,解決下拉選單被蓋住的問題。
4. 修復機台庫存分頁中的 JS 語法錯誤並新增貨道拆除狀態標籤。
2026-05-07 15:08:01 +08:00
sky121113
f06353d542
feat: change default machine inventory sorting to stock fill rate (ascending)
2026-05-07 14:40:48 +08:00
sky121113
053c41d642
feat: optimize B009 stock sync with full-sync logic and historical slot filtering
2026-05-07 14:38:19 +08:00
sky121113
eb55a25ca8
[FEAT] B009 改為全量同步模式,硬刪除不在清單的貨道
...
1. 修改 MachineService@syncSlots 實作 B009 全量同步邏輯:同步完成後,找出資料庫中不在 B009 回報清單的舊貨道,先記流水帳再硬刪除,確保後台狀態與機台實體完全一致。
2. 新增 MachineStockMovement::TYPE_DECOMMISSION 常數,用於標識因 B009 全量同步而移除的貨道異動紀錄。
3. 新增多語系翻譯 key(zh_TW / en / ja):movement.note.slot_decommissioned_by_b009、movement.note.initial_sync_report、movement.note.product_changed_and_adjusted 與 movement.type.decommission。
2026-05-07 14:28:07 +08:00
sky121113
e735e5a8c5
[REFACTOR] 優化 B009 庫存同步比對邏輯
...
1. 優化 MachineService@syncSlots,加入庫存與商品 ID 的實質變動檢查。
2. 解決在庫存與商品皆無變動時,仍會執行資料庫更新並產生冗餘流水帳的問題。
3. 強化商品變更判斷,確保更換商品時能正確記錄流水帳與對應備註。
2026-05-07 14:12:42 +08:00
sky121113
9c6f5923f3
[FIX] 規格對齊與 B009 庫存同步邏輯優化
...
1. 更新 B009 (貨道庫存回報) API 規格文件與 config/api-docs.php,對齊參數型別 (tid: String, num: Integer) 並移除 legacy status 欄位。
2. 修正 MachineController 接收參數時的強製型別轉型,防止因 APP 傳入字串格式導致的庫存異動判斷錯誤。
3. 優化 MachineService@syncSlots 邏輯,確保庫存變動比對準確,並補齊新建立貨道時的初始庫存流水帳紀錄。
4. 移除 B009 回應中的 status 欄位,統一使用 success 進行成功判定。
2026-05-07 14:07:26 +08:00
sky121113
bb955fa3de
[STYLE] 現代化機台稼動率儀表板與語系優化
...
1. 更新機台稼動率頁面日期選擇器為專案標準 Luxury UI,並整合 Flatpickr 新增「今日」與「清除」按鈕。
2. 修正稼動率頁面中因字串換行與多餘空格導致的語系翻譯失效問題。
3. 更新稼動率副標題,移除過時的 OEE 描述並修正為「全機台即時狀態與營收監控」。
4. 同步更新 zh_TW, en, ja 語系 JSON 檔以包含最新的介面文字翻譯。
5. 重構 MachineService.php 移除冗餘的計算邏輯,提升稼動率數據查詢效能。
6. 更新 API 技術規格文件以反映最新的通訊協議規範。
2026-05-07 13:34:22 +08:00
sky121113
c52cf2900f
[FIX] 統一搜尋欄位命名、更新語系檔與 IoT 規範文件
...
1. 修改 ProductController.php,將搜尋參數統一改為 search 以匹配前端表單欄位。
2. 更新 lang/zh_TW.json 語系檔,修正部分翻譯詞彙 (如 Inactive, Standby, Confirm Status Change)。
3. 更新 .agents/skills/mqtt-communication-specs/SKILL.md 規範文件。
4. 包含 Machine Model 與 MachineService 的優化變更。
2026-05-07 11:54:47 +08:00
sky121113
4bf53db3be
[FIX] 優化機台連線規範與上線日誌邏輯
...
1. 更新 SKILL.md 與 Java 範例,將 MQTT Client ID 格式由隨機後綴改為固定格式 SC_{serial_no},以確保單機連線唯一性。
2. 同步更新 config/api-docs.php,在 API 文件中加入 MQTT 連線參數規範說明。
3. 修正 ProcessHeartbeat.php 邏輯,當機台狀態從 offline 轉為 online 時,自動寫入「Machine is online」日誌,完善連線紀錄回溯。
2026-05-07 10:16:29 +08:00
sky121113
09bbd61c89
[FIX] 導正 MQTT LWT 遺囑訊息架構與文件規範
...
1. 修改 SKILL.md 規範,將 LWT (遺囑訊息) Topic 從 heartbeat 改為 status,並移除過時的 訂閱說明。
2. 更新 SKILL.md 內 Android Java 範例,同步改用 status Topic。
3. 移除 SKILL.md 中關於 Client ID 解析邏輯的舊文件說明。
4. 重構 ProcessStatus.php,移除過時的 SC_ 前綴與隨機碼解析邏輯,直接使用傳入的純淨機台編號。
5. 更新 ProcessHeartbeat.php 註解,反映連線狀態改由 LWT 機制與 status Topic 處理。
2026-05-07 09:22:09 +08:00
sky121113
938aabc6c1
[FIX] 實作儀表板真實營收統計與多語系修正
...
1. 修復儀表板營收統計,將模擬數據替換為從 Order 模型撈取的真實資料。
2. 修正 DashboardController 中的支付狀態篩選邏輯,從字串 'paid' 改為正確的 tinyInteger 狀態碼 1。
3. 在 Order 模型中新增 PAYMENT_STATUS_SUCCESS 與 PAYMENT_STATUS_FAILED 常數。
4. 新增「本月累計營收」的多語系翻譯(中、英、日)。
5. 優化儀表板前端介面,包含動態顯示昨日增長趨勢百分比與顏色標籤。
6. 修正儀表板機台列表中的「今日銷售額」統計邏輯。
2026-05-06 17:55:18 +08:00
sky121113
fa6406b9ad
[FEAT] 優化取貨碼管理介面與功能
...
1. 新增取貨碼使用次數上限功能(限制 1-20 次)。
2. 優化取貨碼管理介面,採用極簡奢華風計數器並調整寬度與間距。
3. 整合 Flatpickr 24小時制日期時間選擇器,並實作模式切換時的時間自動帶入邏輯。
4. 取貨碼清單新增「剩餘使用次數 / 總次數」顯示。
5. 完善相關中文化翻譯(如「小時」、「自定義日期」等)。
6. 新增資料庫欄位 migration 並更新相關模型與 Service 邏輯。
7. 更新 API 技術規格文檔以符合最新取貨碼邏輯。
2026-05-06 16:33:15 +08:00
sky121113
d740fc5ab8
[FEAT] 實作機台物理刪除功能與資料庫結構優化
...
1. 於機台設定頁面新增刪除功能,並限制僅系統管理員 (Super Admin) 可操作。
2. 移除機台模型 (Machine) 的 SoftDeletes Trait,將刪除邏輯改為物理刪除。
3. 建立並執行 Migration 移除 machines 資料表的 deleted_at 欄位。
4. 清除資料庫中原有的 51 筆機台軟刪除紀錄。
5. 更新繁中、英文、日文語系檔,加入機台刪除成功與確認視窗之翻譯。
6. 更新 B000 管理員登入 API 之回應格式,統一包含 success 與 code 欄位。
7. 同步更新 API 技術規格文件 (SKILL.md) 與 api-docs.php 配置。
8. 微調商品新增/編輯頁面之 UI 元件 z-index 層級。
2026-05-06 15:47:58 +08:00
sky121113
4348a88697
[DOCS] 規範化 B000 認證機制並移除冗餘 API
...
1. [DOCS] 更新 B000 登入 API 規格,統一參數名為 Su_Account/Su_Password 並要求帶入機台 API Token。
2. [REFACTOR] 將 B000 路由移入 iot.auth 中間件,強化 API 安全性。
3. [DOCS] 移除廢棄的 B710 (時間同步) API 說明。
4. [DOCS] 調整 B014 認證與安全規範描述,使其符合現行機台引導流程。
2026-05-06 14:25:40 +08:00
sky121113
41c75b16e8
[FEAT] 實作機台序號變更自動重新產生 API 金鑰
...
1. 於 MachineSettingController@update 實作序號變更偵測,若序號有變動則自動重新產生 api_token。
2. 更新編輯成功的通知訊息,明確提示使用者金鑰已因序號變動而更新。
3. 補齊中、英、日三語系之通知訊息翻譯字串。
2026-05-06 13:56:56 +08:00
sky121113
ad80fa8121
[FEAT] 整合員工識別紀錄與訂單關聯並優化 UI 顯示
...
1. [FEAT] 在 StaffCardLog 模型中新增 order 關聯,並在 StaffCardController 預載此關聯。
2. [STYLE] 優化員工識別使用紀錄的 UI 佈局,採用更具質感的顯示方式並使用 status-badge 組件。
3. [STYLE] 擴充 status-badge 組件,支援 verified 與 completed 狀態標籤。
4. [DOCS] 更新 zh_TW.json 語系檔,新增 Staff、Verified、Verified Only 等翻譯。
2026-05-06 13:10:25 +08:00
sky121113
fc93a0fb8c
[FEAT] 實作封閉迴圈交易審核與 API 規格標準化
...
1. 新增 B680 員工卡驗證 API 並更新相關技術文件 (SKILL.md, api-docs.php)。
2. 重構取貨碼與通行碼之日誌追蹤系統,新增 PickupCodeLog 與 PassCodeLog 模型及資料表遷移。
3. 修正 B660 API 路由方法,統一使用 POST 進行驗證。
4. 優化後台銷售中心介面,將「紀錄」頁籤統一為「使用紀錄」並優化狀態顯示組件。
5. 更新多語系 zh_TW.json 以符合新的 UI 命名規範。
6. 調整 Order 模型與 TransactionService 以支援更精確的封閉迴圈交易審核。
2026-05-05 17:50:26 +08:00
sky121113
15b975efac
[FEAT] 新增員工卡管理模組與 B012 API 文檔完善
...
1. 新增員工卡 (staff_cards) 與員工卡感應日誌 (staff_card_logs) 模型與遷移檔。
2. 實作 StaffCardController 與相關管理介面,支援狀態切換與 CRUD。
3. 擴充 routes/web.php 加入員工卡管理路由。
4. 更新 api-docs.php 文檔,補全 B012 (Unified Sync) 的商品同步回應範例。
5. 實作 PaymentTypeSeeder 並整合至 DatabaseSeeder 以標準化支付類型。
6. 優化銷售中心訂單標籤與倉庫機台庫存顯示邏輯。
7. 側邊欄選單加入員工卡管理入口。
8. 重構 TransactionService 以支援員工卡工作階段 (session_token) 驗證。
2026-05-05 14:06:43 +08:00
sky121113
023f639fb4
[STYLE] 銷售中心 UI 優化與出貨紀錄邏輯校正
...
1. 優化「出貨紀錄」介面,重新排列欄位優先級並移除冗餘的機台流水號。
2. 統一出貨紀錄中的商品與貨道樣式,與取貨碼模組視覺語言同步。
3. 修正出貨紀錄搜尋邏輯,支援商品名稱與貨道編號模糊搜尋。
4. 修正「訂單詳情」側滑面板中的金額顯示(修正 price/subtotal 映射)。
5. 補強訂單詳情的出貨狀態 (dispense_status) 標籤顯示邏輯。
6. 將出貨紀錄中的「數量」表頭修正為「金額」,確保與 MQTT 協議回傳資料語意一致。
7. 更新多語系檔,新增搜尋欄位 placeholder 與相關 UI 標籤翻譯。
8. 新增發票資料表 machine_time 欄位遷移檔,以完整記錄機台開立時間。
2026-05-04 17:20:43 +08:00
sky121113
e779880f9b
[FEAT] 整合 MQTT 交易完成 (Finalize) 流程並更新 API 技術規格文件
...
1. 整合交易流程:將 B600 (交易紀錄)、B601 (發票紀錄) 與 B602 (出貨紀錄) 整合為單一原子化的 MQTT 'finalize' 操作,確保資料一致性。
2. 實作非同步 Job:新增 ProcessTransactionFinalized Job 負責解析複合式 Payload 並寫入訂單、發票與出貨日誌。
3. 重構交易服務:更新 TransactionService 以支援同時處理訂單與發票資料,並修正產品 ID 驗證邏輯以避免外鍵衝突。
4. 更新技術文件:同步更新 api-docs.php 與 .agents/skills 中的 MQTT 規格,定義詳細的 finalize payload 結構與範例。
5. 優化文件 UI:改善 api-docs.blade.php 的描述渲染,支援換行符號以提升閱讀體驗。
6. 更新監聽指令:在 ListenMqttQueue 中加入 finalize 動作的處理分支並對接至新實作的 Job。
2026-05-04 10:18:30 +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
cb5f8f8336
[FIX] 修正 SystemOperationLog 中的 User 模型路徑錯誤
2026-04-30 10:29:25 +08:00
sky121113
820e1c87db
[FIX] 取貨碼操作紀錄顯示異常修正
...
1. 修正 index.blade.php 的 HTML 標籤嵌套錯誤,解決操作紀錄分頁空白問題。
2. 移除暫時的除錯訊息。
3. 整合 SystemOperationLog 機制於取貨碼模組。
2026-04-30 10:28:04 +08:00
sky121113
84bf7de750
[FEAT] 實作通行碼編輯功能與 UI 組件優化
...
1. 實作通行碼 (Pass Code) 編輯功能,包含後端 Controller 邏輯與前端 Alpine.js 編輯彈窗。
2. 優化 searchable-select 組件的空值處理與樣式。
3. 更新繁體中文語系檔,統一通行碼相關操作之回傳訊息翻譯。
4. 修正通行碼更新邏輯,支援 nullable 狀態與到期日空值處理。
5. 在桌機版與手機版介面加入編輯操作入口。
2026-04-30 09:28:07 +08:00
sky121113
b42695c4b8
[FEAT] 優化通行碼與取貨碼模組、補齊多國語系系統及介面風格調整
...
1. 通行碼與取貨碼:新增代碼預覽、重新產生功能與到期時間預覽邏輯。
2. 通行碼:允許天數設為 0 (永久),並改用搜尋式下拉選單選取機台。
3. 取貨碼:加強表單檢核並整合自訂 Toast 提示。
4. 語系優化:補齊繁中、英文鍵值,並完整建立日文語系目錄 (lang/ja) 與 JSON 檔案。
5. 組件優化:更新 PageHeader 與 TabNav 組件,提升 UI 互動性與一致性。
6. 訪客功能:新增通行碼訪客端查詢介面與控制器。
7. 其他模組:同步調整機台、遠端與倉庫模組視圖以符合極簡奢華風。
2026-04-29 16:54:21 +08:00
sky121113
7356304d6f
[STYLE] 機台分佈地圖行動端優化與補貨管理邏輯修正
...
1. 機台分佈頁面行動端優化:新增懸浮標題切換按鈕、抽屜式列表與毛玻璃視覺效果。
2. 修正補貨單指派視窗:優化下拉選單初始化邏輯,解決二次開啟時的選擇殘留問題。
3. 更新多語系檔 (zh_TW, en, ja):補齊機台分佈與補貨管理相關詞彙。
4. 移除暫存的簡報檔案 (star-cloud-demo-day.pptx)。
2026-04-29 11:29:42 +08:00
sky121113
6b9b577978
[FEAT] 取貨碼功能強化與 UI 重構
...
1. 取貨碼模組新增 Slug 機制與公開憑證頁面,支援外部連結訪問。
2. 狀態篩選下拉選單重構為極簡奢華風組件 (x-searchable-select),並優化後端空值處理。
3. 機台分佈地圖新增「依型號分類」功能,提升管理便利性。
4. 新增 B660 取貨碼驗證 API 端點供機台通訊使用。
5. 更新多語言語系檔 (zh_TW.json) 確保介面一致性。
2026-04-29 10:39:35 +08:00
sky121113
78321ad693
[FEAT] 取貨碼功能優化與 QR Code 生成標準化
...
1. 修復 PickupCode 與 PassCode 模型中 User 命名空間錯誤。
2. 建立統一的 x-qr-code 組件,取代外部 API 並收斂至系統後端路由。
3. 優化取貨碼管理介面:將機台與商品貨道資訊拆分欄位,並動態顯示關聯商品名稱。
4. 補全 status-badge 組件中已使用、已過期與已取消的狀態樣式。
5. 修復取貨碼產生過程中的 Carbon 型別錯誤與 company_id 缺失問題。
2026-04-28 17:25:59 +08:00
sky121113
0332eff9bc
[FIX] 修正角色權限顯示邏輯與 UI 組件重構
...
1. 修正角色編輯頁面、列表頁面與卡片視圖中的權限數量計算邏輯,確保過濾掉無效或隱藏權限。
2. 重構角色權限顯示 UI,將彈窗由不穩定的 Popover 改為基於 Alpine.js x-teleport 的全螢幕置中模窗,解決容器遮擋問題。
3. 抽離並組件化角色清單 (role-list) 與卡片 (role-card) 視圖,提升程式碼複用性。
4. 統一子帳號管理頁面的搜尋與重設按鈕佈局,確保全站視覺一致性。
5. 更新多語系翻譯,修正『租戶』為『客戶』,並新增『全部權限』翻譯項。
6. 完成取貨碼與密碼管理模組的極簡奢華風 UI 遷移。
2026-04-28 16:13:57 +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
772c7a62e8
[STYLE] 庫存管理響應式 UI 優化與卡片顯示格式修正
...
1. 優化「目前庫存」分頁:修復平板模式下卡片展開導致的高度拉伸問題,並確保 Alpine.js 變數 (localCardOpen) 作用域隔離。
2. 優化「異動紀錄」分頁:將時間戳記從獨立行移入 2x2 內容網格,補上「時間」標題並修正字體顏色。
3. 優化「進貨單管理」分頁:卡片日期顯示格式修正為完整時分秒 (Y-m-d H:i:s)。
4. 統一搜尋佈局:將庫存管理各分頁與機台補貨單的「搜尋」與「重置」按鈕群組化,確保在窄螢幕換行時能保持連動。
5. 修正進貨單詳情:優化側邊欄 (Slide-over) 的資料載入邏輯與多語系顯示。
2026-04-27 15:40:57 +08:00
sky121113
9d7fdc9c7f
[STYLE] 優化維修紀錄與倉儲管理模組 RWD 響應式佈局
...
1. 維修紀錄 (Maintenance Records):優化標題區域與按鈕在行動裝置上的顯示,新增「系統 (System)」維修類型支援。
2. 倉儲管理 (Warehouse Management):全面優化總覽、庫存、調撥與補貨介面,確保在手機版自動切換為優化的卡片或折疊佈局。
3. 機台庫存 (Machine Inventory):修正表格寬度與字體大小,提升小螢幕下的閱讀性。
4. 補貨流程 (Replenishment Workflow):優化一鍵補貨 Modal 與詳情面板的 RWD 表現。
5. 全站佈局:調整 admin.blade.php 與主容器間距,修復部分區域在窄螢幕下的破圖問題。
2026-04-27 14:24:37 +08:00
sky121113
2012c5a321
[FEAT] 優化一鍵補貨 UI 與 RWD 響應式佈局
...
1. 實作一鍵補貨智慧重新計算邏輯:切換倉庫或機台時自動更新預覽。
2. 新增多語系支援:補齊繁中、日文、英文語系檔中的庫存/上限、重新計算等關鍵字。
3. 優化 RWD 響應式佈局:在手機版自動切換為卡片式 (Card) 佈局,提升行動裝置操作體驗。
4. 新增刪除功能:預覽清單中每一行貨道皆可獨立移除,並配合唯一辨識碼 (slot_no) 修正 state 殘留 bug。
5. 完善一鍵補貨 Modal 腳底控制項:新增手動「重新計算」按鈕與樣式優化。
6. 完成補貨單管理功能:包含新增、取消、分配人員等後台邏輯與多租戶隔離。
7. 優化庫存轉移 (Transfers) 介面與詳情面板 RWD 表現。
2026-04-24 17:32:11 +08:00
sky121113
b0e523067f
[STYLE] 優化機台設定與倉庫管理介面規範化
...
1. 機台管理模組優化:
- 移除機台設定內部的「機台分布」標籤頁,改為標題旁獨立的極簡白色連結入口。
- 優化機台列表欄位,將「公司名稱」獨立顯示。
- 實作機台系統設定非同步更新功能 (update-system-settings)。
2. 倉庫管理模組規範化:
- 統一庫存分頁的視覺色調,使用一致的青色 (Cyan) 強調色。
- 優化日期篩選器,支援精確時間 (H:i) 選擇並預設 00:00。
- 實作自定義 multi-select 組件以解決 Preline 下拉衝突。
- 確保所有篩選操作觸發立即的 AJAX 資料同步與狀態更新。
3. 系統基礎優化:
- 更新繁體中文、日文、英文語系檔,確保標籤顯示正確。
- 清理 Controller 多餘的地圖資料擷取邏輯。
2026-04-24 10:54:24 +08:00
sky121113
39a246d3c5
[FEAT] 倉儲管理模組標準化與庫存矩陣功能實作
...
1. 實作「目前庫存」矩陣化視圖:將商品作為行、倉庫作為列,支援跨倉庫水位分析與自動加總。
2. 優化矩陣 UI:實作固定欄位 (Sticky Columns) 以應對多倉庫場景,並修正深色模式下的背景色對齊問題。
3. 強化倉儲操作驗證:實作調撥與補貨單的 Alpine.js 前端欄位驗證與 AJAX 提交邏輯,提升操作流暢度。
4. 優化機台地址定位:實作結構化地址解析與 Nominatim API 對接,提升經緯度自動獲取的準確性。
5. 標準化 UI 組件:更新 Breadcrumbs、刪除確認彈窗與搜尋下拉選單,確保全站視覺一致性。
6. 完善多語系支援:補全倉儲管理、機台設定與 UI 提示的繁體中文翻譯。
7. 增加 Product Model 的 stocks() 關聯,支援高效率的庫存矩陣查詢。
2026-04-23 17:34:22 +08:00
sky121113
2f86bb90a2
[FEAT] 標準化廣告管理 AJAX 與公司系統設定功能修復
...
1. 修復公司系統設定 Alpine.js 響應式屬性未初始化問題,確保 9 項功能開關可正確儲存。
2. 統一公司列表「啟用功能」標籤顏色為標準青色 (Cyan),提升視覺一致性。
3. 實作廣告管理模組 AJAX 分頁與搜尋功能,支援無刷新頁面更新。
4. 於廣告管理模組導入極簡奢華風 Loading 載入遮罩,與機台管理模組保持一致。
5. 更新多語系語系檔 (zh_TW, en, ja),補齊功能開關與載入提示文字。
6. 優化分頁元件 (luxury.blade.php),修復 ajax:navigate 事件觸發邏輯。
2026-04-23 12:35:52 +08:00
sky121113
315c226560
[FEAT] 倉儲管理系統模組實作與全站 UI/UX 標準化優化
...
1. 實作倉儲管理系統 (Warehouse Management):包含總覽、庫存、調撥、機台庫存與補貨模組。
2. 建立倉儲相關資料結構:新增 warehouses, warehouse_stocks, stock_in_orders, stock_movements, transfer_orders, replenishment_orders 等資料表。
3. 優化商品管理 (Product Management) 介面:調整商品與類別管理的分頁、搜尋與編輯邏輯,並導入極簡奢華風 UI。
4. 增強遠端機台管理 (Remote Machine Management):優化機台清單、庫存監控與遠端出貨介面,提升載入效能。
5. 更新全站導覽選單 (Sidebar):整合倉儲管理入口,並修復側邊欄語法錯誤。
6. 標準化分頁組件 (Pagination):套用 luxury 奢華風分頁樣式。
7. 補齊多語系語系檔 (i18n):更新 zh_TW.json,包含倉儲與商品模組相關詞彙。
2026-04-23 11:51:08 +08:00
sky121113
40aec884b0
[REFACTOR] 溫度回報邏輯優化與 MQTT 規格標準化
...
1. 優化 ProcessHeartbeat 溫度處理邏輯,改為「變動即記錄」並標準化為整數型態。
2. 在 Machine Model 中新增 temperature 欄位的 integer cast。
3. 更新 MQTT 與 API 技術規格技能文件 (SKILL.md),同步最新的溫度記錄規則。
4. 更新 config/api-docs.php,明確標註心跳上報之溫度規格與日誌規則。
5. 移除 routes/api.php 中已廢棄之 B600 與機台日誌 REST API 路由。
6. 清理 docs 目錄,將初期計畫文件遷移至 docs/plan/。
2026-04-22 17:02:24 +08:00
sky121113
12591a55f2
cleanup: remove redundant ProcessErrorLog job in favor of existing ProcessMachineError
2026-04-22 16:38:37 +08:00
sky121113
680d922e1f
feat: add ProcessErrorLog job to handle B013 mqtt errors
2026-04-22 16:36:56 +08:00
sky121113
f49c1d3058
feat: implement mqtt transaction business logic and fix sidebar syntax error
2026-04-22 16:35:47 +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
1d5aff2f2e
[REFACTOR] 遷移遠端管理指令至 MQTT 非同步架構與邏輯優化
...
1. 實作 MqttService 統一管理 MQTT 指令發送。
2. 遷移「遠端庫存與效期中心」至 MQTT 流程,並加入 batch_no (批號) 支援。
3. 修改 RemoteController 指令中心所有指令同步改由 MQTT 推送。
4. 修正 Go Gateway redis_consumer.go 確保 JSON 格式符合最新規格(移除寫死的 target/message_id)。
5. 實作 ProcessCommandAck 自動更新指令結果、異常回滾 (Rollback) 與機台自動亮燈 (Online)。
6. 完善 mqtt-communication-specs 規格文件,補齊所有指令定義與 ACK 範例。
7. 強化指令狀態保護,確保只有 pending 狀態的指令能被更新結果,防止重複處理。
2026-04-22 11:30:39 +08:00
sky121113
82832d04db
[DELETE] 移除已過時的 B013 HTTP API 端點
...
1. 移除 routes/api.php 中的 B013 路由。
2. 移除 MachineController@reportError 方法及其註解。
3. 更新 config/api-docs.php,移除 B013 文件配置。
4. 更新 api-technical-specs/SKILL.md,將 B013 標註為已廢棄並引導至 MQTT 规范。
2026-04-21 16:46:54 +08:00
sky121113
45b5ee5acd
[REFACTOR] 整合 MQTT 異常上報與 MachineService 硬體代碼映射
...
1. 重構 ProcessMachineError Job,將異常日誌記錄邏輯統一由 MachineService@recordErrorLog 處理,確保 error_code 能正確對應多語系標籤。
2. 更新 SKILL.md MQTT 通訊規範,修正機台故障上報 (B013) 的 Payload 範例並修復章節編號錯誤。
3. 優化 deploy-demo.yaml CI/CD 流程,解決檔案變動導致 tar 退出碼為 1 的部署中斷問題,並排除不必要的 storage 目錄同步。
2026-04-21 16:35:20 +08:00
sky121113
d0f84eb82b
[REFACTOR] 廢棄 B010 HTTP API 並整合 MQTT 心跳回報流程
...
1. 移除 routes/api.php 中的 B010 心跳上報路由。
2. 刪除 MachineController.php 中的 heartbeat 方法與相關過期邏輯。
3. 刪除 docs/b010_technical_spec.md 並更新相關技術規格文件。
4. 修改 ListenMqttQueue.php,移除獨立的溫度與版本號處理,統一由 heartbeat 任務分發。
5. 更新 MQTT 通訊規範,廢棄獨立的屬性 Topic (temperature, firmware_version)。
2026-04-21 15:48:49 +08:00
sky121113
32bc13ac1b
[FIX] 修復 MQTT 監聽器與機台連線狀態同步邏輯
...
1. 補齊 ListenMqttQueue 中的 Job 類別引用,修復 mqtt-worker 崩潰重啟問題。
2. 實作 Go Gateway 的 Client ID 解析邏輯,正確將 SC_{serial}_{random} 格式還原為機台編號。
3. 修復 系統主題解析與 Laravel ProcessStatus Job 對齊,實現毫秒級連線狀態同步。
4. 在 ProcessStatus Job 中增加第二層 serial_no 清理保險,提高系統容錯。
5. 更新機台列表 UI 狀態顯示邏輯,支援 在線/斷線/故障 三態顯示與多語系。
6. 更新 MQTT 通訊規範 (Skill) 文件,確保全域開發定義的一致性。
7. 同步更新 zh_TW.json, en.json, ja.json 翻譯文件。
2026-04-21 12:38:42 +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
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
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
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
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
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
ad256d3d3b
[FEAT] 廣告排程功能與 UI 優化
...
1. 新增廣告排程功能,支援設定發布時間與下架時間。
2. 整合 Flatpickr 時間選擇器,提供與機台日誌一致的極簡奢華風 UI。
3. 優化廣告列表中的數字字體,套用 font-mono 與 tabular-nums,與客戶管理模組風格同步。
4. 修正 Alpine.js 資料同步邏輯,確保編輯模式下排程時間能正確回填。
2026-04-13 11:44:26 +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
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
sky121113
b60afc3abe
[FIX] 修正與標準化 B005 廣告下載 API 以相容既有 Android App
...
1. 修改 MachineController@getAdvertisements 回傳欄位,將 t070v02 改為播放秒數,t070v03 改為位置代碼 (Flag)。
2. 根據 Android App 原始碼分析結果,調整位置對應:3 為待機廣告 (HomeActivity),1 為販賣頁廣告 (FontendActivity)。
3. 在 AdvertisementController@getMachineAds 增加 sort_order 排序,確保後台管理介面視圖與 API 輸出順序一致。
4. 更新廣告下載 API 的技術文件 (SKILL.md),明確標記欄位用途與位置代碼。
5. 在 routes/api.php 補上 B005 與 B009 的路由定義。
2026-04-07 11:41:24 +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
08b6c60d2e
[FEAT] 實作 B000 機台登入 API 並同步 API 規格文件
...
1. 於 routes/api.php 新增 B000 登入驗證路由,並設定速率限制。
2. 更新 .agents/skills/api-technical-specs/SKILL.md,補上 B000 規格並根據 Java App 實作精簡 B010 指令碼。
3. 同步更新 config/api-docs.php 中的 API 說明文件。
4. 調整 RemoteController 指令歷史紀錄上限為 5 筆以優化效能。
5. 統一機台編輯頁面之圖片上傳文字說明與標題。
6. 補齊多語系翻譯檔案 (zh_TW, en, ja) 出現的新字串。
2026-04-02 17:24:13 +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
e7ad7e3dc3
[FEAT] 整合遠端管理指揮中心與 UI 佈局優化
...
1. 實作「遠端管理指揮中心」,整合重啟、結帳、鎖定、找零、出貨等指令至單一介面。
2. 對接 B010 心跳 API 與 B017 庫存 API,實作異步指令下發與效期/批號同步邏輯。
3. 修正 sidebar-menu.blade.php 中的舊版路由連結,解決 RouteNotFoundException 錯誤。
4. 修正 index.blade.php 中的 AJAX 請求名稱,補上 admin. 前綴以符合路由分群。
5. 優化主內容區頂部間距,將 pt-10 縮減為 pt-5,提昇介面緊湊度。
2026-04-01 16:59:29 +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
e27eee78f5
[STYLE] 標準化商品管理與廣告彈窗 UI,完善商品分類多語系 CRUD 功能
2026-04-01 08:38:03 +08:00
sky121113
54d62c5378
[FEAT] 實作機台廣告管理模組與多語系支援
...
1. 新增廣告管理列表與機台配置介面,包含多語系 (zh_TW, en, ja) 與完整 CRUD
2. 實作基於 Alpine 的廣告素材預覽輪播功能
3. 優化廣告素材下拉選單,強制綁定所屬公司以達成多租戶資料隔離
4. 重構廣告配置中廣告影片的縮圖渲染邏輯,移除 <video> 標籤以大幅提升頁面載入速度與節省頻寬
5. 放寬個人檔案頭像上傳限制,支援 WebP 格式
2026-03-31 13:30:41 +08:00
sky121113
d14eda7d69
[FIX] 修復商品多語系儲存與讀取錯誤、新增自動語系名稱顯示、補強商品規格欄位及密碼顯示切換功能
2026-03-30 17:11:15 +08:00
sky121113
9bbfaa39e6
[FEAT] 整合機台設定之機台權限管理功能,優化篩選器佈局並修復 Alpine.js 語法錯誤
2026-03-30 16:37:18 +08:00
sky121113
2c9dc793d7
[FEAT] 機台權限功能增強、UI 輕巧化與多語系優化
2026-03-30 16:15:04 +08:00
sky121113
f3b2c3e018
[FIX] 遷移機台授權為獨立模組:修復變數命名、補齊多語系並強化多租戶數據隔離
2026-03-30 15:30:46 +08:00
sky121113
44ef355c54
[FEAT] 完善機台授權模組:新增搜尋過濾功能、機台資訊排版優化、更換圖格裝飾並完成後端效能優化。
2026-03-30 13:48:22 +08:00
sky121113
ea0333d77e
[STYLE] 系統用語標準化與客戶管理 UI 點選透明度優化 (所屬單位 -> 公司名稱、姓名 -> 名稱)
2026-03-30 10:16:05 +08:00
sky121113
fdd3589d7b
feat(Admin/Company): 擴充業務類型與合約期間功能,補齊多語系翻譯詞條
2026-03-30 09:08:02 +08:00
sky121113
c875ab7d29
[FEAT] 移除「商品狀態」冗餘模組、優化麵包屑導航與完善帳號角色過濾邏輯
2026-03-27 16:53:43 +08:00
sky121113
740eaa30b7
[FEAT] 優化後端帳號權限邏輯、開發商品管理功能及聯絡資訊 UI 改版
2026-03-27 13:43:08 +08:00
sky121113
8ec5473ec7
[FEAT] 商品管理模組重構、UI 清晰度優化與多語系標籤字體調整
2026-03-26 17:32:15 +08:00
sky121113
17b5c1a316
[DOCS] 現代化 IoT API (B010) 通訊協議與文件中心 UI/UX 重整
2026-03-26 14:59:49 +08:00
sky121113
03f8fdb654
[STYLE] 調整機台新增表單:將公司設為選填並強化型號必填標示 🦾 ⚙️
2026-03-26 13:16:55 +08:00
sky121113
f60e5a9c72
[FEAT] 優化機台 API 通訊識別、補齊前端必填驗證、並配置 Demo 站隊列自動化部署 🦾 🚀
2026-03-26 13:09:48 +08:00
sky121113
b7ff8ac01c
[FEAT] 完善帳號管理狀態切換功能、優化多語系提示與 UI 樣式一致性
2026-03-25 17:16:41 +08:00