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

本頁範圍:P1 起

A-33-O Import Upload Center ​

管理員端課程管理設計規格P1 起
變化時間線
  1. P1新增 +1移除 −0

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

取圖紀錄: QL APP,2026-10-18,版本 2410774734466577464;節點 960:5029 。學生 2x/Web 1x。圖片是目前設計稿,文字為 APlus 首版目標規格。

數據導入中心

🎨 Figma: node-698-2843 (A-30 同頁面子視圖;含 Structure Import / Vocabulary Bundle Import 子變體) 🔗

🎯 核心功能 ​

使用者: Admin / Super Admin

作為 A-30 與 A-33 之間的橋樑,此頁面提供標準的 CSV/ZIP 範本下載,並允許管理員選擇特定的導入模式。這是確保數據格式正確的第一道關卡。

🧱 畫面結構 ​

區域說明
HeaderAPlus Admin Course Management > Import Center, [👤]
Sidebar< Back to Course Management
Import Tabs[Structure Import] / [Vocabulary Bundle Import] Tab 切換
DownloadTemplate 下載按鈕
Upload AreaDrag & Drop 區域
System Logic當前模式的關鍵操作警示
Action[Analyze & Preview >] / [Unpack & Preview >] 按鈕

📦 區塊說明 ​

區塊元件功能與行為
Import TabsTab Switcher核心導航。切換後,下方「範本下載」與「上傳邏輯」同步更新。
DownloadTemplate LinkStructure: 提供 CSV 範本。Vocabulary: 提供包含目錄結構的 ZIP 範本。
Upload AreaDropzoneStructure: 僅限 .csv。Vocabulary: 僅限 .zip。若格式不符,邊框變紅並報錯。
System LogicInfo Box針對當前 Tab 提供關鍵的操作警示,防止管理員「空降」單字到不存在的架構中。
ActionPrimary Button點擊後進入 A-33 Preview。後端會根據當前 Tab 選擇不同的解析引擎。

⚙️ 導入類型的邏輯差異 ​

Structure Import (架構導入) ​

  • 用途: 建立或擴充 Category > Level > Session。
  • 邏輯: 系統會掃描 category_id, level_code, session_id。
  • 預覽重心: 是否有重複的 ID?是否有新的 Level 需要手動調整開關?

Vocabulary Import (內容導入) ​

  • 用途: 新增或修改英文 Word/Phrase/Sentence、中文釋義、圖片/音訊與既有 QA 屬性。學生端不顯示拼音或音標。
  • 邏輯: 必須先有架構,否則單字會找不到對應的「房間」。
  • 預覽重心: 哪些單字是 New?哪些單字已存在需要 Update?媒體文件是否缺失?

📊 Structure Import 格式規格 ​

下列是 APlus 首版候選格式,保留 Category → Level → Session 關聯。CORE/CORE_L1 是示例,正式代碼、排序與 Session 數須依耶加課程表確認;不等同 FAD/FLD/FPG 的正式映射。

欄位名稱 (Column)必填說明範例
category_id是課程分類識別碼CORE
category_name是分類顯示名稱English Core
level_code是課程級別識別碼CORE_L1
level_name是課程級別顯示名稱English Core Level 1
session_id是級別內單元識別碼1-1
session_name是單元名稱Greetings

CSV 範本內容 ​

csv
category_id,category_name,level_code,level_name,session_id,session_name
CORE,English Core,CORE_L1,English Core Level 1,1-1,Greetings
CORE,English Core,CORE_L1,English Core Level 1,1-2,Numbers
CORE,English Core,CORE_L2,English Core Level 2,1-1,My School

📊 Vocabulary Import 格式規格 ​

ZIP 壓縮包結構規範 ​

text
vocabulary_bundle.zip
├── vocabulary.csv
├── images/
└── audio/

vocabulary.csv 首版候選欄位 ​

此表是待工程核定的 APlus 匯入契約,不代表既有解析程式已支援。原 Nihao「拼音」「筆順GIF」不列入新格式;「英文翻譯」改成中文釋義,學習內容本身為英文。若工程需讀舊檔,另確認轉換規則,不讓舊欄位重新成為必填。

欄位名稱 (Column)必填說明範例
category_id是已存在的課程分類CORE
level_code是已存在的級別CORE_L1
session_id是級別內單元1-1
language是英語學習內容en
content_type是Word/Phrase/SentenceWord
english_content是英文目標內容five
chinese_meaning否繁體中文釋義,是否逐項必填待教材確認五
image_file依題型圖片檔名,圖片不得用文字直接透露答案number_5.png
audio_file依題型英文標準音訊five.mp3
is_qa是是否使用既有快問快答題型false
qa_questionQA 時英文固定題庫問句How many are there?
qa_audio_fileQA 時問句英文音訊how_many.mp3
alternative_answers否可接受英文答案,分隔規則待匯入器確認There are five.

CSV 範本內容 ​

csv
category_id,level_code,session_id,language,content_type,english_content,chinese_meaning,image_file,audio_file,is_qa,qa_question,qa_audio_file,alternative_answers
CORE,CORE_L1,1-1,en,Word,five,五,number_5.png,five.mp3,false,,,
CORE,CORE_L1,1-1,en,Sentence,There are five.,有五個,number_5.png,there_are_five.mp3,true,How many are there?,how_many.mp3,Five.

首版不顯示音標,因此不新增必填音標欄位;音素/重音診斷也不據此視為已接入。上述格式須以真實教材樣本通過匯入、預覽與學生題型驗收後才定稿。

💡 導入注意事項 (Expert Tips) ​

  1. 檔案編碼: 務必使用 UTF-8 (帶 BOM) 格式儲存 CSV,確保英文與繁中釋義均正確顯示。
  2. 媒體路徑對應: CSV 內只需填寫「檔名」,系統會自動解壓 ZIP 並去對應文件夾尋找:/images/ 存放圖片,/audio/ 存放所有音檔,首版課程媒體只使用 /images/ 與 /audio/;舊 CSV/schema 拼音欄位/筆順等舊欄位不作為學生端學習內容。
  3. 依賴關係 (關鍵): 必須先導入 Structure 建立對應的 category_id, level_code 與 session_id,再導入 Vocabulary Bundle。
  4. 更新與跳過邏輯: 單字更新:若系統已存在相同 english_content + content_type 的單字,導入時會比對其他欄位,若有變動則標記為 UPDATE。架構跳過:若 ID 已存在則標記為 SKIP,不會覆蓋已有的架構名稱。
  5. 媒體缺失檢查: 系統在 A-33 預覽時,會自動校驗 ZIP 內的文件夾。若 CSV 中寫了檔名但在文件夾中找不到文件,會標記為 MISSING MEDIA 警告,不可導入。

🔁 完整交互路徑 ​

  1. 進入: 在 A-30 點擊頂部的 [⤒ Bulk Import] 按鈕。
  2. 選擇與上傳 (A-33-O): 選擇導入類型 → 下載 Template → 拖入填寫好的文件 → 點擊 Analyze & Preview。
  3. 校驗預覽 (A-33): 查看 NEW, SKIP, UPDATE, ERROR 狀態 → 確認無誤後點擊 Confirm。
  4. 完成: 系統返回 A-32 (單字列表),顯示剛剛導入的新內容。

🔎 邏輯自我檢查 ​

  • 安全優先: 透過 SKIP 邏輯保護架構不被意外修改,透過 ERROR 攔截無效的單字歸屬。
  • 媒體閉環: ZIP 解包校驗解決了以前「數據導入成功但圖片顯示 404」的痛點。
  • 層級對應: 加入了 category_id 的顯示,確保管理員不會把 EK 的單字錯入到 ES 的 Level 裡。

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