玩家能力 API

不做强制浮层。你在自己的介绍页 / 关卡 UI 里决定何时登录、何处显示进度与线索。我们提供授权弹窗 + REST;可选再挂官方小组件。

推荐接法

介绍页用你自己的「开始」按钮 → 需要账号时再 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)

免责与范围

分析面板与卡关算法只对认领开发者开放,不会随客户端下发。第三方站仅获得玩家授权后的能力调用权;请勿存储用户密码。