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

本頁範圍:P1 起

A-12-A User Bulk Import Specification ​

管理員端用戶與組織設計規格P1 起
P1 版本
畫面用途

使用者: Admin (Student/Teacher templates), Super Admin (All templates including Admin)

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

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

取圖紀錄: QL APP,2026-10-18,版本 2410774734466577464;節點 770:2765 。學生 2x/Web 1x。圖片是目前設計稿,文字為 APlus 首版目標規格。 圖片範圍: 本節包含獨立浮層或選定的元件變體,並非完整底頁。以對應節點確認角色及狀態,尚待設計驗收。

用戶批量導入規格

🎨 Figma: node-912-4267 (A-12-A/A-13/A-14 共用) 🔗

🎯 功能定位 ​

使用者: Admin (Student/Teacher templates), Super Admin (All templates including Admin)

A-12-A 為管理員提供大批量帳號生成的解決方案。透過上傳標準化的 CSV 檔案,一次性完成數百名學生或老師的資料錄入。系統將自動校驗數據格式與唯一性,並執行預設安全策略(初始密碼設定與首登強制改密)。

🧱 畫面結構(以彈窗 Modal 形式呈現) ​

區域說明
HeaderAPlus Admin Dashboard > User Management > Bulk Import, [🔔], [👤]
Step 1: Download Template[📥 Student Template], [📥 Teacher Template], [📥 Admin Template] 按鈕
Step 2: Upload CSVDrag & Drop 區域 或 [Select File] 按鈕
Step 3: Validation Preview狀態表格:Status, Row, Email, Error Message

📦 區塊說明(表格) ​

區塊元件目的行為備註
TemplateDownload Buttons提供標準格式點擊下載對應角色的 CSV 模板分為學生版、老師版、管理員版
DropzoneFile Uploader接收用戶檔案拖拽或點擊選擇 CSV 檔案限制大小 5MB,僅限 .csv 格式
ValidationResult Indicator即時反饋數據品質系統自動掃描重複 Email 或格式錯誤若有錯誤,[Start Import] 按鈕禁用
Error LogText Area指出具體錯誤位置列出行號與錯誤原因方便用戶修改後重新上傳
ActionStart Import執行數據寫入點擊將校驗通過的數據存入數據庫成功後彈出導入報告頁面

📥 CSV 文件格式規格 (CSV Specification) ​

1. Student 學生批量導入模板 (A-12-A-T1) ​

此模板包含兩位家長的聯絡資訊欄位;Parent 1 為主要聯絡人,Parent 2 為備用聯絡人。生日欄位僅作帳號資料,不用於產生或展示初始密碼。

📥 CSV 表頭 (CSV Header) ​

role,name,display_name,school_student_id,gender,birthday,email,parent1_name,parent1_email,parent1_phone,parent2_name,parent2_email,parent2_phone,class_ids,teacher_emails,formal_school_name,formal_grade,formal_class,academy_school,academy_zone,enrollment_session

📋 欄位詳細定義 ​

區塊欄位 Header必填範例
基本資訊role是Student
name是張小明
display_name是David
school_student_id否SCH-000123
gender是Male
birthday是2016-08-15(固定格式 YYYY-MM-DD)
email是student@example.com
家長 1parent1_name是張大華
parent1_email是dh.zhang@mail.com
parent1_phone是0912345678
家長 2parent2_name否李美玲
parent2_email否ml.lee@mail.com
parent2_phone否0987654321
校外學籍formal_school_name是第一國小
formal_grade是2
formal_class是A
補習校配置class_ids是C101;C102
teacher_emails否teacher1@example.com;teacher2@example.com(舊模板相容欄位;以班級老師設定為準)
academy_school是文府總校
academy_zone是文府總校
enrollment_session是3-1

2. Teacher 老師批量導入模板 (A-12-A-T2) ​

適用於新進教師入職或跨校區師資調度。

📥 模板表頭 (CSV Header) ​

role,name,gender,birthday,email,phone,staff_id,title,dept,subjects,school,zone

📋 欄位詳細定義 ​

欄位名稱 (Header)範例數據必填說明
roleTeacher是固定填寫 Teacher。
name王美麗是老師真實姓名。
genderFemale是僅限 Male 或 Female。
birthday1985-03-12是格式 YYYY-MM-DD。
emailteacher@example.com是老師登入帳號,全系統唯一。
phone+886 912-345-678否老師聯絡電話。
staff_idT-2026-088否學校內部的員工管理編號(如無則留空)。
titleSenior Teacher否老師的專業職稱。
dept語文部是老師所屬的行政或教學部門。
subjects基礎漢語;進階閱讀是教授科目,多個請用半形分號 ( ; ) 隔開。
school文府總校;龍華校是老師所屬學校,名稱必須與 A-14 設定完全一致,可設置多個。
zone文府總校;龍華校是老師所屬校區,名稱必須與 A-14 設定完全一致,可設置多個。

3. Admin 管理員批量導入模板 (A-12-A-T3) ​

適用於各分校普通管理員的快速生成。只有 SuperAdmin 可以使用,其他角色不可。

📥 模板表頭 (CSV Header) ​

role,name,gender,birthday,email,admin_level,dept,school,zone

📋 欄位詳細定義 ​

欄位名稱 (Header)範例數據必填說明
roleAdmin是固定填寫 Admin。
name陳運營是管理員真實姓名。
genderMale是僅限 Male 或 Female。
birthday1990-11-20是格式 YYYY-MM-DD。
emailadmin@example.com是管理員登入帳號,全系統唯一。
admin_levelZoneAdmin是ZoneAdmin / SuperAdmin。
dept教務處是所屬行政管理部門。
school龍華校;左新校是負責的學校,名稱須存在於 A-14。多個請用 ; 隔開。
zone龍華校;文府總校是負責的校區,名稱須存在於 A-14。多個請用 ; 隔開。

Birthday 共用校驗規則(A-12/A-12-A) ​

  • 輸入必須嚴格符合 ^\d{4}-\d{2}-\d{2}$,並且是有效的 Gregorian calendar 日期;例如 2016-02-29 有效,2019-02-29、2016-13-01、16-8-5 均為 Critical Error。
  • Birthday 以 Date-only 保存與比較,不附加時間或時區,也不得因伺服器/用戶端時區轉換而前後偏移一天。
  • 日期不得晚於帳號建立當天;未來日期回報 BIRTHDAY_IN_FUTURE。Student 不在產品目標 6–12 歲範圍時回報 BIRTHDAY_OUTSIDE_TARGET_RANGE Warning,需管理員確認並寫入 Audit,但不因轉學、留級等合理情境直接阻斷。
  • 生日日期依格式與日期有效性校驗;不得轉換或串接為初始密碼。

🔁 交互流程圖 ​

流程圖

正在載入流程圖…

⚙️ 狀態管理 ​

狀態觸發條件畫面表現
正常頁面載入完成顯示三步驟流程
上傳中CSV 上傳進行中Progress Bar 顯示進度
校驗中系統解析 CSVLoading Spinner
校驗通過所有行有效[Start Import] 按鈕可用
校驗錯誤存在 Error 行[Start Import] 按鈕禁用,錯誤行標紅
導入中數據寫入進行中Progress Bar + 禁用所有操作
導入完成寫入成功顯示 Import Report
權限拒絕Zone Admin 上傳 Admin CSV報錯並拒絕導入

🔎 邏輯自我檢查 ​

  1. 唯一性校驗: email 在全系統內必須唯一,導入時若衝突需明確指出衝突的行號。
  2. 數據聯動: Student 模板中的 teacher_emails 是舊模板相容欄位,不作為教師存取權限來源。若有填寫,系統需核對老師是否存在及是否已分配至 class_ids;不一致時標註 Warning,實際權限以 A-21/A-23 的班級老師關聯為準。
  3. 管理員創建限制: 已明確區分超級與普通管理員的創建邏輯,防止權限提權 (Privilege Escalation)。
  4. 多選處理: class_ids (所屬班級) 欄位支持分號分隔,以便學生可以同時歸屬於多個教學單元。
  5. 密碼生成與強制引導: 數據寫入後,後端自動格式化 birthday (YYYYMMDD) 存入 password 字段(經 Hash 加密)。force_password_reset 標籤設為 true。

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