[FEAT] 遠端指令中心優化與規格同步
All checks were successful
star-cloud-deploy-demo / deploy-demo (push) Successful in 1m11s

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. 補全繁體中文、英文、日文多語系翻譯檔案。
This commit is contained in:
2026-04-02 14:57:41 +08:00
parent e7ad7e3dc3
commit e085058d63
16 changed files with 1775 additions and 532 deletions

View File

@@ -1,4 +1,5 @@
{
"Abnormal": "Abnormal",
"A new verification link has been sent to your email address.": "A new verification link has been sent to your email address.",
"AI Prediction": "AI Prediction",
"API Token": "API Token",
@@ -21,6 +22,7 @@
"Account created successfully.": "Account created successfully.",
"Account deleted successfully.": "Account deleted successfully.",
"Account updated successfully.": "Account updated successfully.",
"Slot updated successfully.": "Slot updated successfully.",
"Account:": "Account:",
"Accounts / Machines": "Accounts / Machines",
"Action": "Action",
@@ -71,6 +73,7 @@
"Are you sure you want to delete this role? This action cannot be undone.": "Are you sure you want to delete this role? This action cannot be undone.",
"Are you sure you want to delete your account?": "Are you sure you want to delete your account?",
"Are you sure you want to proceed? This action cannot be undone.": "您確定要繼續嗎?此操作將無法復原。",
"Are you sure you want to send this command?": "Are you sure you want to send this command?",
"Are you sure?": "Are you sure?",
"Assign": "Assign",
"Assign Machines": "Assign Machines",
@@ -88,6 +91,7 @@
"Available Machines": "可供分配的機台",
"Avatar updated successfully.": "Avatar updated successfully.",
"Avg Cycle": "Avg Cycle",
"Back to List": "Back to List",
"Badge Settings": "Badge Settings",
"Barcode": "Barcode",
"Basic Information": "Basic Information",
@@ -107,9 +111,13 @@
"Cannot delete role with active users.": "Cannot delete role with active users.",
"Card Reader": "Card Reader",
"Card Reader No": "Card Reader No",
"Card Reader Reboot": "Card Reader Reboot",
"Card Reader Restart": "Card Reader Restart",
"Card Reader Seconds": "Card Reader Seconds",
"Category": "Category",
"Category Name (en)": "Category Name (English)",
"Category Name (ja)": "Category Name (Japanese)",
"Category Name (zh_TW)": "Category Name (Traditional Chinese)",
"Change": "Change",
"Change Stock": "Change Stock",
"Channel Limits": "Channel Limits",
@@ -118,24 +126,21 @@
"ChannelSecret": "ChannelSecret",
"Checkout Time 1": "Checkout Time 1",
"Checkout Time 2": "Checkout Time 2",
"Clear": "Clear",
"Clear Filter": "Clear Filter",
"Clear Stock": "Clear Stock",
"Click here to re-send the verification email.": "Click here to re-send the verification email.",
"Click to Open Dashboard": "Click to Open Dashboard",
"Click to upload": "Click to upload",
"Close Panel": "Close Panel",
"Company": "Company",
"Company Code": "Company Code",
"Company Information": "Company Information",
"Company Level": "Company Level",
"Company Name": "Company Name",
"Config Name": "配置名稱",
"Configuration Name": "Configuration Name",
"Confirm": "Confirm",
"Confirm Account Deactivation": "Confirm Deactivation",
"Confirm Account Status Change": "Confirm Account Status Change",
"Confirm Changes": "Confirm Changes",
"Confirm Deletion": "Confirm Deletion",
"Confirm Password": "Confirm Password",
"Confirm Status Change": "Confirm Status Change",
"Connected": "Connected",
"Connecting...": "Connecting...",
"Connectivity Status": "Connectivity Status",
"Connectivity vs Sales Correlation": "連線狀態與銷售關聯分析",
@@ -190,6 +195,7 @@
"Delete Product Confirmation": "Delete Product Confirmation",
"Deposit Bonus": "Deposit Bonus",
"Describe the repair or maintenance status...": "Describe the repair or maintenance status...",
"Deselect All": "Deselect All",
"Detail": "Detail",
"Device Information": "Device Information",
"Device Status Logs": "Device Status Logs",
@@ -206,19 +212,9 @@
"EASY_MERCHANT_ID": "EASY_MERCHANT_ID",
"ECPay Invoice": "ECPay Invoice",
"ECPay Invoice Settings Description": "ECPay Electronic Invoice Settings",
"Type to search or leave blank for system defaults.": "Type to search or leave blank for system defaults.",
"Select Company (Default: System)": "Select Company (Default: System)",
"Search Company Title...": "Search Company Title...",
"System Default (Common)": "System Default (Common)",
"Category Name (zh_TW)": "Category Name (Traditional Chinese)",
"Category Name (en)": "Category Name (English)",
"Category Name (ja)": "Category Name (Japanese)",
"e.g., Beverage": "e.g., Beverage",
"e.g., Drinks": "e.g., Drinks",
"e.g., お飲み物": "e.g., O-Nomimono",
"Edit": "Edit",
"Edit Category": "Edit Category",
"Edit Account": "Edit Account",
"Edit Category": "Edit Category",
"Edit Customer": "Edit Customer",
"Edit Expiry": "Edit Expiry",
"Edit Machine": "Edit Machine",
@@ -229,6 +225,7 @@
"Edit Role": "Edit Role",
"Edit Role Permissions": "Edit Role Permissions",
"Edit Settings": "Edit Settings",
"Edit Slot": "Edit Slot",
"Edit Sub Account Role": "Edit Sub Account Role",
"Email": "Email",
"Enable": "Enable",
@@ -249,7 +246,10 @@
"Equipment efficiency and OEE metrics": "設備效能與 OEE 綜合指標",
"Error": "Error",
"Error processing request": "Error processing request",
"Execute Change": "Execute Change",
"Execute maintenance and operational commands remotely": "Execute maintenance and operational commands remotely",
"Execution Time": "Execution Time",
"Exp": "Exp",
"Expired": "Expired",
"Expired / Disabled": "Expired / Disabled",
"Expiry Date": "Expiry Date",
@@ -265,6 +265,7 @@
"Firmware Version": "Firmware Version",
"Fleet Avg OEE": "Fleet Avg OEE",
"Fleet Performance": "Fleet Performance",
"Force end current session": "Force end current session",
"From": "From",
"From:": "From:",
"Full Access": "Full Access",
@@ -319,9 +320,11 @@
"Line Permissions": "Line Permissions",
"Line Products": "Line Products",
"Live Fleet Updates": "Live Fleet Updates",
"Loading Cabinet...": "Loading Cabinet...",
"Loading machines...": "Loading machines...",
"Loading...": "Loading...",
"Location": "Location",
"Lock": "Lock",
"Locked Page": "Locked Page",
"Login History": "Login History",
"Logout": "Logout",
@@ -347,9 +350,9 @@
"Machine Settings": "Machine Settings",
"Machine Status": "Machine Status",
"Machine Status List": "Machine Status List",
"Machine Stock": "Machine Stock",
"Machine Stock Management": "Machine Stock Management",
"Machine Utilization": "Machine Utilization",
"Stock & Expiry": "Stock & Expiry",
"Stock & Expiry Management": "Stock & Expiry Management",
"Machine created successfully.": "Machine created successfully.",
"Machine images updated successfully.": "Machine images updated successfully.",
"Machine model created successfully.": "Machine model created successfully.",
@@ -379,14 +382,16 @@
"Management of operational parameters and models": "Management of operational parameters and models",
"Manufacturer": "Manufacturer",
"Material Code": "Material Code",
"Max": "Max",
"Max 3": "Max 3",
"Max Capacity:": "Max Capacity:",
"Member & External": "Member & External",
"Member List": "Member List",
"Member Management": "Member Management",
"Member Price": "Member Price",
"Member Status": "Member Status",
"Member System": "Member System",
"Membership Tiers": "Membership Tiers",
"Member Status": "Member Status",
"Menu Permissions": "Menu Permissions",
"Merchant IDs": "Merchant IDs",
"Merchant payment gateway settings management": "Merchant payment gateway settings management",
@@ -398,6 +403,7 @@
"Model Name": "Model Name",
"Models": "Models",
"Modifying your own administrative permissions may result in losing access to certain system functions.": "Modifying your own administrative permissions may result in losing access to certain system functions.",
"Monitor and manage stock levels across your fleet": "Monitor and manage stock levels across your fleet",
"Monitor events and system activity across your vending fleet.": "Monitor events and system activity across your vending fleet.",
"Monthly Transactions": "Monthly Transactions",
"Monthly cumulative revenue overview": "Monthly cumulative revenue overview",
@@ -415,7 +421,9 @@
"No Invoice": "No Invoice",
"No Machine Selected": "No Machine Selected",
"No accounts found": "No accounts found",
"No active cargo lanes found": "No active cargo lanes found",
"No alert summary": "No alert summary",
"No command history": "No command history",
"No configurations found": "No configurations found",
"No content provided": "No content provided",
"No customers found": "No customers found",
@@ -431,8 +439,8 @@
"No matching logs found": "No matching logs found",
"No matching machines": "No matching machines",
"No permissions": "No permissions",
"No roles found.": "No roles found.",
"No roles available": "No roles available",
"No roles found.": "No roles found.",
"No slots found": "No slots found",
"No users found": "No users found",
"None": "None",
@@ -457,6 +465,7 @@
"Online Machines": "Online Machines",
"Online Status": "Online Status",
"Only system roles can be assigned to platform administrative accounts.": "Only system roles can be assigned to platform administrative accounts.",
"Operation Note": "Operation Note",
"Operational Parameters": "Operational Parameters",
"Operations": "Operations",
"Optimal": "Optimal",
@@ -476,6 +485,7 @@
"PI_MERCHANT_ID": "PI_MERCHANT_ID",
"PNG, JPG up to 2MB": "PNG, JPG up to 2MB",
"PS_MERCHANT_ID": "PS_MERCHANT_ID",
"Page Lock Status": "Page Lock Status",
"Parameters": "Parameters",
"Pass Code": "Pass Code",
"Pass Codes": "Pass Codes",
@@ -489,7 +499,13 @@
"Payment Configuration deleted successfully.": "Payment Configuration deleted successfully.",
"Payment Configuration updated successfully.": "Payment Configuration updated successfully.",
"Payment Selection": "Payment Selection",
"Pending": "Pending",
"Pending": "Waiting for Machine",
"Sent": "Picked up by Machine",
"Success": "Success",
"Failed": "Failed",
"Creation Time": "Creation Time",
"Picked up Time": "Picked up Time",
"Picked up": "Picked up",
"Performance": "Performance",
"Permanent": "Permanent",
"Permanently Delete Account": "Permanently Delete Account",
@@ -528,9 +544,11 @@
"Purchase Finished": "Purchase Finished",
"Purchases": "Purchases",
"Purchasing": "Purchasing",
"Qty": "Qty",
"Quality": "品質 (Quality)",
"Questionnaire": "Questionnaire",
"Quick Expiry Check": "Quick Expiry Check",
"Quick Maintenance": "Quick Maintenance",
"Quick Select": "快速選取",
"Quick search...": "Quick search...",
"Real-time OEE analysis awaits": "即時 OEE 分析預備中",
@@ -539,16 +557,20 @@
"Real-time monitoring across all machines": "Real-time monitoring across all machines",
"Real-time performance analytics": "Real-time performance analytics",
"Real-time status monitoring": "Real-time status monitoring",
"Reason for this command...": "Reason for this command...",
"Receipt Printing": "Receipt Printing",
"Recent Commands": "Recent Commands",
"Recent Login": "Recent Login",
"Regenerate": "Regenerate",
"Regenerating the token will disconnect the physical machine until it is updated. Continue?": "Regenerating the token will disconnect the physical machine until it is updated. Continue?",
"Remote Change": "Remote Change",
"Remote Checkout": "Remote Checkout",
"Remote Command Center": "Remote Command Center",
"Remote Dispense": "Remote Dispense",
"Remote Lock": "Remote Lock",
"Remote Management": "Remote Management",
"Remote Permissions": "Remote Permissions",
"Remote Settlement": "Remote Settlement",
"Removal": "Removal",
"Repair": "Repair",
"Replenishment Audit": "Replenishment Audit",
@@ -559,6 +581,9 @@
"Reservation Members": "Reservation Members",
"Reservation System": "Reservation System",
"Reservations": "Reservations",
"Reset POS terminal": "Reset POS terminal",
"Restart entire machine": "Restart entire machine",
"Restrict machine UI access": "Restrict machine UI access",
"Returns": "Returns",
"Risk": "Risk",
"Role": "Role",
@@ -591,23 +616,29 @@
"Saving...": "儲存中...",
"Scale level and access control": "層級與存取控制",
"Scan this code to quickly access the maintenance form for this device.": "Scan this code to quickly access the maintenance form for this device.",
"Search configurations...": "Search configurations...",
"Search Company Title...": "Search Company Title...",
"Search by name or S/N...": "Search by name or S/N...",
"Search company...": "Search company...",
"Search configurations...": "Search configurations...",
"Search customers...": "Search customers...",
"Search machines by name or serial...": "Search machines by name or serial...",
"Search machines...": "Search machine name or serial...",
"Search machines...": "Search machines...",
"Search models...": "Search models...",
"Search roles...": "Search roles...",
"Search serial no or name...": "Search serial no or name...",
"Search serial or machine...": "Search serial or machine...",
"Search serial or name...": "Search serial or name...",
"Search users...": "Search users...",
"Security & State": "Security & State",
"Select All": "Select All",
"Select Cargo Lane": "Select Cargo Lane",
"Select Company": "Select Company Name",
"Select Company (Default: System)": "Select Company (Default: System)",
"Select Machine": "Select Machine",
"Select Machine to view metrics": "Please select a machine to view metrics",
"Select Model": "Select Model",
"Select Owner": "Select Company Name",
"Select Slot...": "Select Slot...",
"Select a machine to deep dive": "Please select a machine to deep dive",
"Select an asset from the left to start analysis": "Select an asset from the left to start analysis",
"Select date to sync data": "Select date to sync data",
@@ -615,7 +646,6 @@
"Selected Date": "Search Date",
"Selection": "Selection",
"Serial & Version": "Serial & Version",
"Deselect All": "Deselect All",
"Serial NO": "SERIAL NO",
"Serial No": "Serial No",
"Serial Number": "Serial Number",
@@ -640,6 +670,8 @@
"Status": "Status",
"Status / Temp / Sub / Card / Scan": "Status / Temp / Sub / Card / Scan",
"Stock Management": "Stock Management",
"Real-time monitoring and adjustment of cargo lane inventory and expiration dates": "Real-time monitoring and adjustment of cargo lane inventory and expiration dates",
"Stock Quantity": "Stock Quantity",
"Store Gifts": "Store Gifts",
"Store ID": "Store ID",
"Store Management": "Store Management",
@@ -650,13 +682,17 @@
"Sub-actions": "子項目",
"Sub-machine Status Request": "Sub-machine Status",
"Submit Record": "Submit Record",
"Success": "Success",
"Superseded": "Superseded",
"Superseded by new adjustment": "Superseded by new adjustment",
"Superseded by new command": "Superseded by new command",
"Super Admin": "Super Admin",
"Super-admin role cannot be assigned to tenant accounts.": "Super-admin role cannot be assigned to tenant accounts.",
"Survey Analysis": "Survey Analysis",
"System Default": "System Default",
"System Default (Common)": "System Default (Common)",
"System Level": "System Level",
"System Official": "System Official",
"System Reboot": "System Reboot",
"System Role": "System Role",
"System role name cannot be modified.": "System role name cannot be modified.",
"System roles cannot be deleted by tenant administrators.": "System roles cannot be deleted by tenant administrators.",
@@ -696,14 +732,17 @@
"Track device health and maintenance history": "Track device health and maintenance history",
"Transfer Audit": "Transfer Audit",
"Transfers": "Transfers",
"Trigger Dispense": "Trigger Dispense",
"Tutorial Page": "Tutorial Page",
"Type": "Type",
"Type to search or leave blank for system defaults.": "Type to search or leave blank for system defaults.",
"UI Elements": "UI Elements",
"Unauthorized Status": "Unauthorized",
"Uncategorized": "Uncategorized",
"Unified Operational Timeline": "Unified Operational Timeline",
"Units": "Units",
"Unknown": "Unknown",
"Unlock": "Unlock",
"Update": "Update",
"Update Authorization": "Update Authorization",
"Update Customer": "Update Customer",
@@ -760,8 +799,12 @@
"e.g. TWSTAR": "e.g. TWSTAR",
"e.g. Taiwan Star": "e.g. Taiwan Star",
"e.g. johndoe": "e.g. johndoe",
"e.g., Beverage": "e.g., Beverage",
"e.g., Company Standard Pay": "e.g., Company Standard Pay",
"e.g., Drinks": "e.g., Drinks",
"e.g., Taipei Station": "e.g., Taipei Station",
"e.g., お飲み物": "e.g., O-Nomimono",
"failed": "failed",
"files selected": "files selected",
"items": "items",
"john@example.com": "john@example.com",
@@ -798,19 +841,65 @@
"menu.reservation": "Reservation System",
"menu.sales": "Sales Management",
"menu.special-permission": "Special Permission",
"Qty": "Qty",
"Exp": "Exp",
"Low": "Low",
"Back to List": "Back to List",
"Confirm Changes": "Confirm Changes",
"Max Capacity:": "Max Capacity:",
"Clear": "Clear",
"Max": "Max",
"Edit Slot": "Edit Slot",
"Stock Quantity": "Stock Quantity",
"Loading Cabinet...": "Loading Cabinet...",
"Monitor and manage stock levels across your fleet": "Monitor and manage stock levels across your fleet",
"Search by name or S/N...": "Search by name or S/N...",
"menu.warehouses": "Warehouse Management",
"min": "min"
}
"min": "min",
"pending": "pending",
"sent": "sent",
"success": "success",
"Total": "Total",
"Low": "Low Stock",
"Manage": "Manage",
"Control": "Control",
"Command Center": "Command Center",
"Manage inventory and monitor expiry dates across all machines": "Manage inventory and monitor expiry dates across all machines",
"Operation Records": "Operation Records",
"New Command": "New Command",
"Adjust Stock": "Adjust Stock",
"Adjust Stock & Expiry": "Adjust Stock & Expiry",
"Back to History": "Back to History",
"Command Type": "Command Type",
"No records found": "No records found",
"View More": "View More",
"Operator": "Operator",
"Stock": "Stock",
"Expiry": "Expiry",
"Batch": "Batch",
"N/A": "N/A",
"All Stable": "All Stable",
"Expiring": "Expiring",
"Just now": "Just now",
"mins ago": "mins ago",
"hours ago": "hours ago",
"Last Sync": "Last Sync",
"Last Communication": "Last Communication",
"Command Confirmation": "Command Confirmation",
"Please confirm the details below": "Please confirm the details below",
"No additional notes": "No additional notes",
"Execute": "Execute",
"Command has been queued successfully.": "Command has been queued successfully.",
"Command error:": "Command error:",
"System & Security Control": "System & Security Control",
"Maintenance Operations": "Maintenance Operations",
"Entire Machine": "Entire Machine",
"POS Reboot": "POS Reboot",
"Card Terminal": "Card Terminal",
"Settlement": "Settlement",
"Force End Session": "Force End Session",
"Security Controls": "Security Controls",
"Unlock Page": "Unlock Page",
"Grant UI Access": "Grant UI Access",
"Unlock Now": "Unlock Now",
"Lock Page": "Lock Page",
"Restrict UI Access": "Restrict UI Access",
"Lock Now": "Lock Now",
"Execute Remote Change": "Execute Remote Change",
"Select Target Slot": "Select Target Slot",
"Execute Delivery Now": "Execute Delivery Now",
"Trigger": "Trigger",
"Slot No": "Slot No",
"Amount": "Amount",
"Machine Reboot": "Machine Reboot",
"Remote Reboot": "Remote Checkout",
"Lock Page Unlock": "Unlock Locked Page",
"Lock Page Lock": "Lock Page"
}