推荐接法
介绍页用你自己的「开始」按钮 → 需要账号时再 login() → 通关节点 saveProgress → 调查页用你自己的表单 createNote。
FXClient.init({ workId: '你的作品ID', trackKey: 'trk_…' });
document.querySelector('#start').onclick = async () => {
await FXClient.login(); // 官方弹窗,密码不经过你的站
location.href = '/chapter-1.html';
};
await FXClient.saveProgress({ status: 'playing', percent: 20, checkpoint: '镜厅' });
await FXClient.createNote({ title: '频率', content: '103.7 有杂音' });
脚本地址:https://fanxiang.yummychef.top/js/fx-sdk.js(导出 FXClient)。仅埋点可用更轻的 fx-track.js。
客户端方法
| 方法 | 作用 |
|---|---|
init({ workId, trackKey, autoTrack }) | 初始化;默认开启匿名页停留埋点 |
login() | 打开官方授权弹窗,返回 Promise |
logout() / getUser() | 会话 |
getProgress() / saveProgress(payload) | 按作品隔离的云进度 |
listNotes / createNote / … | 线索笔记 |
on('auth', cb) | 登录态变化 |
mountWidget() | 可选:挂官方浮层(非必须) |
endpoints() | 返回 REST 路径,便于自写 fetch |
REST(自写任意语言 / 框架)
Base:https://api.yummychef.top/api/v1,需登录的接口带 Authorization: Bearer <token>。Token 仍建议用我们的 sdk-auth.html 弹窗取得(跨域安全)。
| 接口 | 说明 |
|---|---|
GET/PUT /works/:id/progress | 进度 |
GET/POST /works/:id/notes | 线索笔记 |
GET/PUT /works/:id/board?pageUrl= | 线索墙画布 JSON |
POST /track/:id | 匿名埋点(需 trackKey,无 Bearer) |
免责与范围
分析面板与卡关算法只对认领开发者开放,不会随客户端下发。第三方站仅获得玩家授权后的能力调用权;请勿存储用户密码。