@base-web-kits/base-tools-web 1.3.16 → 1.3.18

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@base-web-kits/base-tools-web",
3
- "version": "1.3.16",
3
+ "version": "1.3.18",
4
4
  "sideEffects": false,
5
5
  "description": "Independent Web utilities package built from src/web.",
6
6
  "keywords": [
@@ -565,6 +565,18 @@ async function handleStreamResponse(response: Response, sseTask: SseTask) {
565
565
  * 解析响应数据
566
566
  */
567
567
  async function parseResponse(response: Response, responseType: string) {
568
+ if (!response.ok) {
569
+ // HTTP 非 2xx && responseType是'arraybuffer'或'text' (如服务端设置401+JSON体,确保toLogin能正常触发)
570
+ const text = await response.text();
571
+
572
+ try {
573
+ return JSON.parse(text);
574
+ } catch {
575
+ throw new Error(`HTTP Error ${response.status}: ${text || response.statusText}`);
576
+ }
577
+ }
578
+
579
+ // HTTP 为 2xx 的响应数据
568
580
  let resData: ResponseData;
569
581
  if (responseType === 'arraybuffer') {
570
582
  resData = await response.arrayBuffer();