基本信息
AI 生成 bullet…
失败不扣能量点
AI 超时 / 服务异常时展示
至少填写一个模块才能继续
评审 Tab「空模块」:非用户路径。真实交互 = 停留表单屏 + 必填项红框(is-invalid),无 Toast。
页面04-f4-draft.html · 分段初稿(主路径第 2 步 / 共 7 步)· 验收见 ⑧ · 分工见 ⓪
阅读方式:每条先写界面上是什么,再写元素 ID 与接口。
展示顺序(按角色 · 章节号固定)
接口本页共 3 个 · PATCH /resume/sections/{module_key} · POST /ai/f4/generate · GET /resume/{id}/sections · 完整见下方 ⑥
一句话:按教育/实习/项目/技能/其他五模块填写简历初稿,可 AI 润色,保存后进入 JD 对齐。
POST /ai/f4/generate · 5 点/模块 · dev-notes · F4 · 自动保存 开放项btn_nav_back
03-f2-exam.htmllabel_step_progresscopy_ai_disclaimerform_profile_basic · 写入 profile · 每字段独占一行 · 预览/PDF 副标题由求职目标 + 城市 + 打码手机 + 打码邮箱拼接input_profile_name
maxlength="30"input_profile_phone
maxlength="11"inputmode="tel" · 保存前 triminput_profile_email
maxlength="100"type="email" · trim · 不含空格input_profile_city
maxlength="30"input_profile_target
maxlength="50"33-resume-preview · 07-e2-hr-preview mock 齐套 · 真源 _f4-prototype.js · PROFILE_DEFAULTStab_module_education · 图标 icon_module_education · 资产 app-image/icons/icon-module-education.svgtab_module_internship · icon_module_internship · icon-module-internship.svgtab_module_project · icon_module_project · icon-module-project.svgtab_module_skills · icon_module_skills · icon-module-skills.svgtab_module_other · icon_module_other · icon-module-other.svgtab_module · 横向可滑动;切换 Tab 换表单 · 选中态金底胶囊 + 图标不透明(详 §18)form_module_fields;切换 Tab 时标签/占位/示例同步切换,各模块数据分存input_bullets(各模块共用 · 切换 Tab 换 label/placeholder)
maxlength="2000" · 教育/实习/项目等模块描述05-jd-paste.html · AI 润色成功 → 回填本框可再编辑input_company · 学历/专业各占一行(input_degree · input_major)· 开始/结束时间各占一行
input_company):1~100 字 · maxlength="100"btn_add_entry)· 每条公司 → input_company(动态)· 职位 → input_position · 时间/描述
input_position):1~100 字 · maxlength="100"select_project_org 关联实习公司或「个人/校内项目」state_other_empty ·「+ 添加其他经历」才展开表单;无内容可直接「完成初稿」list_f4_entries;时间合成 input_period;可勾选「至今」input_degree · input_major · select_project_org · input_project_name · input_project_rolebtn_ai_polish_modulePOST /ai/f4/generate;成功扣 5 点,失败不扣bar_f4_actionsbtn_save_draft
btn_next_module
05-jd-paste.htmlstate_ai_loadingstate_ai_error · btn_retry_f4说明:表单默认值为 _f4-prototype.js 静态 mock(张小雨演示简历);上线进页拉 GET 回填各模块,保存/润色走写接口。替换清单 → dev-notes · 静态 mock → API。
PATCH /resume/sections/{module_key} · 分模块保存
btn_save_draft · 小程序 onHide / H5 visibilitychangeresume_id · module_key(education/internship/project/skills/other)· 模块结构化字段 → form_module_fields / list_f4_entries{ "module_key": "education", "company": "某某大学", "degree": "本科", "major": "市场营销", "period": "2020.09—2024.06" }POST /ai/f4/generate · 当前模块 AI 润色(5 点/模块)
btn_ai_polish_module · 当前模块必填非空 · 额度充足 · 非 loadingresume_id · module_key · 当前模块结构化字段bullets → 回填 input_bullets 等;用户可再编辑state_ai_errorGET /resume/{id}/sections · 续编拉取各模块草稿
profile → form_profile_basic(name · phone · email · city · target)· 各 module_key → 对应 Tab · 演示数据须与 E2/33/08 齐套{ "name": "张小雨", "phone": "13812345678", "email": "zhangxiaoyu@163.com", "city": "上海", "target": "产品运营 · 应届生", "headline": "产品运营 · 应届生 · 上海 · 138****5678 · z***@163.com" }05-jd-paste.html;← fallback 03-f2-exam.html_f4-prototype.js 一致;模块 Tab 五个胶囊左侧均可见小图标(教育/实习/项目/技能/其他)。04-f4-draft.html,或 index 经 F2「跳过」进入。33-resume-preview 副标题齐套(含打码手机 · 打码邮箱)。app-image/ICON-CATALOG.md · 全站通用 §7 · 上传 §8 · 品牌 §9 · 本页见 §10 索引表app-image/ICON-CATALOG.md · 状态栏 §11 · 增长/分享 §12 · 表单/附件 §13 · 法务 §14 · 订单/空态 §15 · 媒体/语音 §16 · 本页见 §10app-image/ICON-CATALOG.md · F4 模块 §18 · 状态徽章 §19 · 弹窗/加载 §20 · 联系打码 §21 · 折叠/更多 §22 · 文件类型 §23 · 分享装饰 §24 · 账号 §25 · 本页见 §10draft_done(附 modules_filled · duration_sec)_f4-prototype.js → mock-resume-demo · 正式上线 → launch-static-to-api字段/API 见 dev-notes · F4;UX 见 mkq产品规则 · UX。
悬停可交互控件会出现黄框对照 ID。说明正文可点击改字(仅本浏览器临时草稿,点「恢复默认」还原);永久修改请用 Cursor 改本 HTML 源文件。