面向运营岗 · 补齐简历「数据分析」关键词
在线观看 · 内容由平台提供
第2课 活动数据复盘模板
18:00 · 视频
页面21-course-detail.html · 课程详情 · 验收见 ⑧ · 分工见 ⓪
阅读方式:每条先写界面上是什么,再写元素 ID 与接口。
展示顺序(按角色 · 章节号固定)
接口本页唯一 · GET /courses/{id} → 目录/阅读区 · 原型 mock · 完整见 ⑥
一句话:单门课程封面、简介与章节目录;可学章节均为视频,点击进入 38-course-play 播放。
GET /courses/{id}course_id · _course-prototype.js 跳转播放 · 详 ⑥38 playback 接口btn_nav_back · 优先 history.back() · fallback 20-skill-courses.htmlpage_titlecopy_course_video_hintlist_course_chapters38-course-play.html?chapter_id=ch1btn_start_course · 进 38-course-play.html 首章(chapter_id=ch1)单课详情 · 章节锁定/解锁由 CMS 控制。
GET /courses/{id}(本页唯一)说明:封面、简介、章节目录来自 GET · 章节 type 仅 video。视频由 B 端 CMS 上传维护。原型 HTML/JS mock;上线渲染目录与播放页。替换清单 → dev-notes · 静态 mock → API。
① GET /courses/{id} · 进页拉取课程与章节
20-skill-courses 进详情 · URL course_id · 无 id 回列表title → page_titlecover_url → 顶图summary · video_hint → 信息卡chapters[] → list_course_chapters · id · locked · type(video)chapters[0].id → btn_start_course 默认首章播放{ "id": "c1", "chapters": [{ "id": "ch1", "type": "video", "locked": false }, { "id": "ch2", "type": "video", "locked": true }, { "id": "ch3", "type": "video", "locked": false, "title": "第3课 活动复盘小结" }] }20-skill-courses.html 列表行 · 带 course_id38-course-play.html · btn_start_course 或可播章节 · 返回列表经顶栏badge-v11 或可见「1.1」版本角标 · 能力分期见 ⑨ / feature flag。20 点课 → 本页 → 点「开始学习」 → 38-course-play.html · 播放器区非空。GET /courses/{id} 与章节字段。38-course-play · 播放器非空。?course_id=c1&chapter_id=ch3 进页自动展开阅读区。20-skill-courses.html。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 · 本页见 §10course_detail_view · course_start_course-prototype.js · 静态 mp4 · 上线 playback · 链 launch-static-to-api · 仅 video 章节悬停可交互控件会出现黄框对照 ID。说明正文可点击改字(仅本浏览器临时草稿,点「恢复默认」还原);永久修改请用 Cursor 改本 HTML 源文件。