31 lines
1.0 KiB
JavaScript
31 lines
1.0 KiB
JavaScript
(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);
|