(function (global) {
  "use strict";

  // 手机端 API 薄封装：唯一 fetch 出口收敛到 shared/api.js（XiaobaiAPI）。
  // 本文件不再直接调用 fetch，仅负责把 CSRF Token 配置进共享出口并转发请求，
  // 保持既有 MobileAPI.request(url[, method, body]) 调用面不变。

  let csrfToken = "";

  function setCsrfToken(token) {
    csrfToken = token || "";
    global.XiaobaiAPI.configure({
      csrfToken: function () {
        return csrfToken;
      }
    });
  }

  async function request(url, method, body) {
    return global.XiaobaiAPI.request(url, method, body);
  }

  // 流式聊天复用共享层的 streamNdjson：每解析一行 NDJSON 就回调 onEvent，
  // 调用方通过 { signal } 传入 AbortController 以支持聊天页的「停止」按钮。
  function streamNdjson(url, options) {
    return global.XiaobaiAPI.streamNdjson(url, options || {});
  }

  global.MobileAPI = { setCsrfToken: setCsrfToken, request: request, streamNdjson: streamNdjson };
})(window);
