Skip to content
全部階段依各階段有效範圍顯示
全階段總覽

本頁範圍:P1 起

A-51 Trophy Room Exam Import ​

管理員端檢定管理設計規格P1 起
P1 版本
畫面用途

使用者: Admin / Super Admin

原型與規格有待確認事項,請一併閱讀正文中的差異說明。

閱讀完整規格 ↓
變化時間線
  1. P1新增 +1移除 −0

第一版式樣草案 · Markdown 來源:04-App畫面-管理員.mdGitHub 版本尚未推送;目前以本機手冊為準

取圖紀錄: QL APP,2026-10-18,版本 2410774734466577464;節點 912:4014 。學生 2x/Web 1x。圖片是目前設計稿,文字為 APlus 首版目標規格。 設計稿待更新(F-31): 圖中舊品牌、華語內容或待核對項目照實保留;請以本節英語文字規格為目標。設計修改後重新取圖。

智能獎杯導入中心

🎨 Figma: node-912-3209 (A-50/A-51 共用) 🔗

⚠️ Figma 局部待同步: 保留原有單一彈窗、Basic Settings、CSV/Audio ZIP/Image ZIP 上傳區與 Cancel/Submit。只補模板填寫說明、預檢摘要,並將誤用的 School/Class 錯誤文案改為題庫欄位錯誤;不重做版面。

本次範圍: 沿用原 19 欄 CSV,不增加 Bundle、Legacy 雙入口、通用 Source Mapping 介面或逐 Section 設定。原始檢定題庫尚未提供,缺欄須逐欄核實後才決定是否在模板末端最少追加;目前不宣稱已完整對上原檔。

🎯 功能定位 ​

使用者: Admin / Super Admin

  • 沿用原操作: 填 Basic Settings,上傳一份 CSV 及必要的音訊/圖片 ZIP,檢查預覽後提交。
  • 智能預覽: 保留現有題目表格與正解/素材預覽,讓管理員確認欄位和題目沒有錯位。
  • 單一考試: Listening 與 Reading 是同一 Exam 的內容分段;匯入不建立 Challenge,教師派送時才建立一個完整 Challenge。

🧱 畫面結構(原有 Modal) ​

區域說明
HeaderImport New Exam、[Download CSV Template]
Basic SettingsCategory、Exam Name、Total Score、Pass Score、Duration(分鐘)
Resource Upload原上傳區:一份 19 欄 CSV + Audio ZIP + Image ZIP;不含媒體時無須提供空 ZIP
Logic Preview & Validation現有題目表格、媒體/選項與正解預覽;補題數、總配分、Listening/Reading 分組及錯誤摘要
Actions[Cancel]、[Submit];有阻擋錯誤時 Submit 禁用

Basic Settings 與 CSV 的關係 ​

  • Category 選 A-50 已配置的英文 Trophy Category;Cambridge YLE 僅為待確認候選示例,與 CSV 的 Exam Category(聽力/閱讀)是不同概念,兩者不改名、不混填。
  • Exam Name 與 CSV 各列的 Exam Name 必須一致;可由解析結果帶入原欄位,不可靜默覆蓋衝突值。
  • Total Score 為整卷滿分,須等於所有非例題的 Points 總和;0 < Pass Score <= Total Score。
  • Duration 為正整數分鐘,整卷共用一個倒數;不新增每個 Section 的時長、播放、導航或暫停設定。
  • 內部 ID 與內容修訂識別由系統管理,不增加管理員必填的 exam_id、source_version 或其他關聯 ID。

📥 CSV 模板規格(保留原 19 欄) ​

一份檔案代表一份 Exam,每列一題;沿用原欄名、順序與 UTF-8 CSV。含逗號、換行或雙引號的儲存格依標準 CSV 引號規則處理。下表是原規格對照,不是尚未取得的檢定題庫原檔。

csv
Exam Name,Exam Level,Round,Exam Category,Section Number,Question Sequence,Question Number,Question Group,Points,Question Format,Question Text,Question Spell,Question Image,Answer Type,Option Text,Option Pinyin,Option Image,Correct Answer,Audio File
#原欄名用途與必要校驗
1Exam Name整卷名稱;各列及 Basic Settings 必須一致
2Exam Level考試級別;同份檔案一致,例如 YLE Starters(候選示例;採用待確認)
3Round考試回次;同份檔案一致
4Exam Category聽力/閱讀內容分類,不是 英文檢定分類;已確認的來源別名以固定對照解析
5Section Number原考卷段落編號;保留分組,不把段落拆成獨立 Challenge
6Question Sequence題目排序;同一內容分段內不可重複,不能以顯示題號代替
7Question Number顯示題號;例題識別約定須以原檔確認
8Question Group題組編號;非題組可留空,共用題幹/素材需依原題組確認
9Points題目配分,非負數;計入 Exam Score,不決定 EXP
10Question Format沿用圖片/文字/圖片+文字等原值;須符合已有題型模板
11Question Text題幹;沿用 \\ 分段
12Question Spell既有相容欄位;APlus 英語首版留空,不作為音標顯示;保留欄位位置以待工程確認
13Question Image題幹圖片檔名;引用的圖片必須存在
14Answer Type保留原單選/多選/是非/輸入枚舉;能否匯入取決於下方既有題型支援邊界
15Option TextA–F 選項文字,沿用 | 分隔並保留空槽
16Option Pinyin既有相容欄位;APlus 英語首版留空,保持 A–F 空槽與欄位位置;待工程確認
17Option ImageA–F 選項圖片檔名;空槽不可刪去後重新配對
18Correct Answer選擇/是非題引用該題有效選項 Key,例如 A;不得指向空選項
19Audio File原音檔引用欄位;引用的音檔必須存在,不新增媒體目錄格式要求

最小補欄原則 ​

  • 先做一次「原始題庫欄位 → 現有 19 欄 → 是否缺失 → 固定轉換規則」對照,作為模板說明與解析規則,不新增管理員逐欄配對流程。
  • 已有欄位能承載的內容不另拆檔或改名。來源必要資訊若無法承載,才提出末端追加的最少欄位與舊檔相容規則,確認後同步模板。
  • 例題優先沿用原檔已明確定義的題號/標記約定;不能僅因 Points=0 就判定為例題。只有舊欄確實無法識別時,才考慮追加 Is Example,目前不是必填欄位。
  • 未對應且可能影響題幹、正解、配分、媒體或題組的來源欄位必須阻擋提交;不可靜默丟棄。無法確認的例題/題組同樣列出具體原因並停止匯入。

既有題型支援邊界 ​

題型本次處理
文字/圖片的單選與是非沿用 S-31 模板 1–3;核對選項、正解與素材
圖片/文字 6 選 1 題組沿用模板 4;用原始樣本確認共用素材、選項池與排序,不猜測重複選項規則
多選/輸入題原欄位有枚舉不代表已有學生端模板和評分;未證明實作支援前阻擋,不在這次順帶新增題型
TR_test_5先確認是既有題型的狀態還是新題型,不按 Frame 數量擴大開發範圍

預覽沿用現有邏輯表格/素材呈現,不要求新建與學生端共用的渲染器。題型能否正式匯入仍須核對實際學生端與評分支援;本倉庫沒有可執行的產品實作。

📦 核心邏輯細節 ​

資源與內容預檢 ​

級別例子Submit
Error缺必填資料、同卷名稱/級別/回次不一致、排序重複、總配分不符、正解指向空選項、必要媒體缺失、未知或未支援題型、來源必要資訊未對應禁用
WarningZIP 有未引用素材,且不影響題目、正解或播放顯示提醒,不新增強制勾選流程
  • 錯誤在原結果區列出檔名、列號、欄位與原因,例如 Row 12 · Correct Answer: option D is empty.;不要再顯示 School/Class 錯誤範例。
  • A–F 選項解析保留位置與空值。文字、圖片數量/Key 不一致時報錯;舊拼音欄位依相容映射處理,不顯示為音標,不以移除空槽來「修好」資料。
  • 成功筆數表示「通過預檢的題目數」,不是已寫入題數;有 Error 不得只匯入其餘題目。Submit 成功才保存完整 Exam,寫入失敗不能留下可派送的半份試卷。
  • 重複檢查保留 Category、Exam Level、Round 的識別,避免只用 Category+Round 誤擋不同級別。相同來源與內容提示 Already Imported;更正內容沿用重新匯入流程,不原地編輯已派送試卷。
  • 重匯後原 Challenge 的題目、正解、配分及及格線必須保持不變;優先沿用既有 Exam 記錄/快照機制。若實作不能保留舊內容,先阻擋覆寫,不以本次修改要求新增資料庫模型或遷移。
  • T-41/A-52 使用的 source_version 是系統產生的內容修訂識別,不是新增 CSV 或表單欄位。它可對應既有不可變記錄;不同內容修訂不得混算原始分數。

音訊與作答行為 ​

沿用 S-31 原本的聽力播放與答題流程:聽力連續播放、不能暫停或倒帶音訊;答題時可 Previous/Next、Pause/Continue,恢復同一 Attempt。不新增逐 Section 的策略引擎或強制段落限時。

原規格「音頻只能有 1 個」與逐題 Audio File 並存,其範圍是整卷、段落或單題仍需對照原檔及現有實作。本次不擅自放寬成多音訊模式,也不把這句當成拒絕原始題庫的依據。暫停是否停表、離線/背景計時亦待確認;受影響的匯入/作答案例須確認後才能驗收。

邏輯預覽與整卷確認 ​

  • 保留題號、題型、媒體、選項與正解的現有表格預覽;補充非例題數、例題識別結果、總配分及 Listening/Reading 分組摘要。
  • Listening/Reading 只作內容分組,不再 Auto-Split 成兩個 Challenge;Submit 後仍是一份完整 Exam。
  • 教師 T-41 只選卷與派送,不改 Pass Score。學生 S-31 完成整卷後由 S-32 顯示一份 Result。
  • Exam Score 加總本次答對非例題的 Points;EXP 為當次答對非例題數 × 10,重考可重複獲得;Trophy 獎盃仍按 Challenge/Student 只發一次。
  • 匯入不需設定獎盃樣式;沿用既有分數判定後隨機配發的設計。高/中/低區間算法待產品確認,本次不改。

提交版本內容版本 c096dd1f提交 7e9453e規格文件,功能實現狀態另行確認