From 378332be25f5da92d777b6615d290aa00d327134 Mon Sep 17 00:00:00 2001 From: sky121113 Date: Wed, 10 Jun 2026 14:10:36 +0800 Subject: [PATCH] =?UTF-8?q?[FEAT]=20APK=20=E6=A9=9F=E5=8F=B0=E9=A2=A8?= =?UTF-8?q?=E5=91=B3=E6=AC=84=E4=BD=8D=E6=94=B9=E7=82=BA=E8=87=AA=E7=94=B1?= =?UTF-8?q?=E8=BC=B8=E5=85=A5=E4=B8=A6=E8=A3=9C=E9=A9=97=E8=AD=89=E8=88=87?= =?UTF-8?q?=E4=B8=89=E8=AA=9E=E7=B3=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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) --- lang/en.json | 1 + lang/ja.json | 1 + lang/zh_TW.json | 1 + .../apk-versions/create.blade.php | 38 +++++++++---------- 4 files changed, 22 insertions(+), 19 deletions(-) diff --git a/lang/en.json b/lang/en.json index 680d2e2..233b0a2 100644 --- a/lang/en.json +++ b/lang/en.json @@ -1519,6 +1519,7 @@ "Please enter Webhook URL first.": "Please enter Webhook URL first.", "Please enter address first": "Please enter address first", "Please enter configuration name": "Please enter configuration name", + "Please enter machine flavor": "Please enter machine flavor", "Please enter version name": "Please enter version name", "Please make sure to enable \"Background graphics\" in your browser print settings to print product images and styled components correctly.": "Please make sure to enable \"Background graphics\" in your browser print settings to print product images and styled components correctly.", "Please provide a download URL": "Please provide a download URL", diff --git a/lang/ja.json b/lang/ja.json index 325be51..538eb6e 100644 --- a/lang/ja.json +++ b/lang/ja.json @@ -1519,6 +1519,7 @@ "Please enter Webhook URL first.": "最初にWebhook URLを入力してください。", "Please enter address first": "先に住所を入力してください", "Please enter configuration name": "設定名を入力してください", + "Please enter machine flavor": "機台フレーバーを入力してください", "Please enter version name": "Please enter version name", "Please make sure to enable \"Background graphics\" in your browser print settings to print product images and styled components correctly.": "商品の画像やスタイル付きコンポーネントを正しく印刷するために、ブラウザの印刷設定で『背景のグラフィック』を有効にしてください。", "Please provide a download URL": "Please provide a download URL", diff --git a/lang/zh_TW.json b/lang/zh_TW.json index eb0e4ef..37a37e9 100644 --- a/lang/zh_TW.json +++ b/lang/zh_TW.json @@ -1519,6 +1519,7 @@ "Please enter Webhook URL first.": "請先輸入 Webhook 網址。", "Please enter address first": "請先輸入地址", "Please enter configuration name": "請輸入設定名稱", + "Please enter machine flavor": "請輸入機台風味", "Please enter version name": "請輸入版本名稱", "Please make sure to enable \"Background graphics\" in your browser print settings to print product images and styled components correctly.": "請確保在瀏覽器列印設定中啟用「背景圖形」,以便正確列印商品圖片和樣式元件。", "Please provide a download URL": "請提供下載連結", diff --git a/resources/views/admin/basic-settings/apk-versions/create.blade.php b/resources/views/admin/basic-settings/apk-versions/create.blade.php index 484c9b6..cec7bef 100644 --- a/resources/views/admin/basic-settings/apk-versions/create.blade.php +++ b/resources/views/admin/basic-settings/apk-versions/create.blade.php @@ -75,16 +75,16 @@ {{-- 機台風味 --}}
- - {{-- S號 / Android 12 / XY主板 × 客戶專案 --}} - - - - + + {{-- 常用建議值(非強制,可自由輸入任意 flavor) --}} + + + + +

{{ __('Target hardware flavor for this APK') }}

@@ -198,6 +198,7 @@ isDragging: false, versionName: '{{ old('version_name', '') }}', versionCode: '{{ old('version_code', '') }}', + flavor: '{{ old('flavor', '') }}', adjustVersionCode(delta) { const current = parseInt(this.versionCode) || 0; @@ -222,6 +223,12 @@ })); return; } + if (!this.flavor.trim()) { + window.dispatchEvent(new CustomEvent('toast', { + detail: { message: '{{ __('Please enter machine flavor') }}', type: 'error' } + })); + return; + } if (this.uploadMode === 'file') { const fileInput = form.querySelector('[name=apk_file]'); @@ -267,15 +274,8 @@ this.versionCode = (major * 10000 + minor * 100 + patch).toString(); } - // 3. Select Flavor (Preline HSSelect integration) - const selectEl = document.getElementById('apk-flavor-select'); - if (selectEl) { - selectEl.value = flavor; - const instance = window.HSSelect?.getInstance(selectEl); - if (instance) { - instance.setValue(flavor); - } - } + // 3. Fill Flavor (free-text input — 任意 flavor 皆可填入) + this.flavor = flavor; window.dispatchEvent(new CustomEvent('toast', { detail: { message: '{{ __('已自動解析 APK 檔名並填入欄位!') }}', type: 'success' }