Commit Graph

524 Commits

Author SHA1 Message Date
sky121113
ea23feb45b [PROMOTE] 晉升 dev 變更至 demo 環境
1. 重構 B013 硬體狀態碼(0424 標籤改為 Purchase successful 購買成功,優化判斷邏輯)。
2. 統一由 MachineService ERROR_CODE_MAP 作為 Discord 告警與系統狀態的單一真實來源。
3. 同步更新 MQTT 即時通訊規格文件中的 0424 對照與出貨結果判定。
4. 全面補齊並對齊 en/zh_TW/ja 三語系檔中 53 種硬體狀態翻譯(ksort 字母排序且反逸出斜線)。
2026-05-29 09:15:26 +08:00
sky121113
d9bf2bbe98 [FEAT] 依廠商規格全面重構 B013 硬體狀態碼並補齊三語系翻譯
1. 修改 MachineService 中的 0424 代碼標籤為 Purchase successful(購買成功)並改寫成功判定邏輯。
2. 移除 DiscordWebhookService 中重複且過時的 errorCodes 硬編碼對照,統一由 MachineService 作為單一真實來源。
3. 同步更新 MQTT 即時通訊規格文件中有關 0424 的定義與出貨結果判定規則。
4. 新增並以自動對齊腳本完美補齊 en/zh_TW/ja 三語系檔中所有 53 種硬體代碼翻譯,完成排序(ksort)與斜線不逸出處理。
2026-05-29 09:13:16 +08:00
sky121113
3edcbc58c0 [PROMOTE] dev -> demo 環境晉升 (2026-05-28)
1. [FEAT] 新增全域 workflow 指令入口 (docs/workflow-commands.md, workflow)
2. [FIX] sales: 統一 payment_type 42 取貨人資訊的多語系顯示文字
2026-05-28 16:25:31 +08:00
sky121113
7766fce1d4 [FEAT] 新增全域 workflow 指令入口
1. 新增 ./workflow 統一執行器,支援 load-ids、daily-work-log、hotfix-prod、demo-day-pptx、start-task、promote-env、monthly-report、now-push。
2. 補充 docs/workflow-commands.md 使用說明與參數範例,便於團隊直接操作。
2026-05-28 16:20:27 +08:00
sky121113
da11241f72 sales: localize pickup recipient wording for payment_type 42 2026-05-28 16:14:02 +08:00
sky121113
0994b6dd6c sales: localize pickup recipient wording for payment_type 42 2026-05-28 16:13:52 +08:00
sky121113
7d8b342a85 sales: unify pickup recipient wording for payment_type 42 2026-05-28 16:08:35 +08:00
sky121113
1d0181ff95 sales: unify pickup recipient wording for payment_type 42 2026-05-28 16:08:24 +08:00
sky121113
55494fe5ba [PROMOTE] dev -> demo
1. sales: 交易記錄 UI 顯示 payment_type 42 (取物單) 的 member_barcode 欄位
2. chore: 同步 Order Model、API 文件 (api-docs.php) 與三語系 (zh_TW/en/ja) 對齊更新
2026-05-28 15:56:43 +08:00
sky121113
5c66a01261 chore: sync pending model/docs/i18n updates 2026-05-28 15:55:38 +08:00
sky121113
ea8c277ee9 sales: show member_barcode for payment_type 42 in records UI 2026-05-28 15:54:53 +08:00
sky121113
d1a14ebee6 [PROMOTE] 晉升 dev 變更至 demo 分支
1. [FIX] 修正下位機 Discord 告警發送條件與層級對等(過濾 info 層級日誌,僅發送 warning/error;且 error 顯示 🚨,warning 顯示 ⚠️)。
2026-05-28 14:55:02 +08:00
sky121113
acde99e383 [FIX] 修正下位機 Discord 告警發送條件與層級對等
1. 調整 MachineLog 的 created 監聽器,使 submachine 類型日誌僅在 level 為 warning 或 error 時才派發 Discord 通知任務,避免 info 狀態日誌(如出貨中、平台上升中)洗板告警。
2. 優化 DiscordWebhookService 的下位機異常渲染,根據日誌嚴重程度 (level) 動態調整標題前面的 Emoji 圖示,error 級別顯示 🚨,warning 級別顯示 ⚠️
2026-05-28 14:53:06 +08:00
sky121113
73936a5c5f [PROMOTE] 晉升 dev HTTPS 協定混合內容修正至 demo 環境
1. 晉升 ads/index.blade.php 的 AJAX 分頁請求同域協定校正。
2. 晉升 products/index.blade.php 的 AJAX 分頁請求同域協定校正。
2026-05-28 11:43:51 +08:00
sky121113
dcdfe1382e [FIX] 解決 HTTPS 環境下 AJAX 分頁請求 http 混合內容 (Mixed Content) 攔截 Bug
1. 在 ads/index.blade.php 的 fetchPage 分頁異步請求中,新增主機與協議對齊邏輯 (urlObj.protocol = window.location.protocol),防止在 HTTPS 網頁中請求同域 http 分頁而被瀏覽器攔截。
2. 同步在 products/index.blade.php 的 AJAX 分頁切換重組中,對同域的請求協議進行 HTTPS 同步校正,解決混合內容載入失敗的問題。
2026-05-28 11:42:57 +08:00
sky121113
3de99322bc [PROMOTE] 晉升 dev 商品批量匯入功能至 demo 環境
1. 晉升 ProductImportService 服務,用於 Excel 商品檔案解析、驗證與多租戶寫入邏輯。
2. 晉升 ProductController 匯入與模板下載動作路由與控制器邏輯。
3. 晉升商品頁面 index.blade.php 的極簡奢華風匯入彈窗 UI 與 Alpine.js 非同步上傳邏輯。
4. 晉升語系檔 lang/*.json 新增商品匯入等相關翻譯。
2026-05-28 11:19:44 +08:00
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
ca2003155e [PROMOTE] 晉升 dev 變更至 demo 環境
1. 晉升 APK 新增上傳檔名自動解析與欄位填充功能 (Version Name, Version Code, Flavor)。
2. 晉升「中國醫客製」風味選項由 S_12_XY_U_Cmuh 修正為 S_9_XY_U_Cmuh。
3. 晉升 create.blade.php 表單重構(JS 邏輯抽離至 script 區塊),徹底解決 HTML 屬性與 JS 引號衝突。
2026-05-28 09:36:07 +08:00
sky121113
b0fc0e6520 [FEAT] 新增 APK 上傳檔名自動解析與優化中國醫風味選項
1. 新增 APK 上傳時的檔名自動解析功能(可從 app-[flavor]-[version_name] 格式自動解析並填入版本名稱與機台風味)。
2. 新增版本代碼的自動數學推導,將 Major_Minor_Patch 轉換為整數(例如 21_01_6_R 轉換為 210106)並自動填入。
3. 將原本「中國醫客製」風味選項由 S_12_XY_U_Cmuh 修正為 S_9_XY_U_Cmuh(S9 主板)。
4. 重構 create.blade.php 表單,將原本位於 HTML x-data 屬性內部的複雜 JS 邏輯抽離至獨立的 <script> 區塊(apkVersionForm 函數),解決 HTML 屬性與 JS 引號/括號衝突導致的渲染問題。
5. 引入 Alpine.js 的 x-model 機制對版本名稱(versionName)與版本代碼進行雙向綁定,確保自動解析賦值的強健性。
2026-05-28 09:35:31 +08:00
sky121113
9f39240b56 [PROMOTE] 合併 dev 至 demo
1. 修正 APK 版本強制更新開關永遠為開啟的 Bug
2026-05-27 17:18:57 +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
dae4c292f8 [PROMOTE] dev → demo:APK 新增頁面 UI 優化與 Toast 統一
1. 版本代碼欄位改為 ±1 Stepper 風格,移除瀏覽器原生上下箭頭
2. 機台風味下拉改為 x-searchable-select 搜尋式選單
3. 移除 index/create 頁面的畫面 flash/error 區塊,統一由全域 toast 處理
2026-05-27 15:47:35 +08:00
sky121113
72f166eb14 [STYLE] 改善 APK 版本新增頁面 UI 與提示統一化
1. 版本代碼欄位改為 ±1 Stepper 風格(`type="text" inputmode="numeric"`),移除瀏覽器原生上下箭頭
2. 機台風味下拉選單改為 `x-searchable-select` 搜尋式選單,支援關鍵字篩選並統一 UI 風格
3. 移除 index 頁面的 session success 畫面提示框,改由全域 toast 統一處理
4. 移除 create 頁面的 $errors 畫面錯誤列表,改由全域 toast 統一顯示錯誤訊息
2026-05-27 15:46:31 +08:00
sky121113
3746eae199 [PROMOTE] 移除已廢棄的特殊權限權限模組 2026-05-27 10:03:30 +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
8aae09d083 [PROMOTE] 調整側邊欄選單順序,將 APK版本 移至基本設定最下方
1. 調整 sidebar-menu.blade.php,將原本排在首項的 APK版本 (apk-versions) 移動至「基本設定」選單列表的最下方,符合日常營運的使用偏好。
2026-05-27 10:01:32 +08:00
sky121113
1cfc4092d2 [STYLE] 調整側邊欄基本設定選單,將 APK 版本移動至選單最下方
1. 修改 sidebar-menu.blade.php 中的基本設定列表順序,將原本排在首項的「APK版本 (apk-versions)」選單移動至基本設定選單的最底部,提升選單直覺度。
2026-05-27 10:01:07 +08:00
sky121113
0a7922301e [PROMOTE] 將 dev 變更晉升至 demo 環境
1. 修正 APK 列表與新增頁面的自定義 Header 與間距,使用系統標準 <x-page-header> 並將外層垂直間距統一調整為 space-y-4,完全對齊麵包屑。
2. 修正前端 Alpine.js x-text 屬性中誤用 PHP 運算子 ?: 導致機台 APP 版本號渲染空白的 Bug。
3. 修正 Modal 表格清單的 thead 背景誤用不存在的 slate-850 導致深色模式下顯示突兀純白的問題。
4. 補齊並自動排序 Version Info、Forced Update 與 Optional Update 等三語系翻譯鍵值,完美對齊 zh_TW.json、en.json 與 ja.json。
5. 優化強制更新與重要通知的 UX 文案及樣式,加入啟用時的淡玫瑰色 (rose) 背景,並放大注意事項的字體。
2026-05-27 09:59:17 +08:00
sky121113
93845c990e [FIX] 修正 APK 版本管理 UI 間距、深色模式 Bug 與三語系翻譯對齊
1. 將 APK 列表與新增頁面的自定義 Header 改用系統標準 <x-page-header> 元件,外層容器垂直間距統一調整為 space-y-4,完美對齊麵包屑與後台標準比例。
2. 修正前端 Alpine.js x-text 指令中誤用 PHP 二元運算子 ?: 導致機台 APP 版本號渲染空白的 JavaScript 語法 Bug。
3. 修正 Modal 表格清單的 thead 背景誤用不存在的 slate-850 導致深色模式下顯示突兀純白的問題,調整為更具層次感的 bg-slate-50/50 dark:bg-slate-950/40。
4. 補齊 Version Info、Forced Update 與 Optional Update 等三語系翻譯,並移除舊文案,採用 ksort 自動完成三語系 Perfect Align 字母排序對齊。
5. 優化強制更新與重要注意事項的文案及視覺樣式,調整強制更新啟用時的玫瑰紅 (rose) 警示背景,並放大重要通知的字體以提高可讀性。
2026-05-27 09:54:43 +08:00
sky121113
c9faaa5744 [PROMOTE] 晉升 dev 變更至 demo 環境
1. [FEAT] 新增 OTA APK 版本管理與更新部署功能
2026-05-22 16:52:34 +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
55179b1066 [PROMOTE] 晉升 dev 變更至 demo 分支
1. 實作全新來店禮(Welcome Gifts)模組及關聯的資料庫遷移。
2. 徹底修復來店禮、通行碼與取貨碼主列表的重置按鈕異步時序 Bug。
3. 修復三個 modules 使用紀錄(Logs)中搜尋框放大鏡 SVG 參數歪斜與裁切問題。
4. 全面優化來店禮使用紀錄(Logs)桌面表格、無資料狀態、手機卡片中難以辨識的怪異禮物盒圖標為標準 Gift 禮物盒圖示。
5. 多語系 I18n 管理最佳化:對齊三語系 zh_TW.json、en.json 與 ja.json 的 Keys 集合,簡化來店禮翻譯並補齊 Modal 更新按鈕翻譯。
6. 取貨碼與通行碼使用紀錄欄位優化,包含新增狀態篩選及移除操作人員欄位。
2026-05-22 15:57:08 +08:00
sky121113
1d54aefcb5 [FIX] 新增來店禮更新按鈕的英文、中文與日文翻譯
1. 同步在 lang/zh_TW.json、lang/en.json 與 lang/ja.json 中新增 "Update Welcome Gift" 的翻譯鍵。
2. 進行字母排序 (ksort) 並確保語系間的 Key 集合完全對齊,解決 Modal 更新按鈕上大寫英文 "UPDATE WELCOME GIFT" 顯示的缺漏。
2026-05-22 15:39:14 +08:00
sky121113
47b553ae8c [FIX] 修正來店禮使用紀錄頁面中難以辨識的怪異禮物盒圖標
1. 修正 resources/views/admin/sales/welcome-gifts/partials/tab-logs.blade.php 的桌面表格、無資料狀態、手機卡片中的來店禮圖示,全面替換為標準且極具質感的 Gift 禮物盒圖標。
2026-05-22 15:30:24 +08:00
sky121113
5c970f4134 [FIX] 修正通行碼與來店禮主列表搜尋放大鏡與來店禮手機卡片圖示
1. 修正 resources/views/admin/sales/pass-codes/partials/tab-list.blade.php 的搜尋框放大鏡 SVG 圖示,使其完美置中不被裁切。
2. 修正 resources/views/admin/sales/welcome-gifts/partials/tab-list.blade.php 的搜尋框放大鏡 SVG 圖示。
3. 替換 resources/views/admin/sales/welcome-gifts/partials/tab-list.blade.php 手機版卡片中的來店禮圖示為標準且高辨識度的 Gift 禮物盒圖標,提升 UI 質感與一致性。
2026-05-22 15:29:56 +08:00
sky121113
145c515292 [FIX] 修正行銷使用紀錄搜尋框放大鏡 SVG 參數,並更換來店禮圖示以提升辨識度
1. 修正「來店禮」、「通行碼」與「取貨碼」使用紀錄搜尋框內 SVG 放大鏡缺少 y1="21" 導致圖示被截斷且偏左上角的顯示 Bug。
2. 汰換來店禮使用紀錄(Logs 表格與卡片)中原先難以辨識且怪異的圓圈十字圖示,更換為精緻高辨識度的標準 Heroicons Gift 禮物盒圖示。
2026-05-22 15:28:23 +08:00
sky121113
9b439814bd [STYLE] 優化行銷促銷模組視覺體驗、語系對齊與修復下拉選單重置 Bug
1. 簡化「來店禮」於繁中與日文語系檔的顯示文字,避免後台介面過長擠壓。
2. 修復來店禮、通行碼、取貨碼列表重置按鈕之時序競態 Bug,確保下拉選單確實清空後方送出 Ajax。
3. 來店禮與通行碼使用紀錄的類型選單新增 OnChange 自動 AJAX 提交,提升篩選操作體驗。
4. 補齊取貨碼使用紀錄的狀態篩選選單,並支援重置按鈕一鍵清空。
5. 移除通行碼與取貨碼使用紀錄中的「操作人員」欄位,配合極簡奢華風微調時間欄位靠右對齊,並修正表格空狀態的 colspan 為 5。
2026-05-22 15:20:19 +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
cdbf5b51bd [PROMOTE] 晉升 dev 變更至 demo 環境 (包含 A4 列印功能與多租戶防護) 2026-05-22 10:24:45 +08:00
sky121113
016cb571c4 feat: 合併 A4 極簡奢華風列印功能與多租戶防護 2026-05-22 10:24:30 +08:00
sky121113
e724ec05eb [PROMOTE] 晉升 dev 變更至 demo 環境
1. 修正台灣地址解析經緯度失敗問題,支援瑞光路特定二樓格式
2. 新增 Discord 通知設定的繁體中文、英文、日文多語系翻譯
3. 修正租戶管理員無基本設定權限時側邊欄仍顯示空選單的問題
2026-05-22 10:01:49 +08:00
sky121113
51f489c496 feat(sidebar): 修正租戶管理員無基本設定權限時仍顯示空選單的問題 2026-05-22 09:59:22 +08:00
sky121113
44d0499b53 feat(i18n): 新增 Discord 通知設定的繁中、英文、日文多語系翻譯 2026-05-22 09:55:23 +08:00
sky121113
4dad775568 [FIX] 修正台灣地址解析經緯度失敗問題
1. 新增 cleanFloorInfo 方法,過濾地址末尾的樓層、室、地下室等非門牌雜訊,防範 Nominatim 解析失敗。
2. 重構 parseTaiwanAddress 的路名拆分正則表達式,導入層級感知台灣地址結構,避免含有「巷、弄」的地址被提前截斷。
2026-05-22 09:51:05 +08:00
sky121113
a76f6323a2 [PROMOTE] 晉升 dev 至 demo 環境
1. [STYLE] 將 Discord 溫度過低告警側邊條顏色從預設藍色 (cyan-600) 調整為警示紅色 (rose-600),以與溫度過高告警顏色保持警示一致性。
2026-05-21 17:09:10 +08:00
sky121113
b6e5b825a5 [STYLE] 將溫度過低告警側邊條顏色調整為警示紅色 2026-05-21 17:09:00 +08:00
sky121113
43989ada2d [PROMOTE] 晉升 dev 至 demo 環境
1. [FIX] 修正機台設定公司篩選下拉選單兩項問題:選取後自動觸發 AJAX 篩選、重設按鈕透過 HSSelect.setValue() 正確清除 Preline 下拉選單 UI、調整 Preline autoInit 與 Alpine initTree 初始化順序以 requestAnimationFrame 確保 DOM 更新完畢後才執行 Alpine。
2. [FIX] 補強公司篩選下拉選單 AJAX 後選中狀態顯示:option 元素補上 server-side selected 屬性、fetchTabContent 完成後主動呼叫 HSSelect.setValue() 強制同步顯示文字。
2026-05-21 17:05:49 +08:00
sky121113
e88d68d3b1 Merge branch 'feat/discord-notification' into dev 2026-05-21 17:02:03 +08:00
sky121113
18162dfa4c [FIX] 補強公司篩選下拉選單的 AJAX 後選中狀態顯示
1. 為 option 元素補上 server-side selected 屬性,確保 Preline autoInit 重建時能正確讀取已選中的公司選項。
2. 在 fetchTabContent AJAX 完成後,主動呼叫 HSSelect.setValue() 強制同步下拉選單的顯示文字,消除選中狀態消失的視覺問題。
2026-05-21 17:01:47 +08:00
sky121113
90192dbed9 [FIX] 修正機台設定公司篩選下拉選單兩項問題
1. 選取公司後自動觸發 AJAX 篩選,無需手動按搜尋按鈕
2. 修正重設按鈕邏輯,透過 HSSelect.setValue() 正確清除 Preline 下拉選單 UI 顯示
3. 調整 fetchTabContent 的 Preline autoInit 與 Alpine initTree 初始化順序,以 requestAnimationFrame 確保 DOM 更新完畢後才執行 Alpine,解決 AJAX 後下拉選單選中狀態遺失的問題
2026-05-21 16:58:14 +08:00