製作落地頁
把一份 user_config_info.json 配置,轉換成業務正確、視覺獨特、可直接在瀏覽器執行的教育類落地頁單檔 HTML。流程自包含,不依賴任何外部系統。
配置契約版本 3.0,核心:conversionFlow 是轉化流程的唯一事實來源。
輸入
| 檔案 | 角色 |
|---|---|
user_config_info.json | 當前專案實際配置(使用者提供) |
references/user-config-spec.md | 欄位說明書:欄位含義、型別、允許值、預設值 |
references/business-rules.md | 業務護欄:轉化、預約、多娃多科等行為不變量 |
references/frontend-design.md | 視覺方向:題材取材、字型、版面、反模板判斷 |
references/engineering-conventions.md | 工程護欄:CJK 適配、i18n 渲染模式、命名隔離、初始載入 |
references/question-bank.json | 標準題庫:題目正文、選項、科目分類對應 |
參考檔案已內建。使用者只需提供 user_config_info.json。
優先級
有效配置 → 業務不變量 → 使用者明確要求 → 工程約定 → 審美方向
配置是唯讀事實,不產生、不補全、不校驗。conversionFlow 的階段順序和節點順序不可調整。衝突時指出具體欄位和規則,不靜默猜測。
Workflow
第 1 步:取得配置
讀取 user_config_info.json。未提供則停止;解析失敗則指出錯誤位置。project.notes 非空時視為使用者對結構、語氣和視覺風格的補充偏好,直接影響第 5 步審美方向,但不覆蓋結構化欄位和功能開關。
第 2 步:讀取欄位說明書
完整讀取 user-config-spec.md,理解每個欄位語義。重點理解 conversionFlow 的兩層順序(階段順序 + 節點順序)和 5 種 item 型別(field / question / verification / booking / calendarSync)。不執行 schema 校驗。
第 3 步:建立唯讀業務模型
基於配置和欄位說明書,在思考中提取當前專案的業務模型:
- 科目:進線科目(
project.subject)+ 拓科科目(extraSubjects) - 轉化流程:
conversionFlow的階段順序和節點順序,verification節點所在階段即驗證碼位置 - 欄位:哪些啟用、哪些必填、歸屬(parent/child)、科目條件欄位
- 開關:
booking/multiChild/multiSubject/syncCalendar/contactMode/flowMode - 前置需求單元:
lead階段中所有 field 和 question 節點(依 items 順序) - 題庫匹配:
kind=question節點的questionId匹配question-bank.json,按project.language選取中英文案,提交資料用optionId
第 4 步:讀取業務規則
完整讀取 business-rules.md,提取必須滿足的業務不變量。業務規則是結果約束,不是模組清單——AI 根據這些約束自主決定資訊架構。
第 5 步:形成審美方向
完整讀取 frontend-design.md,依其要求做兩階段設計計劃:
- brainstorm:Color(4-6 hex)、Type(2+ 字型角色)、Layout(一句話 + ASCII 線框圖)、Signature(單一獨特元素)
- critique:對照
project.theme、project.adScene、project.notes自我批評——任何部分讀起來像通用預設就改,確認獨特後才寫程式碼
第 6 步:產生頁面程式碼
先讀取 engineering-conventions.md,理解當前配置觸發的工程約束(CJK 單位、i18n 渲染模式、命名隔離、初始載入)。這些是程式碼品質護欄,不改變業務結果。
輸出完整的單檔 HTML:
<head>含 meta、title、Google Fonts CDN 引入、內聯<style>;<body>內聯<script>- 不依賴外部構建工具、npm 套件或本地檔案
- CSS 內聯,注意選擇器特異性;JS 內聯,實現配置要求的全部業務流程
- 所有互動在瀏覽器內可完成(表單提交可 mock,但需明確標註)
- 裝飾性元素優先內聯 SVG;照片級素材用免費 CDN 圖庫直鏈,加尺寸約束
- 響應式到行動端,可見鍵盤焦點,尊重
prefers-reduced-motion
業務行為按 business-rules.md 第 5-11 節實現,編碼層補充要求:
- 驗證碼容器用
data-verification-stage標記階段 - 無真實時段資料時用明確標註的原型資料,不偽裝庫存
- 隱藏欄位、未啟用功能和未選擇分支的資料不進入提交結果
第 7 步:自檢
交付前對照清單自檢:
- 業務正確性:對照
business-rules.md驗收清單逐項確認 - 設計品質:計劃通過自我批評、字型顏色從計劃推導、Signature 獨特、響應式、鍵盤焦點、
prefers-reduced-motion、CSS 選擇器無抵消 - 工程穩定性:對照
engineering-conventions.md自檢清單逐項確認(CJK 單位、i18n 渲染模式、命名前綴、作用域隔離、初始載入) - 程式碼可執行性:單檔可直接開啟執行、無外部依賴、字型經 CDN
第 8 步:交付
儲存為檔案到使用者工作目錄,檔名基於 project.name。用簡短自然語言說明:基於哪個配置、實現了哪些核心能力、Signature 元素、哪些資料是原型需替換。
失敗模式
| 情況 | 處理 |
|---|---|
未提供 user_config_info.json | 停止,提示需要設定檔 |
| JSON 解析失敗 | 指出錯誤位置,不猜測修復 |
| 配置與業務規則衝突 | 指出具體欄位和規則,請使用者確認 |
conversionFlow 出現未知 kind | 指出具體節點,不靜默跳過 |
| 需要真實資料但沒有 | 用明確標註的原型資料,不偽裝真實 |
| 使用者要求與配置衝突 | 按優先級鏈處理,並向使用者說明 |