sky121113
|
d9edeb0d5d
|
[FEAT] 電子發票後台開立、對帳、補開與作廢流程
1. 新增發票狀態機(pending/issued/failed/void)與冪等鍵 relate_number,並補上 last_checked_at、retry_count、voided_at、void_reason 欄位(migration 全欄位 nullable/有預設,對既有資料零影響並回填既有狀態)。
2. finalize 帶入發票輸入時改為先建 pending 發票,commit 後派發 IssueInvoiceJob 非同步向綠界開立,避免在交易內等待 ECPay 造成長交易。
3. 新增 EcpayInvoiceService 封裝綠界 B2C API(GetIssue 查詢、Issue 補開、Invalid 作廢),金鑰仍取自各機台 payment_configs。
4. 新增 invoices:reconcile 排程指令,每 5 分鐘對 pending 發票以 RelateNumber 向綠界 GetIssue 查證,補登 issued 或標記 failed 待補開。
5. SalesController 新增 reconcileInvoice/reissueInvoice/voidInvoice 三個後台操作端點與對應路由。
6. 發票列表改以 created_at 篩選(pending/failed 尚無 invoice_date 也能顯示),新增狀態過濾器與查詢/補開/作廢操作按鈕,狀態徽章改以狀態機顯示。
7. recordInvoice 改以 flow_id updateOrCreate 收斂,避免重送產生重複發票列;查詢機台/訂單時加上 withoutGlobalScopes。
8. 同步新增相關三語系字串並加入 ecpay_invoice base_url 設定。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-15 16:18:33 +08:00 |
|
sky121113
|
9511ebe71f
|
[FEAT] 商品詳情支援多行排版並原樣下發 APP
1. 多語系輸入元件 product-locale-tabs 新增 multiline 參數,啟用時改用 textarea(保留換行、可垂直拖曳),名稱欄位維持單行 input。
2. 商品新增/編輯頁的「詳情」欄位改為多行輸入。
3. ProductController store/update 將 specs.* 與 spec 驗證上限由 255 放寬至 2000。
4. 新增 migration 將 products.spec 由 VARCHAR(255) 改為 TEXT,避免較長 zh_TW 詳情被截斷(translations.value 本即 TEXT)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-15 11:42:06 +08:00 |
|
sky121113
|
7f700df418
|
[STYLE] 商品多語系欄位標題由「規格」改為「詳情」
1. 商品建立/編輯頁多語系區塊標題改用 key Details (Multilingual),顯示為「詳情(多語系)」。
2. 三語系 JSON 以 Details (Multilingual) 取代 Specification (Multilingual)(zh_TW=詳情(多語系)/ en=Details (Multilingual) / ja=詳細(多言語)),維持字母排序與三語對齊。
3. 底層欄位 spec 與 B012 t060v03 不變,僅調整前台顯示標籤。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
2026-06-15 10:22:20 +08:00 |
|
sky121113
|
a6caf0ded5
|
[STYLE] 調整顯示語系選中態為淡 cyan 強調
1. 機台系統設定彈窗「顯示語系」勾選按鈕:選中態由整顆深底反白 (bg-slate-900/dark:bg-white) 改為淡 cyan 強調 (bg-cyan-500/10 + border-cyan-500/40 + text-cyan-600/dark:text-cyan-300),降低對比、與 toggle 開關同一 cyan 語彙。
2. 商品名稱/規格多語系 Tab 元件 (product-locale-tabs):選中態比照改為相同淡 cyan 強調。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
2026-06-15 09:24:30 +08:00 |
|
sky121113
|
1f1eb7714e
|
[FIX] 修正多語系升級導致既有環境商品編輯器只剩繁中 Tab
1. 新增回填 migration:將既有機台 settings.languages 補為 ["zh_TW","en","ja"](僅補缺鍵/空值者,已設定者不動,以 DB 更新避免觸發機台事件),使 demo/prod 升級後公司語系聯集維持中英日、商品編輯器照常顯示三 Tab。
2. 商品編輯頁加保險:語系 Tab = 公司機台語系聯集 ∪「此商品已有翻譯的語系」,並依白名單排序,避免日後公司聯集縮減時藏掉既有翻譯而無法編輯。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
2026-06-15 09:07:41 +08:00 |
|
sky121113
|
779c59138f
|
[FEAT] 商品與機台多語系架構,並補上系統設定同步操作
1. 新增 config/locales.php:定義 11 種系統支援語系白名單(原文+中文註記)、每台機台上限 5 種與 fallback (zh_TW)。
2. Company 新增 activeLocalesFor()/activeLocales():計算公司所有機台已開語系的聯集(去重、依白名單排序、保底 zh_TW),加快取與 forgetActiveLocales() 失效機制。
3. products 新增 spec_dictionary_key 欄位(migration);Product 新增 localized_spec accessor 與 specTranslations 關聯,商品規格比照名稱支援多語系。
4. ProductController 商品建立/更新改收 names 與 specs 物件,寫入 translations(group=product/product_spec),既有商品首次編輯補建 spec key,刪除時一併清除規格翻譯。
5. ProductCatalogService(B012)保留既有 t060v01_en/_jp 欄位,新增 t060v01_i18n/t060v03_i18n locale map,依公司語系聯集輸出並回退 zh_TW,確保線上舊 App 相容。
6. 機台系統設定(updateSystemSettings)新增 languages 顯示語系驗證與寫入(最多 5 種、白名單、去重,僅系統管理員),異動時失效語系聯集快取並重建商品目錄。
7. B014(getSettings)新增 LangSet 下發機台顯示語系(Languages 有序清單+Default 預設)。
8. 商品建立/編輯頁名稱與規格改為多語系 Tab(讀公司機台語系聯集、完成度標記),新增共用元件 product-locale-tabs;機台系統設定彈窗新增顯示語系勾選 UI(限 5 選、預設標記)。
9. 三語系 JSON(zh_TW/en/ja)新增 5 組對齊鍵並維持字母排序。
10. 同步更新文件:docs/API/product_multilingual_spec.md(規格書)、api-technical-specs SKILL.md(B012 i18n/B014 LangSet)、config/api-docs.php(B012/B014 範例與欄位)。
11. 系統設定同步:新增 sync-settings 路由與 update_settings 指令類型,ProcessCommandAck 與遠端指令歷史(remote index/tab-history)支援 update_settings 標籤,機台系統設定頁新增「同步設定」操作按鈕,並補 B016 回寫測試。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
2026-06-15 09:00:10 +08:00 |
|
sky121113
|
a5e5390cd1
|
[DOCS] 補齊 B690 來店禮驗證的錯誤回應文件
1. SKILL.md B690 章節新增 400 (格式錯誤) 與 429 (已鎖定) 兩種錯誤回應表格,與 verifyWelcomeGift 實際回傳一致。
2. config/api-docs.php B690 條目新增 error_responses 陣列,列出 400 / 404 / 429 錯誤碼與訊息。
3. api-docs.blade.php 新增通用「錯誤回應 (Error Responses)」渲染區塊,其他端點可沿用 error_responses 欄位。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-11 15:00:50 +08:00 |
|
sky121113
|
6ca3fa8a6b
|
[FIX] 修正取貨碼有效期限固定為 24 小時的問題
1. 建立取貨碼時,隱藏的「自訂日期」欄位會被預填為明天並隨表單送出,導致後端 expires_at 永遠為 filled,固定套用約 24 小時。
2. 時數模式時 disabled 掉 expires_at 欄位,自訂日期模式時 disabled 掉 expires_hours 欄位,使停用欄位不被提交。
3. 修正後時數滑桿與自訂日期可各自正確生效,取貨碼有效期限依使用者設定產生。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-11 14:28:03 +08:00 |
|
sky121113
|
2b25c5bebf
|
[FIX] 修正商品分類頁多餘 </div> 導致 Alpine 範圍崩壞
1. 移除 tab-categories.blade.php 手機版卡片區塊多出的一個 </div>(原本 20 個 <div 卻有 21 個 </div>)。
2. 該多餘結束標籤在 @forelse 迴圈內提前關閉外層容器,連鎖將整個 x-data="productManager" 元件 div 提前關閉。
3. 修正後操作紀錄 (logs) tab、編輯分類 modal (openCategoryModal)、匯入 modal (isImportModalOpen) 重新回到 Alpine 元件範圍內,消除 activeTab/tabLoading/isImportModalOpen is not defined 等錯誤。
4. 後端邏輯未變動,原本操作紀錄已正常寫入資料庫,僅前端因範圍崩壞無法切換 tab 與開啟編輯。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-10 16:11:27 +08:00 |
|
sky121113
|
378332be25
|
[FEAT] APK 機台風味欄位改為自由輸入並補驗證與三語系
1. APK 版本建立頁「機台風味」欄位由固定下拉選單 (x-searchable-select) 改為自由輸入 text input,搭配 datalist 提供常用 flavor 建議值,允許填入任意 flavor。
2. 表單送出新增 flavor 必填驗證,未填時跳出 toast 提示。
3. APK 檔名自動解析填入邏輯改為直接寫入 x-model flavor,移除原 Preline HSSelect 實例操作。
4. 新增多語系 key「Please enter machine flavor」並同步 zh_TW / en / ja。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-10 14:10:36 +08:00 |
|
sky121113
|
ed79a6ab32
|
[FEAT] 金流配置與機台系統設定整合進 B014,補完機台端設定下發
1. 金流配置表單語意分組與多語系:綠界發票/玉山掃碼/Line官方支付/Tappay 四區 label 改用無歧義 key 並補齊 en/ja/zh_TW,發票區新增「發票通知 Email」欄位。
2. B014 密鑰讀取對齊金流配置巢狀結構(esun_scan/tappay/ecpay_invoice),發票改讀 payment_configs(不再讀 companies 表),統一以 data_get 安全取值。
3. B014 機台系統設定全面改以機台端 *Set + PascalCase 風格下發:DevSet/CashSet/FunctionSet/ShoppingMode/OperationSet(運作參數)/HardwareSet(硬體與貨道),移除原始 key 雜燴的 MachineSettings 物件。
4. 釐清 LINE Pay 兩條路線:DevLinePay 對應「Line官方支付」官方直連(scan_pay_linepay_enabled)、TapPay30 對應 TapPay 底下 LINE Pay(tappay_linepay)。
5. 機台系統設定 modal 新增「Line官方支付」開關(置於掃碼支付下方),並納入支付方式全選;機台清單「啟用功能」同步顯示。
6. 移除卡片支付子項(悠遊卡/一卡通/icash),卡片支付開啟即視為全支援。
7. 編輯機台頁移除「會員與外部系統」區塊與「發票開立狀態」欄位(會員/來店禮改由機台系統設定管理)。
8. 同步更新 API 文件(api-technical-specs SKILL.md 與 config/api-docs.php),逐項標註回應參數對應來源與機台既有/新定義結構。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
2026-06-10 13:01:52 +08:00 |
|
sky121113
|
722993a078
|
[FIX] 訪客取貨/通行頁 QR Code 改用公開路由,修正手機開啟失效
1. 新增公開路由 qr-code.public(throttle:120,1),不需管理員登入即可產生 QR 圖片,供訪客頁渲染使用。
2. qr-code Blade 元件 dynamic=false 分支改指向 qr-code.public,原本指向需登入的 admin.basic-settings.qr-code,導致手機開連結時因無 session 被導向登入頁、圖片失效。
3. 後台列表頁(dynamic=true,登入狀態)維持原 admin 路由不變。
|
2026-06-10 11:15:57 +08:00 |
|
sky121113
|
17f565bded
|
[REFACTOR] 機台系統設定 settings JSON 化與編輯介面多語系/UI 優化
1. Machine 模型:新增 settings JSON 的 accessors/mutators(shopping_mode、tax_invoice_enabled、card_terminal_enabled、scan_pay_esun/linepay_enabled、shopping_cart_enabled 等),讀寫統一收斂到 settings 欄位並同步既有資料表欄位。
2. MachineSettingController:system_settings 儲存邏輯補上 pickup_module_enabled(納入 allowedFields,非基礎版模式時強制關閉)。
3. 多語系補完:新增 Edit Machine System Settings、Basic Mode Features、Bill、Coin、Search machine name or code... 等 key(en/ja/zh_TW),並把寫死的「鈔/幣」面額前綴與中文搜尋框 placeholder 改為 __() 翻譯。
4. 編輯 modal UI:各支付區塊「全選/取消全選」移至標題旁;取貨模組新增區塊總開關與全選;購物車/來店禮改為卡片版型、開關靠右移除重複標籤。
5. 基礎版專屬功能以容器外框+標籤分組,與會員系統/稅務系統/硬體周邊(永遠顯示)做出視覺區隔;「支付方式」全選一併納入取貨模組。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
2026-06-09 17:34:11 +08:00 |
|
sky121113
|
66416b14ed
|
[STYLE] 簡化庫存概覽與庫存效期的商品 ID 標記為 ID
|
2026-06-05 16:56:48 +08:00 |
|
sky121113
|
eab9b90b88
|
[STYLE] 統一機台庫存概覽與庫存效期的商品 ID 與效期文字規格
|
2026-06-05 16:53:27 +08:00 |
|
sky121113
|
d326697417
|
[STYLE] 統一機台庫存概覽與庫存效期的商品 ID 多語系名稱
1. 將寫死的「ID:」改為多語系「{{ __('Product ID') }}:」。
2. 修改 zh_TW.json,將 Product ID 的繁體中文翻譯由「商品編號」改為「商品 ID」,與列表上的「效期」在中文語境下完全對齊統一。
|
2026-06-05 16:49:16 +08:00 |
|
sky121113
|
6a600bb009
|
[FEAT] 在機台庫存概覽與庫存效期管理頁面加顯示商品 ID
1. 修改 resources/views/admin/warehouses/machine-inventory.blade.php,於 Table View、Grid View 和 Mobile Card View 中加顯示商品 ID (ID: {id})。
2. 修改 resources/views/admin/remote/stock.blade.php,於 Table View、Grid View、Mobile Card View 和 Edit Modal 中加顯示商品 ID (ID: {id})。
|
2026-06-05 16:36:45 +08:00 |
|
sky121113
|
8f2dd1375e
|
[FEAT] 實作機台報表分析功能與商品報表篩選列優化
1. 實作 AnalysisController@machineReports 後端邏輯,支援租戶隔離與帳號機台授權過濾。
2. 建立 machine-reports.blade.php 視圖,加入極簡奢華風統計卡片、ApexCharts 趨勢圖與自訂多選支付工具篩選器,並停用圖表縮放優化滾輪滾動體驗。
3. 優化 product-reports.blade.php,新增機台下拉選單過濾,並啟用寬度優化與響應式自動換行,且同步停用圖表縮放。
4. 在 Machine model 全域 Scope 中排除單元測試阻擋,並更新 RoleSeeder 播種機台報表權限。
5. 新增 AnalysisReportsTest 測試,並更新 AnalysisPermissionTest 權限測試,且在 Sail 中驗證為 100% 通過。
6. 同步更新繁中、英文、日文翻譯 JSON 檔案,以 zh_TW 為基準完美對齊、字母排序且還原斜線。
|
2026-06-05 16:21:05 +08:00 |
|
sky121113
|
857198bbba
|
[FEAT] 新增遠端庫存列表視圖與機台管理租戶公司過濾功能
1. 在遠端管理「庫存與效期」頁面實作列表視圖 (Table View) 與手機版卡片視圖 (Mobile Card View),並支援點擊 Slot 行/卡片彈出編輯 Modal 進行庫存與效期修改。
2. 調整遠端庫存 Table 的 border、hover 背景色、divide 分隔線顏色與 Expiry 日期格式,使其與庫存概覽列表視圖完美對齊。
3. 在機台管理 (Machine Management) 與報修管理 (Maintenance Management) 等頁面新增僅系統管理員可見的 Company Filter 租戶過濾下拉選單。
4. 更新 zh_TW.json、en.json、ja.json 翻譯檔案與相關說明文件。
|
2026-06-05 14:20:35 +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
|
9a59186cd4
|
[FEAT] 登入頁面新增防止重複提交與載入動畫效果
1. 於 `resources/views/auth/login.blade.php` 登入表單引入 Alpine.js 狀態管理,新增 `isSubmitting` 控制。
2. 登入按鈕於提交時自動處於 disabled 狀態,避免使用者重複點擊。
3. 於登入按鈕內新增 Spinner 載入動畫與「登入中」文字狀態提示,提升使用者互動體驗。
|
2026-06-05 11:56:22 +08:00 |
|
sky121113
|
0964981097
|
[FEAT] 基本設定的機台管理新增鑰匙編號欄位與位置調整
1. 於 `MachineSettingController.php` 的 `store` 驗證規則中新增 `key_no` 欄位。
2. 於 `index.blade.php` 的新增機台 Modal 及詳情 Drawer 中,加入「鑰匙編號」欄位與展示。
3. 於機台列表 `tab-machines.blade.php` (桌面表格與行動版卡片) 新增「鑰匙編號」顯示,並同步更新 Detail Drawer 參數。
4. 於 `edit.blade.php` 將「鑰匙編號」欄位移至「基本資訊」區塊並與「客戶公司」並排顯示。
5. 補齊並自動對齊繁中、英文、日文翻譯。
6. 撰寫 `MachineSettingTest.php` 測試案例,驗證基本設定中新增與更新機台鑰匙編號之邏輯。
|
2026-06-05 11:50:00 +08:00 |
|
sky121113
|
11eca730f7
|
[FEAT] 實作自訂品牌樣式設定與專屬登入頁面預覽功能
1. 實作自訂品牌樣式設定,支援上傳 Logo、登入大背景圖與左側卡片背景圖。
2. 整合 ImageHandler 處理上傳圖片,自動壓縮並轉為優質 webp 格式以提升載入速度。
3. 將品牌設定自 Modal 拆分,新增獨立的 branding.blade.php 設定頁面以優化操作體驗。
4. 於 TenantLoginController 新增登入頁預覽 (preview) 與專屬首頁重導向 (indexRedirect) 路由邏輯。
5. 調整 auth/login.blade.php 以支援動態呈現自訂背景圖、Logo、主副標題,且在預覽模式下阻擋登入並顯示頂部橫條。
6. 修正租戶登入安全性比對,加強 (int) 型態校驗並豐富 Log 警示資訊。
7. 更新並對齊 zh_TW.json、en.json 與 ja.json 三語系檔之品牌客製化相關辭彙。
8. 補充完整 Feature Test (CompanySettingsTest),全面涵蓋物理刪除、上傳限制、預覽渲染、跳轉與登入安全性限制之測試。
|
2026-06-05 08:44:38 +08:00 |
|
sky121113
|
06d93889b3
|
[FEAT] 依據環境溫度監測啟用狀態動態顯示日誌 Tab
1. 在 machines/index.blade.php 的 Alpine x-data 中新增 currentMachineAmbientTempEnabled 屬性。
2. 修改 openLogPanel 方法以傳入機台的環境溫度監測啟用狀態。
3. 於機台列表所有呼叫 openLogPanel 處帶入 ambient_temp_monitoring_enabled。
4. 在「環境溫度回傳」Tab 的按鈕上加入 x-show 與 x-cloak,使該 Tab 僅在機台啟用監測時顯示,避免非必要 Tab 的干擾與界面閃爍。
|
2026-06-04 13:13:20 +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
|
5dd3b0a005
|
[FEAT] 新增多租戶自訂登入、視覺設定與 APK 版本上傳時間
1. 實作多租戶專屬自訂登入頁面:支援 `/c/{company_code}/login` 特殊入口,自動載入租戶專屬 Logo 網址、名稱與歡迎詞。
2. 支援客製化品牌視覺設定:於客戶管理清單中,提供 SaaS 管理者可自訂租戶 Logo 圖片與歡迎副標題,且系統後台 Header/Sidebar 與登入頁能動態依該配置載入租戶專屬商標。
3. 擴充多語系字典並完成三檔對齊:新增 "Upload Time" 欄位與翻譯,執行 `ksort` 以維持 zh_TW、en 與 ja 語系檔對齊。
4. APK 版本清單增加上傳時間欄位:於 APK 版本表格中呈現上傳時間(created_at),使用 font-mono 奢華風小尺寸樣式呈現。
|
2026-06-01 17:07:20 +08:00 |
|
sky121113
|
b1bebf6ae4
|
[STYLE] 優化 APK 版本列表更新說明顯示與複製功能
1. 使用 Alpine.js 實作更新說明點擊切換展開/收起功能,方便檢視完整字數。
2. 增加 title 屬性提供 hover tooltip 顯示完整更新說明。
3. 移除 select-none 樣式,允許使用者反白複製更新說明內容。
|
2026-06-01 12:01:46 +08:00 |
|
sky121113
|
5db796bf64
|
[STYLE] 再度提升後台頁面轉場與登場 Loading 微動畫體驗
1. 優化 components/loading-screen.blade.php:將 loading 狀態設為預設開啟,並利用 requestAnimationFrame 與延遲在 x-init 中自動淡出,實現更流暢的頁面進場登場動畫。
2. 優化 layouts/admin.blade.php:引入 .admin-content-shell 過渡容器與 .admin-page-transitioning 狀態,在點擊跳轉時使主內容漸變為半透明與微模糊,提供 SPA 級別的跳轉微過渡體驗。
3. 重構 layouts/admin.blade.php 跳轉載入命名:將全螢幕載入整合至頁面登場與內容過渡機制,防止重複點擊並解除事件衝突。
|
2026-06-01 10:11:08 +08:00 |
|
sky121113
|
610899d898
|
[STYLE] 優化後台管理系統側邊欄佈局與全局頁面跳轉載入機制
1. 優化 layouts/admin.blade.php:引入 CSS 變數動態計算側邊欄寬度與內容偏移量,在 <head> 中即時應用,避免 Alpine.js 載入前的排版跳動 (CLS/FOUC)。
2. 重構 layouts/admin.blade.php 的頁面跳轉載入機制:設計 shouldShowPageLoading 嚴謹過濾 Hash 導航、新分頁、Ctrl+點擊、非同源等情境,僅在站內頁面實際跳轉時觸發 Loading。
3. 優化 components/loading-screen.blade.php:改為監聽 show-global-loading 與 hide-global-loading 全局事件,並新增 x-transition 動畫以實現平滑的淡入淡出體驗。
|
2026-06-01 09:49:38 +08:00 |
|
sky121113
|
a5ead47874
|
[FIX] 修正登入密碼輸入框眼睛圖示大小失效問題
1. 修正 resources/views/auth/login.blade.php 中密碼切換按鈕的 SVG 圖示大小類名。
2. 將無效的 w-4.5 h-4.5 改為 Tailwind CSS 標準的 w-5 h-5,解決圖示尺寸坍塌導致完全隱形看不到眼睛的問題。
|
2026-06-01 08:42:46 +08:00 |
|
sky121113
|
d9e9c5e5db
|
[FEAT] 新增 APK 下載連結複製功能與優化相關 UI
1. 在 APK 版本管理列表新增「複製下載連結」按鈕,並以 Alpine.js 結合 navigator.clipboard 實作複製成功 toast 通知。
2. 同步更新繁中、英文、日文多語系檔,補上複製下載連結相關語彙。
3. 修正 APK 新增頁面中外部連結按鈕 SVG 圖示閉合不全的問題。
|
2026-05-29 17:42:44 +08:00 |
|
sky121113
|
23b3ea16ae
|
[FIX] 修正機台管理頁面的表單提交行為與導向邏輯
1. 將原本一律攔截的 @submit.prevent 改為動態 @submit。
2. 僅在表單使用 GET 方法進行搜尋過濾時,才執行 $event.preventDefault() 並以非同步方式載入頁面,確保 POST/PUT 等非 GET 類型的表單提交能正常運作。
|
2026-05-29 16:54:01 +08:00 |
|
sky121113
|
e01e8077f9
|
[FEAT] 新增訂單收件人姓名遮罩與商品詞彙通用化調整
1. 於 Order Model 新增收件人姓名遮罩邏輯 (masked_pickup_recipient),將 member_barcode 進行去識別化處理以保護隱私,並保留括號/換行等後綴資訊。
2. 新增 OrderPickupRecipientMaskTest 單元測試,驗證中文字元及包含換行/括號的後綴遮罩正確性。
3. 更新後台銷售管理介面 (order-detail-panel.blade.php、tab-orders.blade.php),將原先顯示明文的 member_barcode 改用遮罩後的屬性展示。
4. 將機器通訊協定與狀態代碼中的「便當 (Bento)」字詞統一調整為「商品 (Product)」,以符合各機型通用語意。
5. 更新相關語系翻譯檔案 (zh_TW.json, en.json, ja.json) 及 MQTT 通訊規範文件中的詞彙對應。
6. 修改 MachineLog 中的翻譯取得邏輯,確保能透過錯誤代碼表對應到最新的商品語意。
|
2026-05-29 14:37:28 +08:00 |
|
sky121113
|
8d380e4902
|
[FEAT] 增加訂單出貨交付狀態(delivery_status)與多語系支援
1. 新增資料庫遷移:在 資料表增加 (出貨狀態:0 失敗、1 成功、2 部分成功),預設值為 1 並允許 NULL 以完美向下相容舊機台。
2. 升級 Model:加入 到可填充與轉型,並宣告常量與 取得本地化文字的 Accessor。
3. 更新 邏輯:在 中自動解析並記錄 。新增 輔助函式,當 Payload 未指定訂單狀態時,可動態從個別貨道出貨紀錄 ( 陣列) 計算出整筆訂單的出貨交付結果。
4. 銷售紀錄列表 (tab-orders.blade.php) UI 優化:將原先「狀態」欄位重命名為「付款狀態」,並在右側新增「出貨狀態」欄位,使用極簡奢華風的彩色 Badge 呈現出貨結果;桌機版空狀態 修正為 8 防止破版;手機版卡片同步支援。
5. 側邊明細面板 (order-detail-panel.blade.php) UI 優化:將基本狀態卡片升級為 3 欄網格,將付款狀態、支付類型與新增的出貨狀態 Badge 完美並排。
6. 報表匯出功能 (SalesController.php) 整合:在 Excel 及 CSV 匯出中同步修正「付款狀態」欄位標題與轉換標籤,並新增「出貨狀態」欄位以匯出 。
7. 多語系精準對齊:新增 , , , 及 的繁、英、日翻譯對照,並進行字母升冪排序 (ksort)。
|
2026-05-29 12:17:36 +08:00 |
|
sky121113
|
ba609719cc
|
[FIX] 統計 APK 部署狀態時將 sent (已送出) 納入準備中統計
|
2026-05-29 11:05:45 +08:00 |
|
sky121113
|
fb1bcf49e1
|
[FEAT] 新增 OTA 預約排程與部署狀態展示,並優化版本排序與 UI
1. 建立 `ota_schedules` 資料表與 `OtaSchedule` Model,提供 OTA 預約排程基礎儲存結構。
2. 建立 `ota:process-schedules` 背景 Artisan Command 並註冊至 Console Kernel,每分鐘自動執行到期的預約並透過 MQTT 發送。
3. 擴充 `ApkVersionController` index 方法:加入加載列表時自動觸發排程的防呆機制,並在記憶體中快速統計 pending 與 completed 的機台。
4. 擴充 `ApkVersionController` store 與 push 方法,移除已用不到的 `is_forced` (更新模式) 限制,並支援 `scheduled_at` 預約時間的寫入。
5. 調整 `create.blade.php` 頁面,移除「強制更新」的 Switch 欄位,僅保留注意事項防錯提示。
6. 調整 `index.blade.php` 頁面,將「更新模式」改為「部署狀態」一欄,整合系統內建的 `.tooltip` 與原生 `title` 屬性,在加載與刷新時 100% 穩定展示 Hover 機台名單。
7. 優化 `index.blade.php` 彈窗,將原生時間輸入框改為 Flatpickr 樣式,加入日曆圖標並支援動態 locale 語言切換(中/英/日),將標籤統一命名為「選擇更新時間」。
8. 同步更新並對齊中、英、日三語系 `lang/*.json` 語系檔,並完成字母排序與反逸出斜線處理。
|
2026-05-29 10:55:23 +08:00 |
|
sky121113
|
da11241f72
|
sales: localize pickup recipient wording for payment_type 42
|
2026-05-28 16:14:02 +08:00 |
|
sky121113
|
7d8b342a85
|
sales: unify pickup recipient wording for payment_type 42
|
2026-05-28 16:08:35 +08:00 |
|
sky121113
|
ea8c277ee9
|
sales: show member_barcode for payment_type 42 in records UI
|
2026-05-28 15:54:53 +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
|
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
|
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
|
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
|
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
|
1cfc4092d2
|
[STYLE] 調整側邊欄基本設定選單,將 APK 版本移動至選單最下方
1. 修改 sidebar-menu.blade.php 中的基本設定列表順序,將原本排在首項的「APK版本 (apk-versions)」選單移動至基本設定選單的最底部,提升選單直覺度。
|
2026-05-27 10:01:07 +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
|
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
|
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 |
|