@open-dy/vibecoding-sdk-taro 0.1.1 → 0.1.3

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.
@@ -35,6 +35,8 @@ export function viteInlineJsonPlugin(options) {
35
35
  const absPath = resolveJsonPath(importPath, cleanId, srcDir);
36
36
  if (!absPath)
37
37
  continue;
38
+ // Inlining removes the import, so explicitly retain its watch dependency.
39
+ this.addWatchFile(absPath);
38
40
  let json;
39
41
  try {
40
42
  json = fs.readFileSync(absPath, "utf-8").trim();
@@ -1 +1 @@
1
- {"version":3,"file":"vite-inline-json.js","sourceRoot":"","sources":["../../../src/build/plugins/vite-inline-json.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB;;;;;;;;;GASG;AAEH,mBAAmB;AACnB,MAAM,cAAc,GAClB,0EAA0E,CAAC;AAE7E,MAAM,UAAU,oBAAoB,CAAC,OAAgC;IACnE,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IAErD,OAAO;QACL,IAAI,EAAE,kBAAkB;QACxB,OAAO,EAAE,KAAK;QAEd,SAAS,CAAC,IAAI,EAAE,EAAE;YAChB,MAAM,OAAO,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC;YAClC,IACE,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC;gBAC/B,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC;gBAChC,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,EAC9C,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC;YAED,cAAc,CAAC,SAAS,GAAG,CAAC,CAAC;YAC7B,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC;gBAAE,OAAO,IAAI,CAAC;YAC5C,cAAc,CAAC,SAAS,GAAG,CAAC,CAAC;YAE7B,MAAM,YAAY,GAChB,EAAE,CAAC;YACL,IAAI,KAA6B,CAAC;YAElC,OAAO,CAAC,KAAK,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;gBACpD,MAAM,CAAC,SAAS,EAAE,UAAU,EAAE,UAAU,CAAC,GAAG,KAAK,CAAC;gBAClD,MAAM,OAAO,GAAG,eAAe,CAAC,UAAU,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;gBAC7D,IAAI,CAAC,OAAO;oBAAE,SAAS;gBAEvB,IAAI,IAAY,CAAC;gBACjB,IAAI,CAAC;oBACH,IAAI,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;oBAChD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACnB,CAAC;gBAAC,MAAM,CAAC;oBACP,SAAS;gBACX,CAAC;gBAED,MAAM,IAAI,GAAG,gBAAgB,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC,CAAC;gBACvD,IAAI,CAAC,IAAI;oBAAE,SAAS;gBAEpB,YAAY,CAAC,IAAI,CAAC;oBAChB,KAAK,EAAE,KAAK,CAAC,KAAK;oBAClB,GAAG,EAAE,KAAK,CAAC,KAAK,GAAG,SAAS,CAAC,MAAM;oBACnC,IAAI;iBACL,CAAC,CAAC;YACL,CAAC;YAED,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,IAAI,CAAC;YAE3C,IAAI,MAAM,GAAG,IAAI,CAAC;YAClB,KAAK,IAAI,CAAC,GAAG,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBAClD,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,YAAY,CAAC,CAAC,CAAE,CAAC;gBAC9C,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC7D,CAAC;YACD,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;QACrC,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,SAAS,gBAAgB,CAAC,UAAkB,EAAE,IAAY;IACxD,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;IACzD,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IAC7C,MAAM,WAAW,GAAG,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAEhD,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,SAAS,KAAK,CAAC,CAAC,CAAC,MAAM,IAAI,MAAM,UAAU,CAAC,KAAK,CAAC,CAAC,CAAE,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5E,CAAC;IACD,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,GAAG,GAAG,UAAU,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QACzC,OAAO,SAAS,GAAG,MAAM,IAAI,MAAM,UAAU,CAAC,KAAK,CAAC,CAAC,CAAE,EAAE,GAAG,CAAC,EAAE,CAAC;IAClE,CAAC;IACD,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO,SAAS,WAAW,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC;IAC7C,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,+DAA+D;AAC/D,SAAS,UAAU,CAAC,IAAY,EAAE,GAAW;IAC3C,OAAO,CACL,IAAI;SACD,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;SACpB,MAAM,CAAC,OAAO,CAAC;SACf,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACZ,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAClD,IAAI,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC;QACpB,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3B,OAAO,SAAS,KAAK,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3C,CAAC,CAAC;SACD,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC;SACtC,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CACrB,CAAC;AACJ,CAAC;AAED,uBAAuB;AACvB,SAAS,IAAI,CAAC,CAAS;IACrB,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE;QAAE,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAC5E,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;AAChC,CAAC;AAED,SAAS,eAAe,CACtB,UAAkB,EAClB,UAAkB,EAClB,MAAc;IAEd,MAAM,QAAQ,GAAG,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC;QAC1C,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACxC,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC;YAC1B,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,UAAU,CAAC;YACpD,CAAC,CAAC,IAAI,CAAC;IAEX,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC3B,IAAI,CAAC;QACH,IAAI,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAE,IAAI,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC;YAC9D,OAAO,QAAQ,CAAC;IACpB,CAAC;IAAC,MAAM,CAAC;QACP,YAAY;IACd,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"vite-inline-json.js","sourceRoot":"","sources":["../../../src/build/plugins/vite-inline-json.ts"],"names":[],"mappings":"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"}
@@ -17,7 +17,7 @@
17
17
 
18
18
  返回:仅提供普通小程序的 request、uploadFile、downloadFile 和 streamSse。
19
19
 
20
- 备注:业务优先从模板的 @/network 导入 Network;HTTP(S) 绝对地址直接交给 Taro。宿主需要封闭域功能时通过 MiniappOpenCard 承载,请求与数据处理仅在卡内完成。
20
+ 备注:业务优先从模板的 @/network 导入 Network;HTTP(S) 绝对地址直接交给 Taro。宿主需要封闭域功能时通过 MiniappOpenCard 承载,请求与数据处理仅在卡内完成。streamSse 返回的是流句柄,Promise resolve 不代表生成完成。正常关闭仅调用一次 onComplete;流错误仅调用一次 onError(Error),随后释放任务;close() 主动取消仅调用一次可选的 onCancel,不调用 onComplete/onError。业务须在对应终态回调中清理 loading,不能把 onComplete 当通用 finally;终态后的消息与重复事件会被忽略。创建任务前的失败仍通过 Promise rejection 交付。
21
21
 
22
22
  示例:
23
23
 
@@ -54,7 +54,7 @@ function createMicroappClient(options?: CreateMicroappClientOptions);
54
54
  (options?: CreateMicroappClientOptions): { request: <T = any, U = any>(option: Taro.request.Option<T, U>) => Taro.RequestTask<T>;
55
55
  uploadFile: (option: Omit<Taro.uploadFile.Option, "url" | "name"> & { url?: string; name?: string; }) => ReturnType<typeof Taro.uploadFile>;
56
56
  downloadFile: (option: Omit<Taro.downloadFile.Option, "url"> & { url?: string; }) => ReturnType<typeof Taro.downloadFile>;
57
- streamSse: (option: { url: string; method?: string; data?: unknown; header?: Record<string, unknown>; onMessage(frame: string): void; onError?(error: Error): void; onComplete?(): void; }) => Promise<{ close: () => void; }>; }
57
+ streamSse: (option: { url: string; method?: string; data?: unknown; header?: Record<string, unknown>; onMessage(frame: string): void; onError?(error: Error): void; onComplete?(): void; onCancel?(): void; }) => Promise<{ close: () => void; }>; }
58
58
  ```
59
59
 
60
60
  #### 参数
@@ -77,7 +77,7 @@ function createMicroappClient(options?: CreateMicroappClientOptions);
77
77
  { request: <T = any, U = any>(option: Taro.request.Option<T, U>) => Taro.RequestTask<T>;
78
78
  uploadFile: (option: Omit<Taro.uploadFile.Option, "url" | "name"> & { url?: string; name?: string; }) => ReturnType<typeof Taro.uploadFile>;
79
79
  downloadFile: (option: Omit<Taro.downloadFile.Option, "url"> & { url?: string; }) => ReturnType<typeof Taro.downloadFile>;
80
- streamSse: (option: { url: string; method?: string; data?: unknown; header?: Record<string, unknown>; onMessage(frame: string): void; onError?(error: Error): void; onComplete?(): void; }) => Promise<{ close: () => void; }>; }
80
+ streamSse: (option: { url: string; method?: string; data?: unknown; header?: Record<string, unknown>; onMessage(frame: string): void; onError?(error: Error): void; onComplete?(): void; onCancel?(): void; }) => Promise<{ close: () => void; }>; }
81
81
  ```
82
82
 
83
83
  ##### 字段
@@ -91,7 +91,7 @@ function createMicroappClient(options?: CreateMicroappClientOptions);
91
91
  - `streamSse`
92
92
 
93
93
  ```ts
94
- (option: { url: string; method?: string; data?: unknown; header?: Record<string, unknown>; onMessage(frame: string): void; onError?(error: Error): void; onComplete?(): void; }) => Promise<{ close: () => void; }>
94
+ (option: { url: string; method?: string; data?: unknown; header?: Record<string, unknown>; onMessage(frame: string): void; onError?(error: Error): void; onComplete?(): void; onCancel?(): void; }) => Promise<{ close: () => void; }>
95
95
  ```
96
96
  说明:建立服务端事件流并返回可关闭的流句柄。
97
97
 
@@ -265,14 +265,17 @@ function createMicroappClient(options?: CreateMicroappClientOptions);
265
265
  ##### 签名
266
266
 
267
267
  ```ts
268
- (option: { url: string; method?: string; data?: unknown; header?: Record<string, unknown>; onMessage(frame: string): void; onError?(error: Error): void; onComplete?(): void; }): Promise<{ close: () => void; }>
268
+ (option: { url: string; method?: string; data?: unknown; header?: Record<string, unknown>; onMessage(frame: string): void; onError?(error: Error): void; onComplete?(): void; onCancel?(): void; }): Promise<{ close: () => void; }>
269
269
  ```
270
270
 
271
271
  ##### 参数
272
272
 
273
- | 参数 | 类型 | 说明 |
274
- | --- | --- | --- |
275
- | option | `{ url: string; method?: string; data?: unknown; header?: Record<string, unknown>; onMessage(frame: string): void; onError?(error: Error): void; onComplete?(): void; }` | 请求、上传或下载的配置对象。 |
273
+ - `option`
274
+
275
+ ```ts
276
+ { url: string; method?: string; data?: unknown; header?: Record<string, unknown>; onMessage(frame: string): void; onError?(error: Error): void; onComplete?(): void; onCancel?(): void; }
277
+ ```
278
+ 说明:请求、上传或下载的配置对象。
276
279
 
277
280
  ###### option 字段
278
281
 
@@ -285,6 +288,7 @@ function createMicroappClient(options?: CreateMicroappClientOptions);
285
288
  | onMessage | `(frame: string) => void` | |
286
289
  | onError? | `((error: Error) => void) \| undefined` | |
287
290
  | onComplete? | `(() => void) \| undefined` | |
291
+ | onCancel? | `(() => void) \| undefined` | |
288
292
 
289
293
  ##### 返回值
290
294
 
@@ -104,7 +104,7 @@
104
104
  ],
105
105
  "returns": "仅提供普通小程序的 request、uploadFile、downloadFile 和 streamSse。",
106
106
  "remarks": [
107
- "业务优先从模板的 @/network 导入 Network;HTTP(S) 绝对地址直接交给 Taro。宿主需要封闭域功能时通过 MiniappOpenCard 承载,请求与数据处理仅在卡内完成。"
107
+ "业务优先从模板的 @/network 导入 Network;HTTP(S) 绝对地址直接交给 Taro。宿主需要封闭域功能时通过 MiniappOpenCard 承载,请求与数据处理仅在卡内完成。streamSse 返回的是流句柄,Promise resolve 不代表生成完成。正常关闭仅调用一次 onComplete;流错误仅调用一次 onError(Error),随后释放任务;close() 主动取消仅调用一次可选的 onCancel,不调用 onComplete/onError。业务须在对应终态回调中清理 loading,不能把 onComplete 当通用 finally;终态后的消息与重复事件会被忽略。创建任务前的失败仍通过 Promise rejection 交付。"
108
108
  ],
109
109
  "examples": [
110
110
  {
@@ -122,7 +122,7 @@
122
122
  "signature": "function createMicroappClient(options?: CreateMicroappClientOptions);",
123
123
  "contract": {
124
124
  "kind": "callable",
125
- "signature": "(options?: CreateMicroappClientOptions): { request: <T = any, U = any>(option: Taro.request.Option<T, U>) => Taro.RequestTask<T>; uploadFile: (option: Omit<Taro.uploadFile.Option, \"url\" | \"name\"> & { url?: string; name?: string; }) => ReturnType<typeof Taro.uploadFile>; downloadFile: (option: Omit<Taro.downloadFile.Option, \"url\"> & { url?: string; }) => ReturnType<typeof Taro.downloadFile>; streamSse: (option: { url: string; method?: string; data?: unknown; header?: Record<string, unknown>; onMessage(frame: string): void; onError?(error: Error): void; onComplete?(): void; }) => Promise<{ close: () => void; }>; }",
125
+ "signature": "(options?: CreateMicroappClientOptions): { request: <T = any, U = any>(option: Taro.request.Option<T, U>) => Taro.RequestTask<T>; uploadFile: (option: Omit<Taro.uploadFile.Option, \"url\" | \"name\"> & { url?: string; name?: string; }) => ReturnType<typeof Taro.uploadFile>; downloadFile: (option: Omit<Taro.downloadFile.Option, \"url\"> & { url?: string; }) => ReturnType<typeof Taro.downloadFile>; streamSse: (option: { url: string; method?: string; data?: unknown; header?: Record<string, unknown>; onMessage(frame: string): void; onError?(error: Error): void; onComplete?(): void; onCancel?(): void; }) => Promise<{ close: () => void; }>; }",
126
126
  "parameters": [
127
127
  {
128
128
  "name": "options",
@@ -140,7 +140,7 @@
140
140
  }
141
141
  ],
142
142
  "returns": {
143
- "type": "{ request: <T = any, U = any>(option: Taro.request.Option<T, U>) => Taro.RequestTask<T>; uploadFile: (option: Omit<Taro.uploadFile.Option, \"url\" | \"name\"> & { url?: string; name?: string; }) => ReturnType<typeof Taro.uploadFile>; downloadFile: (option: Omit<Taro.downloadFile.Option, \"url\"> & { url?: string; }) => ReturnType<typeof Taro.downloadFile>; streamSse: (option: { url: string; method?: string; data?: unknown; header?: Record<string, unknown>; onMessage(frame: string): void; onError?(error: Error): void; onComplete?(): void; }) => Promise<{ close: () => void; }>; }",
143
+ "type": "{ request: <T = any, U = any>(option: Taro.request.Option<T, U>) => Taro.RequestTask<T>; uploadFile: (option: Omit<Taro.uploadFile.Option, \"url\" | \"name\"> & { url?: string; name?: string; }) => ReturnType<typeof Taro.uploadFile>; downloadFile: (option: Omit<Taro.downloadFile.Option, \"url\"> & { url?: string; }) => ReturnType<typeof Taro.downloadFile>; streamSse: (option: { url: string; method?: string; data?: unknown; header?: Record<string, unknown>; onMessage(frame: string): void; onError?(error: Error): void; onComplete?(): void; onCancel?(): void; }) => Promise<{ close: () => void; }>; }",
144
144
  "fields": [
145
145
  {
146
146
  "name": "request",
@@ -163,7 +163,7 @@
163
163
  {
164
164
  "name": "streamSse",
165
165
  "optional": false,
166
- "type": "(option: { url: string; method?: string; data?: unknown; header?: Record<string, unknown>; onMessage(frame: string): void; onError?(error: Error): void; onComplete?(): void; }) => Promise<{ close: () => void; }>",
166
+ "type": "(option: { url: string; method?: string; data?: unknown; header?: Record<string, unknown>; onMessage(frame: string): void; onError?(error: Error): void; onComplete?(): void; onCancel?(): void; }) => Promise<{ close: () => void; }>",
167
167
  "description": "建立服务端事件流并返回可关闭的流句柄。"
168
168
  }
169
169
  ]
@@ -657,12 +657,12 @@
657
657
  {
658
658
  "name": "streamSse",
659
659
  "description": "建立服务端事件流并返回可关闭的流句柄。",
660
- "signature": "(option: { url: string; method?: string; data?: unknown; header?: Record<string, unknown>; onMessage(frame: string): void; onError?(error: Error): void; onComplete?(): void; }): Promise<{ close: () => void; }>",
660
+ "signature": "(option: { url: string; method?: string; data?: unknown; header?: Record<string, unknown>; onMessage(frame: string): void; onError?(error: Error): void; onComplete?(): void; onCancel?(): void; }): Promise<{ close: () => void; }>",
661
661
  "parameters": [
662
662
  {
663
663
  "name": "option",
664
664
  "optional": false,
665
- "type": "{ url: string; method?: string; data?: unknown; header?: Record<string, unknown>; onMessage(frame: string): void; onError?(error: Error): void; onComplete?(): void; }",
665
+ "type": "{ url: string; method?: string; data?: unknown; header?: Record<string, unknown>; onMessage(frame: string): void; onError?(error: Error): void; onComplete?(): void; onCancel?(): void; }",
666
666
  "description": "请求、上传或下载的配置对象。",
667
667
  "fields": [
668
668
  {
@@ -703,6 +703,11 @@
703
703
  "name": "onComplete",
704
704
  "optional": true,
705
705
  "type": "(() => void) | undefined"
706
+ },
707
+ {
708
+ "name": "onCancel",
709
+ "optional": true,
710
+ "type": "(() => void) | undefined"
706
711
  }
707
712
  ]
708
713
  }
@@ -38,6 +38,7 @@ export declare function createMicroappClient(taro: Taro.TaroStatic, options?: Cr
38
38
  onMessage(frame: string): void;
39
39
  onError?(error: Error): void;
40
40
  onComplete?(): void;
41
+ onCancel?(): void;
41
42
  }) => Promise<{
42
43
  close: () => void;
43
44
  }>;
@@ -139,14 +139,53 @@ export function createMicroappClient(taro, options = {}) {
139
139
  });
140
140
  }
141
141
  }
142
+ let terminal = 'active';
143
+ // 先订阅错误:Fetch 可能已缓存建连期间发生的终态。
144
+ eventSourceTask.onError((rawError) => {
145
+ if (terminal !== 'active')
146
+ return;
147
+ terminal = 'failed';
148
+ let error;
149
+ if (rawError instanceof Error) {
150
+ error = rawError;
151
+ }
152
+ else {
153
+ const payload = rawError;
154
+ const message = typeof rawError === 'string' ? rawError
155
+ : typeof payload?.message === 'string' ? payload.message
156
+ : typeof payload?.errMsg === 'string' ? payload.errMsg : 'SSE stream failed';
157
+ error = new Error(message);
158
+ Object.defineProperty(error, 'cause', { value: rawError, configurable: true });
159
+ }
160
+ try {
161
+ option.onError?.(error);
162
+ }
163
+ finally {
164
+ eventSourceTask.close();
165
+ }
166
+ });
142
167
  eventSourceTask.onMessage((chunk) => {
143
- option.onMessage(chunk.data);
168
+ if (terminal === 'active')
169
+ option.onMessage(chunk.data);
144
170
  });
145
171
  eventSourceTask.onClose(() => {
172
+ if (terminal !== 'active')
173
+ return;
174
+ terminal = 'completed';
146
175
  option.onComplete?.();
147
176
  });
148
177
  return {
149
- close: eventSourceTask.close,
178
+ close: () => {
179
+ if (terminal !== 'active')
180
+ return;
181
+ terminal = 'cancelled';
182
+ try {
183
+ eventSourceTask.close();
184
+ }
185
+ finally {
186
+ option.onCancel?.();
187
+ }
188
+ },
150
189
  };
151
190
  };
152
191
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/runtime/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/runtime/client.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,yBAAyB,EACzB,mBAAmB,EACnB,kBAAkB,EAClB,eAAe,EACf,wBAAwB,EACxB,2BAA2B,EAC3B,uBAAuB,GACxB,MAAM,4BAA4B,CAAA;AACnC,OAAO,EACL,6BAA6B,EAC7B,oBAAoB,EACpB,uBAAuB,EACvB,iBAAiB,EACjB,6BAA6B,EAC7B,mBAAmB,EACnB,qBAAqB,GACtB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAAE,0BAA0B,EAAE,MAAM,uCAAuC,CAAA;AAClF,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAkBzD;;;;;;;GAOG;AACH,MAAM,UAAU,oBAAoB,CAClC,IAAqB,EACrB,UAAuC,EAAE;IAEzC,6BAA6B,CAAC,OAAO,CAAC,eAAe,IAAI,EAAE,CAAC,CAAA;IAC5D,MAAM,kCAAkC,GAAG,CACzC,MAAgC,EACK,EAAE;QACvC,IAAI,OAAO,CAAC,eAAe,KAAK,KAAK;YAAE,OAAO,MAAM,CAAA;QACpD,OAAO;YACL,GAAG,MAAM;YACT,qBAAqB,EAAE,KAAK;SAC7B,CAAA;IACH,CAAC,CAAA;IAED,0CAA0C;IAC1C,MAAM,2BAA2B,GAAG,CAClC,MAAgC,EACK,EAAE;QACvC,MAAM,YAAY,GAAG,6BAA6B,CAAC,MAAM,CAAC,CAAA;QAC1D,OAAO,eAAe,EAAE;YACtB,CAAC,CAAC,YAAY;YACd,CAAC,CAAC,0BAA0B,CAAC,IAAI,EAAE,YAAY,CAAC,CAAA;IACpD,CAAC,CAAA;IAED,MAAM,OAAO,GAAG,CAAC,MAAM,CAAC,EAAE;QACxB,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,KAAK,CAAA;QACrC,IAAI,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;YACtC,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QAC7B,CAAC;QACD,MAAM,sBAAsB,GAAG,kCAAkC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QAChF,MAAM,cAAc,GAAG,2BAA2B,CAAC,sBAAsB,CAAC,CAAA;QAE1E,IACE,mBAAmB,EAAE;YACrB,CAAC,eAAe,EAAE;YAClB,CAAC,kBAAkB,EAAE;YACrB,qBAAqB,EAAE,EACvB,CAAC;YACD,MAAM,MAAM,GAAG,2BAA2B,CAAC,sBAAsB,CAAC,CAAA;YAClE,MAAM,OAAO,GAAG,wBAAwB,CAAC;gBACvC,GAAG,MAAM;gBACT,MAAM;gBACN,MAAM;aACP,CAAC,CAAA;YACF,OAAO,OAAO,CAAA;QAChB,CAAC;QAED,MAAM,OAAO,GAAG,oBAAoB,CAAC;YACnC,GAAG,MAAM;YACT,MAAM;YACN,MAAM,EAAE,cAAc;SACvB,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;YACZ,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAA;YACrC,MAAM,QAAQ,GAAG,cAAc,CAC7B,SAAS,CAAC,GAAG,CAAC,EACd,IAAuC,EACvC,MAAM,CACP,CAAA;YACD,OAAO,IAAI,CAAC,OAAO,CAAC;gBAClB,GAAG,IAAI;gBACP,GAAG,EAAE,QAAQ;gBACb,MAAM;gBACN,MAAM,EAAE,cAAc;gBACtB,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;aACpD,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;QACF,OAAO,OAAO,CAAA;IAChB,CAAC,CAAwB,CAAA;IAEzB,MAAM,UAAU,GAAG,CAAC,CAAC,MAA8B,EAAE,EAAE;QACrD,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;YAChB,MAAM,CAAC,GAAG,GAAG,EAAE,CAAC;QAClB,CAAC;QACD,IAAI,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;YACtC,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;QAChC,CAAC;QACD,MAAM,CAAC,MAAM,GAAG,kCAAkC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QACjE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACjB,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC;QACvB,CAAC;QACD,IACE,mBAAmB,EAAE;YACrB,CAAC,eAAe,EAAE;YAClB,CAAC,kBAAkB,EAAE;YACrB,qBAAqB,EAAE;YACvB,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAClC,CAAC;YACD,OAAO,uBAAuB,CAAC,MAAM,CAAC,CAAA;QACxC,CAAC;QACD,OAAO,mBAAmB,CAAC,MAAM,CAAC,CAAA;IACpC,CAAC,CAEsC,CAAA;IAEvC,MAAM,YAAY,GAAG,CAAC,CAAC,MAAgC,EAAE,EAAE;QACzD,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;YAChB,MAAM,CAAC,GAAG,GAAG,EAAE,CAAC;QAClB,CAAC;QACD,IAAI,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;YACtC,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAA;QAClC,CAAC;QACD,MAAM,CAAC,MAAM,GAAG,kCAAkC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QACjE,IACE,mBAAmB,EAAE;YACrB,CAAC,eAAe,EAAE;YAClB,CAAC,kBAAkB,EAAE;YACrB,qBAAqB,EAAE;YACvB,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAClC,CAAC;YACD,OAAO,yBAAyB,CAAC,MAAM,CAAC,CAAA;QAC1C,CAAC;QACD,OAAO,qBAAqB,CAAC,MAAM,CAAC,CAAA;IACtC,CAAC,CAEwC,CAAA;IAEzC,MAAM,SAAS,GAAG,KAAK,EAAE,MASxB,EAAE,EAAE;QACH,MAAM,MAAM,GAAG,CAAC,MAAM,CAAC,MAAM,IAAI,MAAM,CAG5B,CAAC;QACZ,MAAM,sBAAsB,GAAG,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;YAC9D,CAAC,CAAC,MAAM,CAAC,MAAM;YACf,CAAC,CAAC,kCAAkC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACtD,MAAM,cAAc,GAAG,2BAA2B,CAAC,sBAAsB,CAAC,CAAC;QAE3E,IAAI,eAAgC,CAAC;QACrC,IACE,mBAAmB,EAAE;YACrB,CAAC,eAAe,EAAE;YAClB,CAAC,kBAAkB,EAAE;YACrB,qBAAqB,EAAE;YACvB,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAClC,CAAC;YACD,MAAM,MAAM,GAAG,2BAA2B,CAAC,sBAAsB,CAAC,CAAC;YACnE,eAAe,GAAG,MAAM,2BAA2B,CAAC;gBAClD,GAAG,MAAM;gBACT,MAAM;gBACN,MAAM;aACP,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,IAAI,CAAC;gBACH,eAAe,GAAG,MAAM,uBAAuB,CAAC;oBAC9C,GAAG,MAAM;oBACT,MAAM;oBACN,MAAM,EAAE,cAAc;iBACvB,CAAC,CAAC;YACL,CAAC;YAAC,MAAM,CAAC;gBACP,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC;gBACtC,MAAM,QAAQ,GAAG,cAAc,CAC7B,SAAS,CAAC,GAAG,CAAC,EACd,IAAuC,EACvC,MAAM,CACP,CAAC;gBACF,eAAe,GAAG,MAAM,iBAAiB,CAAC;oBACxC,GAAG,IAAI;oBACP,GAAG,EAAE,QAAQ;oBACb,MAAM;oBACN,MAAM,EAAE,cAAc;oBACtB,GAAG,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;iBACrD,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QACD,IAAI,QAAQ,GAAoD,QAAQ,CAAC;QACzE,8BAA8B;QAC9B,eAAe,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;YACnC,IAAI,QAAQ,KAAK,QAAQ;gBAAE,OAAO;YAClC,QAAQ,GAAG,QAAQ,CAAC;YACpB,IAAI,KAAY,CAAC;YACjB,IAAI,QAAQ,YAAY,KAAK,EAAE,CAAC;gBAC9B,KAAK,GAAG,QAAQ,CAAC;YACnB,CAAC;iBAAM,CAAC;gBACN,MAAM,OAAO,GAAG,QAA+D,CAAC;gBAChF,MAAM,OAAO,GAAG,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ;oBACrD,CAAC,CAAC,OAAO,OAAO,EAAE,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO;wBACtD,CAAC,CAAC,OAAO,OAAO,EAAE,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,mBAAmB,CAAC;gBACjF,KAAK,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;gBAC3B,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC;YACjF,CAAC;YACD,IAAI,CAAC;gBACH,MAAM,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC;YAC1B,CAAC;oBAAS,CAAC;gBACT,eAAe,CAAC,KAAK,EAAE,CAAC;YAC1B,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,eAAe,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE;YAClC,IAAI,QAAQ,KAAK,QAAQ;gBAAE,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC1D,CAAC,CAAC,CAAC;QAEH,eAAe,CAAC,OAAO,CAAC,GAAG,EAAE;YAC3B,IAAI,QAAQ,KAAK,QAAQ;gBAAE,OAAO;YAClC,QAAQ,GAAG,WAAW,CAAC;YACvB,MAAM,CAAC,UAAU,EAAE,EAAE,CAAC;QACxB,CAAC,CAAC,CAAC;QAEH,OAAO;YACL,KAAK,EAAE,GAAG,EAAE;gBACV,IAAI,QAAQ,KAAK,QAAQ;oBAAE,OAAO;gBAClC,QAAQ,GAAG,WAAW,CAAC;gBACvB,IAAI,CAAC;oBACH,eAAe,CAAC,KAAK,EAAE,CAAC;gBAC1B,CAAC;wBAAS,CAAC;oBACT,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC;gBACtB,CAAC;YACH,CAAC;SACF,CAAC;IACJ,CAAC,CAAC;IAEF,OAAO;QACL,OAAO;QACP,UAAU;QACV,YAAY;QACZ,SAAS;KACV,CAAA;AACH,CAAC"}
@@ -4,7 +4,7 @@ import { type CreateMicroappClientOptions } from './client.js';
4
4
  * @desc 创建普通小程序的网络入口;SDK 自动绑定项目 Taro 运行时。
5
5
  * @params {CreateMicroappClientOptions} [options] 平台渠道配置;默认使用内场渠道。
6
6
  * @return {ReturnType<typeof createMicroappClient>} 仅提供普通小程序的 request、uploadFile、downloadFile 和 streamSse。
7
- * @remarks 业务优先从模板的 @/network 导入 Network;HTTP(S) 绝对地址直接交给 Taro。宿主需要封闭域功能时通过 MiniappOpenCard 承载,请求与数据处理仅在卡内完成。
7
+ * @remarks 业务优先从模板的 @/network 导入 Network;HTTP(S) 绝对地址直接交给 Taro。宿主需要封闭域功能时通过 MiniappOpenCard 承载,请求与数据处理仅在卡内完成。streamSse 返回的是流句柄,Promise resolve 不代表生成完成。正常关闭仅调用一次 onComplete;流错误仅调用一次 onError(Error),随后释放任务;close() 主动取消仅调用一次可选的 onCancel,不调用 onComplete/onError。业务须在对应终态回调中清理 loading,不能把 onComplete 当通用 finally;终态后的消息与重复事件会被忽略。创建任务前的失败仍通过 Promise rejection 交付。
8
8
  * @example
9
9
  * ```ts
10
10
  * const Network = createMicroappClient({ platformChannel: 'ext' })
@@ -32,6 +32,7 @@ export declare function createMicroappClient(options?: CreateMicroappClientOptio
32
32
  onMessage(frame: string): void;
33
33
  onError?(error: Error): void;
34
34
  onComplete?(): void;
35
+ onCancel?(): void;
35
36
  }) => Promise<{
36
37
  close: () => void;
37
38
  }>;
@@ -4,7 +4,7 @@ import { createMicroappClient as createMicroappClientWithTaro, } from './client.
4
4
  * @desc 创建普通小程序的网络入口;SDK 自动绑定项目 Taro 运行时。
5
5
  * @params {CreateMicroappClientOptions} [options] 平台渠道配置;默认使用内场渠道。
6
6
  * @return {ReturnType<typeof createMicroappClient>} 仅提供普通小程序的 request、uploadFile、downloadFile 和 streamSse。
7
- * @remarks 业务优先从模板的 @/network 导入 Network;HTTP(S) 绝对地址直接交给 Taro。宿主需要封闭域功能时通过 MiniappOpenCard 承载,请求与数据处理仅在卡内完成。
7
+ * @remarks 业务优先从模板的 @/network 导入 Network;HTTP(S) 绝对地址直接交给 Taro。宿主需要封闭域功能时通过 MiniappOpenCard 承载,请求与数据处理仅在卡内完成。streamSse 返回的是流句柄,Promise resolve 不代表生成完成。正常关闭仅调用一次 onComplete;流错误仅调用一次 onError(Error),随后释放任务;close() 主动取消仅调用一次可选的 onCancel,不调用 onComplete/onError。业务须在对应终态回调中清理 loading,不能把 onComplete 当通用 finally;终态后的消息与重复事件会被忽略。创建任务前的失败仍通过 Promise rejection 交付。
8
8
  * @example
9
9
  * ```ts
10
10
  * const Network = createMicroappClient({ platformChannel: 'ext' })
@@ -233,26 +233,46 @@ export async function requestSSEByFetch(input) {
233
233
  const state = { readyState: 0 };
234
234
  let messageId = 0;
235
235
  const abortController = typeof AbortController !== "undefined" ? new AbortController() : null;
236
- const closeTask = (notify) => {
237
- if (state.readyState === 2) {
236
+ let terminal;
237
+ let errorNotified = false;
238
+ let closeNotified = false;
239
+ // 先记录终态;异步工厂返回前发生的错误也可在订阅时交付。
240
+ const notifyTerminal = () => {
241
+ if (!terminal)
238
242
  return;
243
+ try {
244
+ if (terminal.failed && callbacks.error && !errorNotified) {
245
+ errorNotified = true;
246
+ callbacks.error(terminal.error);
247
+ }
239
248
  }
249
+ finally {
250
+ if (callbacks.close && !closeNotified) {
251
+ closeNotified = true;
252
+ callbacks.close();
253
+ }
254
+ }
255
+ };
256
+ const finish = (outcome) => {
257
+ if (terminal)
258
+ return;
259
+ terminal = outcome;
240
260
  state.readyState = 2;
241
261
  abortController?.abort();
242
- if (notify) {
243
- callbacks.close?.();
244
- }
262
+ notifyTerminal();
245
263
  };
246
264
  const task = {
247
- close: () => closeTask(true),
265
+ close: () => finish({ failed: false }),
248
266
  onClose: (cb) => {
249
267
  callbacks.close = cb;
268
+ notifyTerminal();
250
269
  },
251
270
  onOpen: (cb) => {
252
271
  callbacks.open = cb;
253
272
  },
254
273
  onError: (cb) => {
255
274
  callbacks.error = cb;
275
+ notifyTerminal();
256
276
  },
257
277
  onMessage: (cb) => {
258
278
  callbacks.message = cb;
@@ -275,12 +295,15 @@ export async function requestSSEByFetch(input) {
275
295
  body: method === "GET" ? undefined : JSON.stringify(input.data ?? {}),
276
296
  signal: abortController?.signal,
277
297
  });
278
- if (!response.ok || !response.body) {
279
- state.readyState = 2;
280
- callbacks.error?.();
281
- callbacks.close?.();
298
+ if (terminal)
282
299
  return;
300
+ if (!response.ok) {
301
+ throw Object.assign(new Error(`SSE request failed with HTTP ${response.status}`), {
302
+ statusCode: response.status,
303
+ });
283
304
  }
305
+ if (!response.body)
306
+ throw new Error('SSE response has no body');
284
307
  state.readyState = 1;
285
308
  callbacks.open?.();
286
309
  const reader = response.body.getReader();
@@ -289,20 +312,26 @@ export async function requestSSEByFetch(input) {
289
312
  try {
290
313
  while (state.readyState === 1) {
291
314
  const { value, done } = await reader.read();
315
+ if (terminal)
316
+ break;
292
317
  if (done)
293
318
  break;
294
319
  buffer += decoder.decode(value, { stream: true });
295
320
  const parsed = parseSseBuffer(buffer);
296
321
  buffer = parsed.rest;
297
322
  parsed.frames.forEach((data) => {
323
+ if (terminal)
324
+ return;
298
325
  messageId += 1;
299
326
  callbacks.message?.({ data, id: messageId });
300
327
  });
301
328
  }
302
329
  // 处理剩余缓冲区
303
- if (buffer) {
330
+ if (buffer && !terminal) {
304
331
  const parsed = parseSseBuffer(buffer + "\n\n");
305
332
  parsed.frames.forEach((data) => {
333
+ if (terminal)
334
+ return;
306
335
  messageId += 1;
307
336
  callbacks.message?.({ data, id: messageId });
308
337
  });
@@ -311,14 +340,10 @@ export async function requestSSEByFetch(input) {
311
340
  finally {
312
341
  reader.releaseLock();
313
342
  }
314
- closeTask(true);
343
+ finish({ failed: false });
315
344
  }
316
345
  catch (error) {
317
- if (state.readyState !== 2) {
318
- state.readyState = 2;
319
- callbacks.error?.();
320
- callbacks.close?.();
321
- }
346
+ finish({ failed: true, error });
322
347
  }
323
348
  })();
324
349
  return task;
@@ -1 +1 @@
1
- {"version":3,"file":"douyin-login-request.js","sourceRoot":"","sources":["../../src/runtime/douyin-login-request.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"douyin-login-request.js","sourceRoot":"","sources":["../../src/runtime/douyin-login-request.ts"],"names":[],"mappings":"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"}
@@ -80,7 +80,7 @@ interface EventSourceTask {
80
80
  close: () => void;
81
81
  onClose: (cb: () => void) => void;
82
82
  onOpen: (cb: () => void) => void;
83
- onError: (cb: () => void) => void;
83
+ onError: (cb: (error?: unknown) => void) => void;
84
84
  onMessage: (cb: (chunk: { data: string; id: number }) => void) => void;
85
85
  readonly readyState: 0 | 1 | 2;
86
86
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@open-dy/vibecoding-sdk-taro",
3
- "version": "0.1.1",
3
+ "version": "0.1.3",
4
4
  "description": "Runtime, UI, build and ESLint capabilities for Douyin Taro templates.",
5
5
  "type": "module",
6
6
  "files": [
@@ -2,14 +2,14 @@
2
2
  "schema": 1,
3
3
  "producer": "vibecoding-sdk-taro",
4
4
  "packageName": "@open-dy/vibecoding-sdk-taro",
5
- "version": "0.1.1",
5
+ "version": "0.1.3",
6
6
  "source": {
7
- "digest": "sha256-358d8b2d8be744d7b7c0913505fdd641cd4ae4c66bbb00a5655d95e068035659",
8
- "files": 137
7
+ "digest": "sha256-7dadb5322eb193fbc0e187fc2aba6b921e310a4c7f0a6996eec303f9cfcfe30a",
8
+ "files": 141
9
9
  },
10
- "payload": "sha256-dc27095cefee1baf948b40243298a9a922da704532f51a39f02cef732d57e0c1",
10
+ "payload": "sha256-b990dd2cd1e2c4f89eb1b702d7c644e959247360cbd2452d85f20756de79d254",
11
11
  "toolchain": {
12
- "node": "v22.22.3",
12
+ "node": "v26.12.0",
13
13
  "packageManager": null
14
14
  }
15
15
  }
@@ -46,6 +46,8 @@ export function viteInlineJsonPlugin(options: { projectRoot: string }): Plugin {
46
46
  const [fullMatch, specifiers, importPath] = match;
47
47
  const absPath = resolveJsonPath(importPath, cleanId, srcDir);
48
48
  if (!absPath) continue;
49
+ // Inlining removes the import, so explicitly retain its watch dependency.
50
+ this.addWatchFile(absPath);
49
51
 
50
52
  let json: string;
51
53
  try {
@@ -169,6 +169,7 @@ export function createMicroappClient(
169
169
  onMessage(frame: string): void;
170
170
  onError?(error: Error): void;
171
171
  onComplete?(): void;
172
+ onCancel?(): void;
172
173
  }) => {
173
174
  const method = (option.method ?? "POST") as Taro.request.Option<
174
175
  any,
@@ -216,19 +217,50 @@ export function createMicroappClient(
216
217
  });
217
218
  }
218
219
  }
219
-
220
+ let terminal: 'active' | 'completed' | 'failed' | 'cancelled' = 'active';
221
+ // 先订阅错误:Fetch 可能已缓存建连期间发生的终态。
222
+ eventSourceTask.onError((rawError) => {
223
+ if (terminal !== 'active') return;
224
+ terminal = 'failed';
225
+ let error: Error;
226
+ if (rawError instanceof Error) {
227
+ error = rawError;
228
+ } else {
229
+ const payload = rawError as { message?: unknown; errMsg?: unknown } | undefined;
230
+ const message = typeof rawError === 'string' ? rawError
231
+ : typeof payload?.message === 'string' ? payload.message
232
+ : typeof payload?.errMsg === 'string' ? payload.errMsg : 'SSE stream failed';
233
+ error = new Error(message);
234
+ Object.defineProperty(error, 'cause', { value: rawError, configurable: true });
235
+ }
236
+ try {
237
+ option.onError?.(error);
238
+ } finally {
239
+ eventSourceTask.close();
240
+ }
241
+ });
242
+
220
243
  eventSourceTask.onMessage((chunk) => {
221
- option.onMessage(chunk.data);
244
+ if (terminal === 'active') option.onMessage(chunk.data);
222
245
  });
223
246
 
224
247
  eventSourceTask.onClose(() => {
248
+ if (terminal !== 'active') return;
249
+ terminal = 'completed';
225
250
  option.onComplete?.();
226
251
  });
227
252
 
228
253
  return {
229
- close: eventSourceTask.close,
254
+ close: () => {
255
+ if (terminal !== 'active') return;
256
+ terminal = 'cancelled';
257
+ try {
258
+ eventSourceTask.close();
259
+ } finally {
260
+ option.onCancel?.();
261
+ }
262
+ },
230
263
  };
231
-
232
264
  };
233
265
 
234
266
  return {
@@ -8,7 +8,7 @@ import {
8
8
  * @desc 创建普通小程序的网络入口;SDK 自动绑定项目 Taro 运行时。
9
9
  * @params {CreateMicroappClientOptions} [options] 平台渠道配置;默认使用内场渠道。
10
10
  * @return {ReturnType<typeof createMicroappClient>} 仅提供普通小程序的 request、uploadFile、downloadFile 和 streamSse。
11
- * @remarks 业务优先从模板的 @/network 导入 Network;HTTP(S) 绝对地址直接交给 Taro。宿主需要封闭域功能时通过 MiniappOpenCard 承载,请求与数据处理仅在卡内完成。
11
+ * @remarks 业务优先从模板的 @/network 导入 Network;HTTP(S) 绝对地址直接交给 Taro。宿主需要封闭域功能时通过 MiniappOpenCard 承载,请求与数据处理仅在卡内完成。streamSse 返回的是流句柄,Promise resolve 不代表生成完成。正常关闭仅调用一次 onComplete;流错误仅调用一次 onError(Error),随后释放任务;close() 主动取消仅调用一次可选的 onCancel,不调用 onComplete/onError。业务须在对应终态回调中清理 loading,不能把 onComplete 当通用 finally;终态后的消息与重复事件会被忽略。创建任务前的失败仍通过 Promise rejection 交付。
12
12
  * @example
13
13
  * ```ts
14
14
  * const Network = createMicroappClient({ platformChannel: 'ext' })
@@ -316,7 +316,7 @@ export async function requestSSEByFetch(input: {
316
316
 
317
317
  const callbacks: {
318
318
  open: (() => void) | null;
319
- error: (() => void) | null;
319
+ error: ((error?: unknown) => void) | null;
320
320
  close: (() => void) | null;
321
321
  message: ((chunk: { data: string; id: number }) => void) | null;
322
322
  } = {
@@ -330,27 +330,45 @@ export async function requestSSEByFetch(input: {
330
330
  const abortController =
331
331
  typeof AbortController !== "undefined" ? new AbortController() : null;
332
332
 
333
- const closeTask = (notify: boolean) => {
334
- if (state.readyState === 2) {
335
- return;
333
+ let terminal: { failed: boolean; error?: unknown } | undefined;
334
+ let errorNotified = false;
335
+ let closeNotified = false;
336
+ // 先记录终态;异步工厂返回前发生的错误也可在订阅时交付。
337
+ const notifyTerminal = () => {
338
+ if (!terminal) return;
339
+ try {
340
+ if (terminal.failed && callbacks.error && !errorNotified) {
341
+ errorNotified = true;
342
+ callbacks.error(terminal.error);
343
+ }
344
+ } finally {
345
+ if (callbacks.close && !closeNotified) {
346
+ closeNotified = true;
347
+ callbacks.close();
348
+ }
336
349
  }
350
+ };
351
+
352
+ const finish = (outcome: { failed: boolean; error?: unknown }) => {
353
+ if (terminal) return;
354
+ terminal = outcome;
337
355
  state.readyState = 2;
338
356
  abortController?.abort();
339
- if (notify) {
340
- callbacks.close?.();
341
- }
357
+ notifyTerminal();
342
358
  };
343
359
 
344
360
  const task: EventSourceTask = {
345
- close: () => closeTask(true),
361
+ close: () => finish({ failed: false }),
346
362
  onClose: (cb) => {
347
363
  callbacks.close = cb;
364
+ notifyTerminal();
348
365
  },
349
366
  onOpen: (cb) => {
350
367
  callbacks.open = cb;
351
368
  },
352
369
  onError: (cb) => {
353
370
  callbacks.error = cb;
371
+ notifyTerminal();
354
372
  },
355
373
  onMessage: (cb) => {
356
374
  callbacks.message = cb;
@@ -376,12 +394,13 @@ export async function requestSSEByFetch(input: {
376
394
  signal: abortController?.signal,
377
395
  });
378
396
 
379
- if (!response.ok || !response.body) {
380
- state.readyState = 2;
381
- callbacks.error?.();
382
- callbacks.close?.();
383
- return;
397
+ if (terminal) return;
398
+ if (!response.ok) {
399
+ throw Object.assign(new Error(`SSE request failed with HTTP ${response.status}`), {
400
+ statusCode: response.status,
401
+ });
384
402
  }
403
+ if (!response.body) throw new Error('SSE response has no body');
385
404
 
386
405
  state.readyState = 1;
387
406
  callbacks.open?.();
@@ -393,21 +412,24 @@ export async function requestSSEByFetch(input: {
393
412
  try {
394
413
  while (state.readyState === 1) {
395
414
  const { value, done } = await reader.read();
415
+ if (terminal) break;
396
416
  if (done) break;
397
417
 
398
418
  buffer += decoder.decode(value, { stream: true });
399
419
  const parsed = parseSseBuffer(buffer);
400
420
  buffer = parsed.rest;
401
421
  parsed.frames.forEach((data) => {
422
+ if (terminal) return;
402
423
  messageId += 1;
403
424
  callbacks.message?.({ data, id: messageId });
404
425
  });
405
426
  }
406
427
 
407
428
  // 处理剩余缓冲区
408
- if (buffer) {
429
+ if (buffer && !terminal) {
409
430
  const parsed = parseSseBuffer(buffer + "\n\n");
410
431
  parsed.frames.forEach((data) => {
432
+ if (terminal) return;
411
433
  messageId += 1;
412
434
  callbacks.message?.({ data, id: messageId });
413
435
  });
@@ -416,13 +438,9 @@ export async function requestSSEByFetch(input: {
416
438
  reader.releaseLock();
417
439
  }
418
440
 
419
- closeTask(true);
441
+ finish({ failed: false });
420
442
  } catch (error) {
421
- if ((state.readyState as 0 | 1 | 2) !== 2) {
422
- state.readyState = 2;
423
- callbacks.error?.();
424
- callbacks.close?.();
425
- }
443
+ finish({ failed: true, error });
426
444
  }
427
445
  })();
428
446
 
@@ -80,7 +80,7 @@ interface EventSourceTask {
80
80
  close: () => void;
81
81
  onClose: (cb: () => void) => void;
82
82
  onOpen: (cb: () => void) => void;
83
- onError: (cb: () => void) => void;
83
+ onError: (cb: (error?: unknown) => void) => void;
84
84
  onMessage: (cb: (chunk: { data: string; id: number }) => void) => void;
85
85
  readonly readyState: 0 | 1 | 2;
86
86
  }