@vobs/payment 1.2.1 → 1.2.2

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.
Files changed (85) hide show
  1. package/dist/alipay/client.cjs +31 -8
  2. package/dist/alipay/client.cjs.map +1 -1
  3. package/dist/alipay/client.js +6 -5
  4. package/dist/alipay/client.js.map +1 -1
  5. package/dist/alipay/config.cjs +27 -5
  6. package/dist/alipay/config.cjs.map +1 -1
  7. package/dist/alipay/config.js +3 -3
  8. package/dist/alipay/config.js.map +1 -1
  9. package/dist/alipay/index.cjs +56 -177
  10. package/dist/alipay/index.cjs.map +1 -1
  11. package/dist/alipay/index.js +17 -162
  12. package/dist/alipay/index.js.map +1 -1
  13. package/dist/alipay/notify.cjs +27 -5
  14. package/dist/alipay/notify.cjs.map +1 -1
  15. package/dist/alipay/notify.js +3 -3
  16. package/dist/alipay/notify.js.map +1 -1
  17. package/dist/alipay/payment.cjs +27 -5
  18. package/dist/alipay/payment.cjs.map +1 -1
  19. package/dist/alipay/payment.js +3 -3
  20. package/dist/alipay/payment.js.map +1 -1
  21. package/dist/alipay/plugin.cjs +36 -165
  22. package/dist/alipay/plugin.cjs.map +1 -1
  23. package/dist/alipay/plugin.js +9 -160
  24. package/dist/alipay/plugin.js.map +1 -1
  25. package/dist/alipay/query.cjs +29 -5
  26. package/dist/alipay/query.cjs.map +1 -1
  27. package/dist/alipay/query.js +3 -3
  28. package/dist/alipay/query.js.map +1 -1
  29. package/dist/alipay/refund.cjs +29 -5
  30. package/dist/alipay/refund.cjs.map +1 -1
  31. package/dist/alipay/refund.js +3 -3
  32. package/dist/alipay/refund.js.map +1 -1
  33. package/dist/alipay/response.cjs +29 -6
  34. package/dist/alipay/response.cjs.map +1 -1
  35. package/dist/alipay/response.js +4 -3
  36. package/dist/alipay/response.js.map +1 -1
  37. package/dist/alipay/types.cjs +18 -2
  38. package/dist/alipay/types.cjs.map +1 -1
  39. package/dist/alipay/types.js +0 -2
  40. package/dist/alipay/types.js.map +1 -1
  41. package/dist/alipay/wap.cjs +27 -5
  42. package/dist/alipay/wap.cjs.map +1 -1
  43. package/dist/alipay/wap.js +3 -3
  44. package/dist/alipay/wap.js.map +1 -1
  45. package/dist/index.cjs +85 -194
  46. package/dist/index.cjs.map +1 -1
  47. package/dist/index.js +38 -167
  48. package/dist/index.js.map +1 -1
  49. package/dist/wechat/client.cjs +31 -8
  50. package/dist/wechat/client.cjs.map +1 -1
  51. package/dist/wechat/client.js +6 -5
  52. package/dist/wechat/client.js.map +1 -1
  53. package/dist/wechat/config.cjs +27 -5
  54. package/dist/wechat/config.cjs.map +1 -1
  55. package/dist/wechat/config.js +3 -3
  56. package/dist/wechat/config.js.map +1 -1
  57. package/dist/wechat/index.cjs +64 -181
  58. package/dist/wechat/index.cjs.map +1 -1
  59. package/dist/wechat/index.js +23 -164
  60. package/dist/wechat/index.js.map +1 -1
  61. package/dist/wechat/notify.cjs +33 -10
  62. package/dist/wechat/notify.cjs.map +1 -1
  63. package/dist/wechat/notify.js +6 -5
  64. package/dist/wechat/notify.js.map +1 -1
  65. package/dist/wechat/payment.cjs +33 -10
  66. package/dist/wechat/payment.cjs.map +1 -1
  67. package/dist/wechat/payment.js +6 -5
  68. package/dist/wechat/payment.js.map +1 -1
  69. package/dist/wechat/plugin.cjs +36 -165
  70. package/dist/wechat/plugin.cjs.map +1 -1
  71. package/dist/wechat/plugin.js +9 -160
  72. package/dist/wechat/plugin.js.map +1 -1
  73. package/dist/wechat/refund.cjs +29 -5
  74. package/dist/wechat/refund.cjs.map +1 -1
  75. package/dist/wechat/refund.js +3 -3
  76. package/dist/wechat/refund.js.map +1 -1
  77. package/dist/wechat/response.cjs +31 -7
  78. package/dist/wechat/response.cjs.map +1 -1
  79. package/dist/wechat/response.js +5 -3
  80. package/dist/wechat/response.js.map +1 -1
  81. package/dist/wechat/types.cjs +18 -2
  82. package/dist/wechat/types.cjs.map +1 -1
  83. package/dist/wechat/types.js +0 -2
  84. package/dist/wechat/types.js.map +1 -1
  85. package/package.json +2 -2
@@ -1,9 +1,31 @@
1
- 'use strict';
2
-
3
- var wechatpayAxiosPlugin = require('wechatpay-axios-plugin');
4
-
1
+ var __VOBS_CJS_FILE_URL = require("url").pathToFileURL(__filename).href;
2
+ "use strict";
5
3
  var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
7
  var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
21
+
22
+ // packages/payment/src/wechat/client.ts
23
+ var client_exports = {};
24
+ __export(client_exports, {
25
+ WechatClient: () => WechatClient
26
+ });
27
+ module.exports = __toCommonJS(client_exports);
28
+ var import_wechatpay_axios_plugin = require("wechatpay-axios-plugin");
7
29
 
8
30
  // packages/payment/src/wechat/config.ts
9
31
  var _WechatConfig = class _WechatConfig {
@@ -97,7 +119,7 @@ var _WechatClient = class _WechatClient {
97
119
  this._sdk = null;
98
120
  }
99
121
  createSdk(options) {
100
- return new wechatpayAxiosPlugin.Wechatpay({
122
+ return new import_wechatpay_axios_plugin.Wechatpay({
101
123
  mchid: options.mchid,
102
124
  serial: options.serial,
103
125
  privateKey: options.privateKey,
@@ -113,7 +135,8 @@ var _WechatClient = class _WechatClient {
113
135
  };
114
136
  __name(_WechatClient, "WechatClient");
115
137
  var WechatClient = _WechatClient;
116
-
117
- exports.WechatClient = WechatClient;
118
- //# sourceMappingURL=client.cjs.map
138
+ // Annotate the CommonJS export names for ESM import in node:
139
+ 0 && (module.exports = {
140
+ WechatClient
141
+ });
119
142
  //# sourceMappingURL=client.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/wechat/config.ts","../../src/wechat/client.ts"],"names":["Wechatpay"],"mappings":"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","file":"client.cjs","sourcesContent":["import type { WechatClientOptions } from './types'\n\n/**\n * 微信支付配置管理\n * 遵循 vobs 生命周期管理:可创建、可校验、可更新、可替换\n */\nexport class WechatConfig {\n private _options: WechatClientOptions\n\n constructor(options: WechatClientOptions) {\n this.validate(options)\n this._options = { ...options }\n }\n\n /** 获取完整配置 */\n get options(): Readonly<WechatClientOptions> {\n return this._options\n }\n\n /** 商户号 */\n get mchid(): string {\n return this._options.mchid\n }\n\n /** 应用 ID(公众号 / 小程序 / APP) */\n get appid(): string {\n return this._options.appid\n }\n\n /** 商户 API 证书序列号 */\n get serial(): string {\n return this._options.serial\n }\n\n /** APIv3 密钥(回调解密用) */\n get apiv3Key(): string {\n return this._options.apiv3Key\n }\n\n /** 异步通知地址 */\n get notifyUrl(): string | undefined {\n return this._options.notifyUrl\n }\n\n /** 更新配置(部分更新) */\n update(patch: Partial<WechatClientOptions>): void {\n const merged = { ...this._options, ...patch }\n this.validate(merged)\n this._options = merged\n }\n\n /** 替换配置 */\n replace(options: WechatClientOptions): void {\n this.validate(options)\n this._options = { ...options }\n }\n\n private validate(options: WechatClientOptions): void {\n if (!options.mchid) {\n throw new Error('WechatConfig: mchid 不能为空')\n }\n if (!options.serial) {\n throw new Error('WechatConfig: serial(商户 API 证书序列号)不能为空')\n }\n if (!options.privateKey) {\n throw new Error('WechatConfig: privateKey(商户 API 私钥 PEM)不能为空')\n }\n if (!options.certs || Object.keys(options.certs).length === 0) {\n throw new Error('WechatConfig: certs(平台证书/微信支付公钥 {序列号: PEM})不能为空')\n }\n if (!options.appid) {\n throw new Error('WechatConfig: appid 不能为空')\n }\n if (!options.apiv3Key) {\n throw new Error('WechatConfig: apiv3Key 不能为空')\n }\n if (options.apiv3Key.length !== 32) {\n throw new Error('WechatConfig: apiv3Key 必须为 32 字节字符串')\n }\n }\n}\n","import { Wechatpay } from 'wechatpay-axios-plugin'\nimport { WechatConfig } from './config'\nimport type { WechatClientOptions } from './types'\n\n/**\n * 微信支付客户端封装\n *\n * 封装官方 wechatpay-axios-plugin 的 Wechatpay 实例,提供统一的生命周期管理。\n * 可独立使用,也可通过 wechatPlugin 注册到 vobs 框架。\n *\n * @example\n * ```ts\n * const client = new WechatClient({\n * mchid: '1900000000',\n * serial: '商户API证书序列号',\n * privateKey: '-----BEGIN PRIVATE KEY-----...',\n * certs: { 'PUB_KEY_ID_xxx': '-----BEGIN PUBLIC KEY-----...' },\n * appid: 'wx1234567890',\n * apiv3Key: '32字节APIv3密钥',\n * notifyUrl: 'https://your-domain.com/wechat/notify'\n * })\n * ```\n */\nexport class WechatClient {\n readonly config: WechatConfig\n private _sdk: Wechatpay\n private _disposed = false\n\n constructor(options: WechatClientOptions) {\n this.config = new WechatConfig(options)\n this._sdk = this.createSdk(options)\n }\n\n /** 获取底层 Wechatpay 实例(链式 API:client.sdk.v3.pay.transactions.jsapi.post(...)) */\n get sdk(): Wechatpay {\n this.ensureActive()\n return this._sdk\n }\n\n /** 更新配置并重建 SDK 实例 */\n updateConfig(patch: Partial<WechatClientOptions>): void {\n this.ensureActive()\n this.config.update(patch)\n this._sdk = this.createSdk(this.config.options as WechatClientOptions)\n }\n\n /** 销毁客户端 */\n dispose(): void {\n this._disposed = true\n ;(this._sdk as any) = null\n }\n\n private createSdk(options: WechatClientOptions): Wechatpay {\n return new Wechatpay({\n mchid: options.mchid,\n serial: options.serial,\n privateKey: options.privateKey,\n certs: options.certs,\n timeout: options.timeout ?? 5000\n })\n }\n\n private ensureActive(): void {\n if (this._disposed) {\n throw new Error('WechatClient: 客户端已销毁')\n }\n }\n}\n"]}
1
+ {"version":3,"sources":["../../src/wechat/client.ts","../../src/wechat/config.ts"],"sourcesContent":["import { Wechatpay } from 'wechatpay-axios-plugin'\nimport { WechatConfig } from './config'\nimport type { WechatClientOptions } from './types'\n\n/**\n * 微信支付客户端封装\n *\n * 封装官方 wechatpay-axios-plugin 的 Wechatpay 实例,提供统一的生命周期管理。\n * 可独立使用,也可通过 wechatPlugin 注册到 vobs 框架。\n *\n * @example\n * ```ts\n * const client = new WechatClient({\n * mchid: '1900000000',\n * serial: '商户API证书序列号',\n * privateKey: '-----BEGIN PRIVATE KEY-----...',\n * certs: { 'PUB_KEY_ID_xxx': '-----BEGIN PUBLIC KEY-----...' },\n * appid: 'wx1234567890',\n * apiv3Key: '32字节APIv3密钥',\n * notifyUrl: 'https://your-domain.com/wechat/notify'\n * })\n * ```\n */\nexport class WechatClient {\n readonly config: WechatConfig\n private _sdk: Wechatpay\n private _disposed = false\n\n constructor(options: WechatClientOptions) {\n this.config = new WechatConfig(options)\n this._sdk = this.createSdk(options)\n }\n\n /** 获取底层 Wechatpay 实例(链式 API:client.sdk.v3.pay.transactions.jsapi.post(...)) */\n get sdk(): Wechatpay {\n this.ensureActive()\n return this._sdk\n }\n\n /** 更新配置并重建 SDK 实例 */\n updateConfig(patch: Partial<WechatClientOptions>): void {\n this.ensureActive()\n this.config.update(patch)\n this._sdk = this.createSdk(this.config.options as WechatClientOptions)\n }\n\n /** 销毁客户端 */\n dispose(): void {\n this._disposed = true\n ;(this._sdk as any) = null\n }\n\n private createSdk(options: WechatClientOptions): Wechatpay {\n return new Wechatpay({\n mchid: options.mchid,\n serial: options.serial,\n privateKey: options.privateKey,\n certs: options.certs,\n timeout: options.timeout ?? 5000\n })\n }\n\n private ensureActive(): void {\n if (this._disposed) {\n throw new Error('WechatClient: 客户端已销毁')\n }\n }\n}\n","import type { WechatClientOptions } from './types'\n\n/**\n * 微信支付配置管理\n * 遵循 vobs 生命周期管理:可创建、可校验、可更新、可替换\n */\nexport class WechatConfig {\n private _options: WechatClientOptions\n\n constructor(options: WechatClientOptions) {\n this.validate(options)\n this._options = { ...options }\n }\n\n /** 获取完整配置 */\n get options(): Readonly<WechatClientOptions> {\n return this._options\n }\n\n /** 商户号 */\n get mchid(): string {\n return this._options.mchid\n }\n\n /** 应用 ID(公众号 / 小程序 / APP) */\n get appid(): string {\n return this._options.appid\n }\n\n /** 商户 API 证书序列号 */\n get serial(): string {\n return this._options.serial\n }\n\n /** APIv3 密钥(回调解密用) */\n get apiv3Key(): string {\n return this._options.apiv3Key\n }\n\n /** 异步通知地址 */\n get notifyUrl(): string | undefined {\n return this._options.notifyUrl\n }\n\n /** 更新配置(部分更新) */\n update(patch: Partial<WechatClientOptions>): void {\n const merged = { ...this._options, ...patch }\n this.validate(merged)\n this._options = merged\n }\n\n /** 替换配置 */\n replace(options: WechatClientOptions): void {\n this.validate(options)\n this._options = { ...options }\n }\n\n private validate(options: WechatClientOptions): void {\n if (!options.mchid) {\n throw new Error('WechatConfig: mchid 不能为空')\n }\n if (!options.serial) {\n throw new Error('WechatConfig: serial(商户 API 证书序列号)不能为空')\n }\n if (!options.privateKey) {\n throw new Error('WechatConfig: privateKey(商户 API 私钥 PEM)不能为空')\n }\n if (!options.certs || Object.keys(options.certs).length === 0) {\n throw new Error('WechatConfig: certs(平台证书/微信支付公钥 {序列号: PEM})不能为空')\n }\n if (!options.appid) {\n throw new Error('WechatConfig: appid 不能为空')\n }\n if (!options.apiv3Key) {\n throw new Error('WechatConfig: apiv3Key 不能为空')\n }\n if (options.apiv3Key.length !== 32) {\n throw new Error('WechatConfig: apiv3Key 必须为 32 字节字符串')\n }\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oCAA0B;;;ACMnB,IAAM,gBAAN,MAAM,cAAa;AAAA,EAGxB,YAAY,SAA8B;AACxC,SAAK,SAAS,OAAO;AACrB,SAAK,WAAW,EAAE,GAAG,QAAQ;AAAA,EAC/B;AAAA;AAAA,EAGA,IAAI,UAAyC;AAC3C,WAAO,KAAK;AAAA,EACd;AAAA;AAAA,EAGA,IAAI,QAAgB;AAClB,WAAO,KAAK,SAAS;AAAA,EACvB;AAAA;AAAA,EAGA,IAAI,QAAgB;AAClB,WAAO,KAAK,SAAS;AAAA,EACvB;AAAA;AAAA,EAGA,IAAI,SAAiB;AACnB,WAAO,KAAK,SAAS;AAAA,EACvB;AAAA;AAAA,EAGA,IAAI,WAAmB;AACrB,WAAO,KAAK,SAAS;AAAA,EACvB;AAAA;AAAA,EAGA,IAAI,YAAgC;AAClC,WAAO,KAAK,SAAS;AAAA,EACvB;AAAA;AAAA,EAGA,OAAO,OAA2C;AAChD,UAAM,SAAS,EAAE,GAAG,KAAK,UAAU,GAAG,MAAM;AAC5C,SAAK,SAAS,MAAM;AACpB,SAAK,WAAW;AAAA,EAClB;AAAA;AAAA,EAGA,QAAQ,SAAoC;AAC1C,SAAK,SAAS,OAAO;AACrB,SAAK,WAAW,EAAE,GAAG,QAAQ;AAAA,EAC/B;AAAA,EAEQ,SAAS,SAAoC;AACnD,QAAI,CAAC,QAAQ,OAAO;AAClB,YAAM,IAAI,MAAM,8CAA0B;AAAA,IAC5C;AACA,QAAI,CAAC,QAAQ,QAAQ;AACnB,YAAM,IAAI,MAAM,yGAAwC;AAAA,IAC1D;AACA,QAAI,CAAC,QAAQ,YAAY;AACvB,YAAM,IAAI,MAAM,+FAA6C;AAAA,IAC/D;AACA,QAAI,CAAC,QAAQ,SAAS,OAAO,KAAK,QAAQ,KAAK,EAAE,WAAW,GAAG;AAC7D,YAAM,IAAI,MAAM,gJAAiD;AAAA,IACnE;AACA,QAAI,CAAC,QAAQ,OAAO;AAClB,YAAM,IAAI,MAAM,8CAA0B;AAAA,IAC5C;AACA,QAAI,CAAC,QAAQ,UAAU;AACrB,YAAM,IAAI,MAAM,iDAA6B;AAAA,IAC/C;AACA,QAAI,QAAQ,SAAS,WAAW,IAAI;AAClC,YAAM,IAAI,MAAM,6EAAqC;AAAA,IACvD;AAAA,EACF;AACF;AA1E0B;AAAnB,IAAM,eAAN;;;ADiBA,IAAM,gBAAN,MAAM,cAAa;AAAA,EAKxB,YAAY,SAA8B;AAF1C,SAAQ,YAAY;AAGlB,SAAK,SAAS,IAAI,aAAa,OAAO;AACtC,SAAK,OAAO,KAAK,UAAU,OAAO;AAAA,EACpC;AAAA;AAAA,EAGA,IAAI,MAAiB;AACnB,SAAK,aAAa;AAClB,WAAO,KAAK;AAAA,EACd;AAAA;AAAA,EAGA,aAAa,OAA2C;AACtD,SAAK,aAAa;AAClB,SAAK,OAAO,OAAO,KAAK;AACxB,SAAK,OAAO,KAAK,UAAU,KAAK,OAAO,OAA8B;AAAA,EACvE;AAAA;AAAA,EAGA,UAAgB;AACd,SAAK,YAAY;AAChB,IAAC,KAAK,OAAe;AAAA,EACxB;AAAA,EAEQ,UAAU,SAAyC;AACzD,WAAO,IAAI,wCAAU;AAAA,MACnB,OAAO,QAAQ;AAAA,MACf,QAAQ,QAAQ;AAAA,MAChB,YAAY,QAAQ;AAAA,MACpB,OAAO,QAAQ;AAAA,MACf,SAAS,QAAQ,WAAW;AAAA,IAC9B,CAAC;AAAA,EACH;AAAA,EAEQ,eAAqB;AAC3B,QAAI,KAAK,WAAW;AAClB,YAAM,IAAI,MAAM,oDAAsB;AAAA,IACxC;AAAA,EACF;AACF;AA5C0B;AAAnB,IAAM,eAAN;","names":[]}
@@ -1,8 +1,9 @@
1
- import { Wechatpay } from 'wechatpay-axios-plugin';
2
-
3
1
  var __defProp = Object.defineProperty;
4
2
  var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
5
3
 
4
+ // packages/payment/src/wechat/client.ts
5
+ import { Wechatpay } from "wechatpay-axios-plugin";
6
+
6
7
  // packages/payment/src/wechat/config.ts
7
8
  var _WechatConfig = class _WechatConfig {
8
9
  constructor(options) {
@@ -111,7 +112,7 @@ var _WechatClient = class _WechatClient {
111
112
  };
112
113
  __name(_WechatClient, "WechatClient");
113
114
  var WechatClient = _WechatClient;
114
-
115
- export { WechatClient };
116
- //# sourceMappingURL=client.js.map
115
+ export {
116
+ WechatClient
117
+ };
117
118
  //# sourceMappingURL=client.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/wechat/config.ts","../../src/wechat/client.ts"],"names":[],"mappings":"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","file":"client.js","sourcesContent":["import type { WechatClientOptions } from './types'\n\n/**\n * 微信支付配置管理\n * 遵循 vobs 生命周期管理:可创建、可校验、可更新、可替换\n */\nexport class WechatConfig {\n private _options: WechatClientOptions\n\n constructor(options: WechatClientOptions) {\n this.validate(options)\n this._options = { ...options }\n }\n\n /** 获取完整配置 */\n get options(): Readonly<WechatClientOptions> {\n return this._options\n }\n\n /** 商户号 */\n get mchid(): string {\n return this._options.mchid\n }\n\n /** 应用 ID(公众号 / 小程序 / APP) */\n get appid(): string {\n return this._options.appid\n }\n\n /** 商户 API 证书序列号 */\n get serial(): string {\n return this._options.serial\n }\n\n /** APIv3 密钥(回调解密用) */\n get apiv3Key(): string {\n return this._options.apiv3Key\n }\n\n /** 异步通知地址 */\n get notifyUrl(): string | undefined {\n return this._options.notifyUrl\n }\n\n /** 更新配置(部分更新) */\n update(patch: Partial<WechatClientOptions>): void {\n const merged = { ...this._options, ...patch }\n this.validate(merged)\n this._options = merged\n }\n\n /** 替换配置 */\n replace(options: WechatClientOptions): void {\n this.validate(options)\n this._options = { ...options }\n }\n\n private validate(options: WechatClientOptions): void {\n if (!options.mchid) {\n throw new Error('WechatConfig: mchid 不能为空')\n }\n if (!options.serial) {\n throw new Error('WechatConfig: serial(商户 API 证书序列号)不能为空')\n }\n if (!options.privateKey) {\n throw new Error('WechatConfig: privateKey(商户 API 私钥 PEM)不能为空')\n }\n if (!options.certs || Object.keys(options.certs).length === 0) {\n throw new Error('WechatConfig: certs(平台证书/微信支付公钥 {序列号: PEM})不能为空')\n }\n if (!options.appid) {\n throw new Error('WechatConfig: appid 不能为空')\n }\n if (!options.apiv3Key) {\n throw new Error('WechatConfig: apiv3Key 不能为空')\n }\n if (options.apiv3Key.length !== 32) {\n throw new Error('WechatConfig: apiv3Key 必须为 32 字节字符串')\n }\n }\n}\n","import { Wechatpay } from 'wechatpay-axios-plugin'\nimport { WechatConfig } from './config'\nimport type { WechatClientOptions } from './types'\n\n/**\n * 微信支付客户端封装\n *\n * 封装官方 wechatpay-axios-plugin 的 Wechatpay 实例,提供统一的生命周期管理。\n * 可独立使用,也可通过 wechatPlugin 注册到 vobs 框架。\n *\n * @example\n * ```ts\n * const client = new WechatClient({\n * mchid: '1900000000',\n * serial: '商户API证书序列号',\n * privateKey: '-----BEGIN PRIVATE KEY-----...',\n * certs: { 'PUB_KEY_ID_xxx': '-----BEGIN PUBLIC KEY-----...' },\n * appid: 'wx1234567890',\n * apiv3Key: '32字节APIv3密钥',\n * notifyUrl: 'https://your-domain.com/wechat/notify'\n * })\n * ```\n */\nexport class WechatClient {\n readonly config: WechatConfig\n private _sdk: Wechatpay\n private _disposed = false\n\n constructor(options: WechatClientOptions) {\n this.config = new WechatConfig(options)\n this._sdk = this.createSdk(options)\n }\n\n /** 获取底层 Wechatpay 实例(链式 API:client.sdk.v3.pay.transactions.jsapi.post(...)) */\n get sdk(): Wechatpay {\n this.ensureActive()\n return this._sdk\n }\n\n /** 更新配置并重建 SDK 实例 */\n updateConfig(patch: Partial<WechatClientOptions>): void {\n this.ensureActive()\n this.config.update(patch)\n this._sdk = this.createSdk(this.config.options as WechatClientOptions)\n }\n\n /** 销毁客户端 */\n dispose(): void {\n this._disposed = true\n ;(this._sdk as any) = null\n }\n\n private createSdk(options: WechatClientOptions): Wechatpay {\n return new Wechatpay({\n mchid: options.mchid,\n serial: options.serial,\n privateKey: options.privateKey,\n certs: options.certs,\n timeout: options.timeout ?? 5000\n })\n }\n\n private ensureActive(): void {\n if (this._disposed) {\n throw new Error('WechatClient: 客户端已销毁')\n }\n }\n}\n"]}
1
+ {"version":3,"sources":["../../src/wechat/client.ts","../../src/wechat/config.ts"],"sourcesContent":["import { Wechatpay } from 'wechatpay-axios-plugin'\nimport { WechatConfig } from './config'\nimport type { WechatClientOptions } from './types'\n\n/**\n * 微信支付客户端封装\n *\n * 封装官方 wechatpay-axios-plugin 的 Wechatpay 实例,提供统一的生命周期管理。\n * 可独立使用,也可通过 wechatPlugin 注册到 vobs 框架。\n *\n * @example\n * ```ts\n * const client = new WechatClient({\n * mchid: '1900000000',\n * serial: '商户API证书序列号',\n * privateKey: '-----BEGIN PRIVATE KEY-----...',\n * certs: { 'PUB_KEY_ID_xxx': '-----BEGIN PUBLIC KEY-----...' },\n * appid: 'wx1234567890',\n * apiv3Key: '32字节APIv3密钥',\n * notifyUrl: 'https://your-domain.com/wechat/notify'\n * })\n * ```\n */\nexport class WechatClient {\n readonly config: WechatConfig\n private _sdk: Wechatpay\n private _disposed = false\n\n constructor(options: WechatClientOptions) {\n this.config = new WechatConfig(options)\n this._sdk = this.createSdk(options)\n }\n\n /** 获取底层 Wechatpay 实例(链式 API:client.sdk.v3.pay.transactions.jsapi.post(...)) */\n get sdk(): Wechatpay {\n this.ensureActive()\n return this._sdk\n }\n\n /** 更新配置并重建 SDK 实例 */\n updateConfig(patch: Partial<WechatClientOptions>): void {\n this.ensureActive()\n this.config.update(patch)\n this._sdk = this.createSdk(this.config.options as WechatClientOptions)\n }\n\n /** 销毁客户端 */\n dispose(): void {\n this._disposed = true\n ;(this._sdk as any) = null\n }\n\n private createSdk(options: WechatClientOptions): Wechatpay {\n return new Wechatpay({\n mchid: options.mchid,\n serial: options.serial,\n privateKey: options.privateKey,\n certs: options.certs,\n timeout: options.timeout ?? 5000\n })\n }\n\n private ensureActive(): void {\n if (this._disposed) {\n throw new Error('WechatClient: 客户端已销毁')\n }\n }\n}\n","import type { WechatClientOptions } from './types'\n\n/**\n * 微信支付配置管理\n * 遵循 vobs 生命周期管理:可创建、可校验、可更新、可替换\n */\nexport class WechatConfig {\n private _options: WechatClientOptions\n\n constructor(options: WechatClientOptions) {\n this.validate(options)\n this._options = { ...options }\n }\n\n /** 获取完整配置 */\n get options(): Readonly<WechatClientOptions> {\n return this._options\n }\n\n /** 商户号 */\n get mchid(): string {\n return this._options.mchid\n }\n\n /** 应用 ID(公众号 / 小程序 / APP) */\n get appid(): string {\n return this._options.appid\n }\n\n /** 商户 API 证书序列号 */\n get serial(): string {\n return this._options.serial\n }\n\n /** APIv3 密钥(回调解密用) */\n get apiv3Key(): string {\n return this._options.apiv3Key\n }\n\n /** 异步通知地址 */\n get notifyUrl(): string | undefined {\n return this._options.notifyUrl\n }\n\n /** 更新配置(部分更新) */\n update(patch: Partial<WechatClientOptions>): void {\n const merged = { ...this._options, ...patch }\n this.validate(merged)\n this._options = merged\n }\n\n /** 替换配置 */\n replace(options: WechatClientOptions): void {\n this.validate(options)\n this._options = { ...options }\n }\n\n private validate(options: WechatClientOptions): void {\n if (!options.mchid) {\n throw new Error('WechatConfig: mchid 不能为空')\n }\n if (!options.serial) {\n throw new Error('WechatConfig: serial(商户 API 证书序列号)不能为空')\n }\n if (!options.privateKey) {\n throw new Error('WechatConfig: privateKey(商户 API 私钥 PEM)不能为空')\n }\n if (!options.certs || Object.keys(options.certs).length === 0) {\n throw new Error('WechatConfig: certs(平台证书/微信支付公钥 {序列号: PEM})不能为空')\n }\n if (!options.appid) {\n throw new Error('WechatConfig: appid 不能为空')\n }\n if (!options.apiv3Key) {\n throw new Error('WechatConfig: apiv3Key 不能为空')\n }\n if (options.apiv3Key.length !== 32) {\n throw new Error('WechatConfig: apiv3Key 必须为 32 字节字符串')\n }\n }\n}\n"],"mappings":";;;;AAAA,SAAS,iBAAiB;;;ACMnB,IAAM,gBAAN,MAAM,cAAa;AAAA,EAGxB,YAAY,SAA8B;AACxC,SAAK,SAAS,OAAO;AACrB,SAAK,WAAW,EAAE,GAAG,QAAQ;AAAA,EAC/B;AAAA;AAAA,EAGA,IAAI,UAAyC;AAC3C,WAAO,KAAK;AAAA,EACd;AAAA;AAAA,EAGA,IAAI,QAAgB;AAClB,WAAO,KAAK,SAAS;AAAA,EACvB;AAAA;AAAA,EAGA,IAAI,QAAgB;AAClB,WAAO,KAAK,SAAS;AAAA,EACvB;AAAA;AAAA,EAGA,IAAI,SAAiB;AACnB,WAAO,KAAK,SAAS;AAAA,EACvB;AAAA;AAAA,EAGA,IAAI,WAAmB;AACrB,WAAO,KAAK,SAAS;AAAA,EACvB;AAAA;AAAA,EAGA,IAAI,YAAgC;AAClC,WAAO,KAAK,SAAS;AAAA,EACvB;AAAA;AAAA,EAGA,OAAO,OAA2C;AAChD,UAAM,SAAS,EAAE,GAAG,KAAK,UAAU,GAAG,MAAM;AAC5C,SAAK,SAAS,MAAM;AACpB,SAAK,WAAW;AAAA,EAClB;AAAA;AAAA,EAGA,QAAQ,SAAoC;AAC1C,SAAK,SAAS,OAAO;AACrB,SAAK,WAAW,EAAE,GAAG,QAAQ;AAAA,EAC/B;AAAA,EAEQ,SAAS,SAAoC;AACnD,QAAI,CAAC,QAAQ,OAAO;AAClB,YAAM,IAAI,MAAM,8CAA0B;AAAA,IAC5C;AACA,QAAI,CAAC,QAAQ,QAAQ;AACnB,YAAM,IAAI,MAAM,yGAAwC;AAAA,IAC1D;AACA,QAAI,CAAC,QAAQ,YAAY;AACvB,YAAM,IAAI,MAAM,+FAA6C;AAAA,IAC/D;AACA,QAAI,CAAC,QAAQ,SAAS,OAAO,KAAK,QAAQ,KAAK,EAAE,WAAW,GAAG;AAC7D,YAAM,IAAI,MAAM,gJAAiD;AAAA,IACnE;AACA,QAAI,CAAC,QAAQ,OAAO;AAClB,YAAM,IAAI,MAAM,8CAA0B;AAAA,IAC5C;AACA,QAAI,CAAC,QAAQ,UAAU;AACrB,YAAM,IAAI,MAAM,iDAA6B;AAAA,IAC/C;AACA,QAAI,QAAQ,SAAS,WAAW,IAAI;AAClC,YAAM,IAAI,MAAM,6EAAqC;AAAA,IACvD;AAAA,EACF;AACF;AA1E0B;AAAnB,IAAM,eAAN;;;ADiBA,IAAM,gBAAN,MAAM,cAAa;AAAA,EAKxB,YAAY,SAA8B;AAF1C,SAAQ,YAAY;AAGlB,SAAK,SAAS,IAAI,aAAa,OAAO;AACtC,SAAK,OAAO,KAAK,UAAU,OAAO;AAAA,EACpC;AAAA;AAAA,EAGA,IAAI,MAAiB;AACnB,SAAK,aAAa;AAClB,WAAO,KAAK;AAAA,EACd;AAAA;AAAA,EAGA,aAAa,OAA2C;AACtD,SAAK,aAAa;AAClB,SAAK,OAAO,OAAO,KAAK;AACxB,SAAK,OAAO,KAAK,UAAU,KAAK,OAAO,OAA8B;AAAA,EACvE;AAAA;AAAA,EAGA,UAAgB;AACd,SAAK,YAAY;AAChB,IAAC,KAAK,OAAe;AAAA,EACxB;AAAA,EAEQ,UAAU,SAAyC;AACzD,WAAO,IAAI,UAAU;AAAA,MACnB,OAAO,QAAQ;AAAA,MACf,QAAQ,QAAQ;AAAA,MAChB,YAAY,QAAQ;AAAA,MACpB,OAAO,QAAQ;AAAA,MACf,SAAS,QAAQ,WAAW;AAAA,IAC9B,CAAC;AAAA,EACH;AAAA,EAEQ,eAAqB;AAC3B,QAAI,KAAK,WAAW;AAClB,YAAM,IAAI,MAAM,oDAAsB;AAAA,IACxC;AAAA,EACF;AACF;AA5C0B;AAAnB,IAAM,eAAN;","names":[]}
@@ -1,9 +1,30 @@
1
- 'use strict';
2
-
1
+ var __VOBS_CJS_FILE_URL = require("url").pathToFileURL(__filename).href;
2
+ "use strict";
3
3
  var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
4
7
  var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
5
21
 
6
22
  // packages/payment/src/wechat/config.ts
23
+ var config_exports = {};
24
+ __export(config_exports, {
25
+ WechatConfig: () => WechatConfig
26
+ });
27
+ module.exports = __toCommonJS(config_exports);
7
28
  var _WechatConfig = class _WechatConfig {
8
29
  constructor(options) {
9
30
  this.validate(options);
@@ -70,7 +91,8 @@ var _WechatConfig = class _WechatConfig {
70
91
  };
71
92
  __name(_WechatConfig, "WechatConfig");
72
93
  var WechatConfig = _WechatConfig;
73
-
74
- exports.WechatConfig = WechatConfig;
75
- //# sourceMappingURL=config.cjs.map
94
+ // Annotate the CommonJS export names for ESM import in node:
95
+ 0 && (module.exports = {
96
+ WechatConfig
97
+ });
76
98
  //# sourceMappingURL=config.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/wechat/config.ts"],"names":[],"mappings":";;;;;;AAMO,IAAM,aAAA,GAAN,MAAM,aAAA,CAAa;AAAA,EAGxB,YAAY,OAAA,EAA8B;AACxC,IAAA,IAAA,CAAK,SAAS,OAAO,CAAA;AACrB,IAAA,IAAA,CAAK,QAAA,GAAW,EAAE,GAAG,OAAA,EAAQ;AAAA,EAC/B;AAAA;AAAA,EAGA,IAAI,OAAA,GAAyC;AAC3C,IAAA,OAAO,IAAA,CAAK,QAAA;AAAA,EACd;AAAA;AAAA,EAGA,IAAI,KAAA,GAAgB;AAClB,IAAA,OAAO,KAAK,QAAA,CAAS,KAAA;AAAA,EACvB;AAAA;AAAA,EAGA,IAAI,KAAA,GAAgB;AAClB,IAAA,OAAO,KAAK,QAAA,CAAS,KAAA;AAAA,EACvB;AAAA;AAAA,EAGA,IAAI,MAAA,GAAiB;AACnB,IAAA,OAAO,KAAK,QAAA,CAAS,MAAA;AAAA,EACvB;AAAA;AAAA,EAGA,IAAI,QAAA,GAAmB;AACrB,IAAA,OAAO,KAAK,QAAA,CAAS,QAAA;AAAA,EACvB;AAAA;AAAA,EAGA,IAAI,SAAA,GAAgC;AAClC,IAAA,OAAO,KAAK,QAAA,CAAS,SAAA;AAAA,EACvB;AAAA;AAAA,EAGA,OAAO,KAAA,EAA2C;AAChD,IAAA,MAAM,SAAS,EAAE,GAAG,IAAA,CAAK,QAAA,EAAU,GAAG,KAAA,EAAM;AAC5C,IAAA,IAAA,CAAK,SAAS,MAAM,CAAA;AACpB,IAAA,IAAA,CAAK,QAAA,GAAW,MAAA;AAAA,EAClB;AAAA;AAAA,EAGA,QAAQ,OAAA,EAAoC;AAC1C,IAAA,IAAA,CAAK,SAAS,OAAO,CAAA;AACrB,IAAA,IAAA,CAAK,QAAA,GAAW,EAAE,GAAG,OAAA,EAAQ;AAAA,EAC/B;AAAA,EAEQ,SAAS,OAAA,EAAoC;AACnD,IAAA,IAAI,CAAC,QAAQ,KAAA,EAAO;AAClB,MAAA,MAAM,IAAI,MAAM,8CAA0B,CAAA;AAAA,IAC5C;AACA,IAAA,IAAI,CAAC,QAAQ,MAAA,EAAQ;AACnB,MAAA,MAAM,IAAI,MAAM,yGAAwC,CAAA;AAAA,IAC1D;AACA,IAAA,IAAI,CAAC,QAAQ,UAAA,EAAY;AACvB,MAAA,MAAM,IAAI,MAAM,+FAA6C,CAAA;AAAA,IAC/D;AACA,IAAA,IAAI,CAAC,QAAQ,KAAA,IAAS,MAAA,CAAO,KAAK,OAAA,CAAQ,KAAK,CAAA,CAAE,MAAA,KAAW,CAAA,EAAG;AAC7D,MAAA,MAAM,IAAI,MAAM,gJAAiD,CAAA;AAAA,IACnE;AACA,IAAA,IAAI,CAAC,QAAQ,KAAA,EAAO;AAClB,MAAA,MAAM,IAAI,MAAM,8CAA0B,CAAA;AAAA,IAC5C;AACA,IAAA,IAAI,CAAC,QAAQ,QAAA,EAAU;AACrB,MAAA,MAAM,IAAI,MAAM,iDAA6B,CAAA;AAAA,IAC/C;AACA,IAAA,IAAI,OAAA,CAAQ,QAAA,CAAS,MAAA,KAAW,EAAA,EAAI;AAClC,MAAA,MAAM,IAAI,MAAM,6EAAqC,CAAA;AAAA,IACvD;AAAA,EACF;AACF,CAAA;AA1E0B,MAAA,CAAA,aAAA,EAAA,cAAA,CAAA;AAAnB,IAAM,YAAA,GAAN","file":"config.cjs","sourcesContent":["import type { WechatClientOptions } from './types'\n\n/**\n * 微信支付配置管理\n * 遵循 vobs 生命周期管理:可创建、可校验、可更新、可替换\n */\nexport class WechatConfig {\n private _options: WechatClientOptions\n\n constructor(options: WechatClientOptions) {\n this.validate(options)\n this._options = { ...options }\n }\n\n /** 获取完整配置 */\n get options(): Readonly<WechatClientOptions> {\n return this._options\n }\n\n /** 商户号 */\n get mchid(): string {\n return this._options.mchid\n }\n\n /** 应用 ID(公众号 / 小程序 / APP) */\n get appid(): string {\n return this._options.appid\n }\n\n /** 商户 API 证书序列号 */\n get serial(): string {\n return this._options.serial\n }\n\n /** APIv3 密钥(回调解密用) */\n get apiv3Key(): string {\n return this._options.apiv3Key\n }\n\n /** 异步通知地址 */\n get notifyUrl(): string | undefined {\n return this._options.notifyUrl\n }\n\n /** 更新配置(部分更新) */\n update(patch: Partial<WechatClientOptions>): void {\n const merged = { ...this._options, ...patch }\n this.validate(merged)\n this._options = merged\n }\n\n /** 替换配置 */\n replace(options: WechatClientOptions): void {\n this.validate(options)\n this._options = { ...options }\n }\n\n private validate(options: WechatClientOptions): void {\n if (!options.mchid) {\n throw new Error('WechatConfig: mchid 不能为空')\n }\n if (!options.serial) {\n throw new Error('WechatConfig: serial(商户 API 证书序列号)不能为空')\n }\n if (!options.privateKey) {\n throw new Error('WechatConfig: privateKey(商户 API 私钥 PEM)不能为空')\n }\n if (!options.certs || Object.keys(options.certs).length === 0) {\n throw new Error('WechatConfig: certs(平台证书/微信支付公钥 {序列号: PEM})不能为空')\n }\n if (!options.appid) {\n throw new Error('WechatConfig: appid 不能为空')\n }\n if (!options.apiv3Key) {\n throw new Error('WechatConfig: apiv3Key 不能为空')\n }\n if (options.apiv3Key.length !== 32) {\n throw new Error('WechatConfig: apiv3Key 必须为 32 字节字符串')\n }\n }\n}\n"]}
1
+ {"version":3,"sources":["../../src/wechat/config.ts"],"sourcesContent":["import type { WechatClientOptions } from './types'\n\n/**\n * 微信支付配置管理\n * 遵循 vobs 生命周期管理:可创建、可校验、可更新、可替换\n */\nexport class WechatConfig {\n private _options: WechatClientOptions\n\n constructor(options: WechatClientOptions) {\n this.validate(options)\n this._options = { ...options }\n }\n\n /** 获取完整配置 */\n get options(): Readonly<WechatClientOptions> {\n return this._options\n }\n\n /** 商户号 */\n get mchid(): string {\n return this._options.mchid\n }\n\n /** 应用 ID(公众号 / 小程序 / APP) */\n get appid(): string {\n return this._options.appid\n }\n\n /** 商户 API 证书序列号 */\n get serial(): string {\n return this._options.serial\n }\n\n /** APIv3 密钥(回调解密用) */\n get apiv3Key(): string {\n return this._options.apiv3Key\n }\n\n /** 异步通知地址 */\n get notifyUrl(): string | undefined {\n return this._options.notifyUrl\n }\n\n /** 更新配置(部分更新) */\n update(patch: Partial<WechatClientOptions>): void {\n const merged = { ...this._options, ...patch }\n this.validate(merged)\n this._options = merged\n }\n\n /** 替换配置 */\n replace(options: WechatClientOptions): void {\n this.validate(options)\n this._options = { ...options }\n }\n\n private validate(options: WechatClientOptions): void {\n if (!options.mchid) {\n throw new Error('WechatConfig: mchid 不能为空')\n }\n if (!options.serial) {\n throw new Error('WechatConfig: serial(商户 API 证书序列号)不能为空')\n }\n if (!options.privateKey) {\n throw new Error('WechatConfig: privateKey(商户 API 私钥 PEM)不能为空')\n }\n if (!options.certs || Object.keys(options.certs).length === 0) {\n throw new Error('WechatConfig: certs(平台证书/微信支付公钥 {序列号: PEM})不能为空')\n }\n if (!options.appid) {\n throw new Error('WechatConfig: appid 不能为空')\n }\n if (!options.apiv3Key) {\n throw new Error('WechatConfig: apiv3Key 不能为空')\n }\n if (options.apiv3Key.length !== 32) {\n throw new Error('WechatConfig: apiv3Key 必须为 32 字节字符串')\n }\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMO,IAAM,gBAAN,MAAM,cAAa;AAAA,EAGxB,YAAY,SAA8B;AACxC,SAAK,SAAS,OAAO;AACrB,SAAK,WAAW,EAAE,GAAG,QAAQ;AAAA,EAC/B;AAAA;AAAA,EAGA,IAAI,UAAyC;AAC3C,WAAO,KAAK;AAAA,EACd;AAAA;AAAA,EAGA,IAAI,QAAgB;AAClB,WAAO,KAAK,SAAS;AAAA,EACvB;AAAA;AAAA,EAGA,IAAI,QAAgB;AAClB,WAAO,KAAK,SAAS;AAAA,EACvB;AAAA;AAAA,EAGA,IAAI,SAAiB;AACnB,WAAO,KAAK,SAAS;AAAA,EACvB;AAAA;AAAA,EAGA,IAAI,WAAmB;AACrB,WAAO,KAAK,SAAS;AAAA,EACvB;AAAA;AAAA,EAGA,IAAI,YAAgC;AAClC,WAAO,KAAK,SAAS;AAAA,EACvB;AAAA;AAAA,EAGA,OAAO,OAA2C;AAChD,UAAM,SAAS,EAAE,GAAG,KAAK,UAAU,GAAG,MAAM;AAC5C,SAAK,SAAS,MAAM;AACpB,SAAK,WAAW;AAAA,EAClB;AAAA;AAAA,EAGA,QAAQ,SAAoC;AAC1C,SAAK,SAAS,OAAO;AACrB,SAAK,WAAW,EAAE,GAAG,QAAQ;AAAA,EAC/B;AAAA,EAEQ,SAAS,SAAoC;AACnD,QAAI,CAAC,QAAQ,OAAO;AAClB,YAAM,IAAI,MAAM,8CAA0B;AAAA,IAC5C;AACA,QAAI,CAAC,QAAQ,QAAQ;AACnB,YAAM,IAAI,MAAM,yGAAwC;AAAA,IAC1D;AACA,QAAI,CAAC,QAAQ,YAAY;AACvB,YAAM,IAAI,MAAM,+FAA6C;AAAA,IAC/D;AACA,QAAI,CAAC,QAAQ,SAAS,OAAO,KAAK,QAAQ,KAAK,EAAE,WAAW,GAAG;AAC7D,YAAM,IAAI,MAAM,gJAAiD;AAAA,IACnE;AACA,QAAI,CAAC,QAAQ,OAAO;AAClB,YAAM,IAAI,MAAM,8CAA0B;AAAA,IAC5C;AACA,QAAI,CAAC,QAAQ,UAAU;AACrB,YAAM,IAAI,MAAM,iDAA6B;AAAA,IAC/C;AACA,QAAI,QAAQ,SAAS,WAAW,IAAI;AAClC,YAAM,IAAI,MAAM,6EAAqC;AAAA,IACvD;AAAA,EACF;AACF;AA1E0B;AAAnB,IAAM,eAAN;","names":[]}
@@ -68,7 +68,7 @@ var _WechatConfig = class _WechatConfig {
68
68
  };
69
69
  __name(_WechatConfig, "WechatConfig");
70
70
  var WechatConfig = _WechatConfig;
71
-
72
- export { WechatConfig };
73
- //# sourceMappingURL=config.js.map
71
+ export {
72
+ WechatConfig
73
+ };
74
74
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/wechat/config.ts"],"names":[],"mappings":";;;;AAMO,IAAM,aAAA,GAAN,MAAM,aAAA,CAAa;AAAA,EAGxB,YAAY,OAAA,EAA8B;AACxC,IAAA,IAAA,CAAK,SAAS,OAAO,CAAA;AACrB,IAAA,IAAA,CAAK,QAAA,GAAW,EAAE,GAAG,OAAA,EAAQ;AAAA,EAC/B;AAAA;AAAA,EAGA,IAAI,OAAA,GAAyC;AAC3C,IAAA,OAAO,IAAA,CAAK,QAAA;AAAA,EACd;AAAA;AAAA,EAGA,IAAI,KAAA,GAAgB;AAClB,IAAA,OAAO,KAAK,QAAA,CAAS,KAAA;AAAA,EACvB;AAAA;AAAA,EAGA,IAAI,KAAA,GAAgB;AAClB,IAAA,OAAO,KAAK,QAAA,CAAS,KAAA;AAAA,EACvB;AAAA;AAAA,EAGA,IAAI,MAAA,GAAiB;AACnB,IAAA,OAAO,KAAK,QAAA,CAAS,MAAA;AAAA,EACvB;AAAA;AAAA,EAGA,IAAI,QAAA,GAAmB;AACrB,IAAA,OAAO,KAAK,QAAA,CAAS,QAAA;AAAA,EACvB;AAAA;AAAA,EAGA,IAAI,SAAA,GAAgC;AAClC,IAAA,OAAO,KAAK,QAAA,CAAS,SAAA;AAAA,EACvB;AAAA;AAAA,EAGA,OAAO,KAAA,EAA2C;AAChD,IAAA,MAAM,SAAS,EAAE,GAAG,IAAA,CAAK,QAAA,EAAU,GAAG,KAAA,EAAM;AAC5C,IAAA,IAAA,CAAK,SAAS,MAAM,CAAA;AACpB,IAAA,IAAA,CAAK,QAAA,GAAW,MAAA;AAAA,EAClB;AAAA;AAAA,EAGA,QAAQ,OAAA,EAAoC;AAC1C,IAAA,IAAA,CAAK,SAAS,OAAO,CAAA;AACrB,IAAA,IAAA,CAAK,QAAA,GAAW,EAAE,GAAG,OAAA,EAAQ;AAAA,EAC/B;AAAA,EAEQ,SAAS,OAAA,EAAoC;AACnD,IAAA,IAAI,CAAC,QAAQ,KAAA,EAAO;AAClB,MAAA,MAAM,IAAI,MAAM,8CAA0B,CAAA;AAAA,IAC5C;AACA,IAAA,IAAI,CAAC,QAAQ,MAAA,EAAQ;AACnB,MAAA,MAAM,IAAI,MAAM,yGAAwC,CAAA;AAAA,IAC1D;AACA,IAAA,IAAI,CAAC,QAAQ,UAAA,EAAY;AACvB,MAAA,MAAM,IAAI,MAAM,+FAA6C,CAAA;AAAA,IAC/D;AACA,IAAA,IAAI,CAAC,QAAQ,KAAA,IAAS,MAAA,CAAO,KAAK,OAAA,CAAQ,KAAK,CAAA,CAAE,MAAA,KAAW,CAAA,EAAG;AAC7D,MAAA,MAAM,IAAI,MAAM,gJAAiD,CAAA;AAAA,IACnE;AACA,IAAA,IAAI,CAAC,QAAQ,KAAA,EAAO;AAClB,MAAA,MAAM,IAAI,MAAM,8CAA0B,CAAA;AAAA,IAC5C;AACA,IAAA,IAAI,CAAC,QAAQ,QAAA,EAAU;AACrB,MAAA,MAAM,IAAI,MAAM,iDAA6B,CAAA;AAAA,IAC/C;AACA,IAAA,IAAI,OAAA,CAAQ,QAAA,CAAS,MAAA,KAAW,EAAA,EAAI;AAClC,MAAA,MAAM,IAAI,MAAM,6EAAqC,CAAA;AAAA,IACvD;AAAA,EACF;AACF,CAAA;AA1E0B,MAAA,CAAA,aAAA,EAAA,cAAA,CAAA;AAAnB,IAAM,YAAA,GAAN","file":"config.js","sourcesContent":["import type { WechatClientOptions } from './types'\n\n/**\n * 微信支付配置管理\n * 遵循 vobs 生命周期管理:可创建、可校验、可更新、可替换\n */\nexport class WechatConfig {\n private _options: WechatClientOptions\n\n constructor(options: WechatClientOptions) {\n this.validate(options)\n this._options = { ...options }\n }\n\n /** 获取完整配置 */\n get options(): Readonly<WechatClientOptions> {\n return this._options\n }\n\n /** 商户号 */\n get mchid(): string {\n return this._options.mchid\n }\n\n /** 应用 ID(公众号 / 小程序 / APP) */\n get appid(): string {\n return this._options.appid\n }\n\n /** 商户 API 证书序列号 */\n get serial(): string {\n return this._options.serial\n }\n\n /** APIv3 密钥(回调解密用) */\n get apiv3Key(): string {\n return this._options.apiv3Key\n }\n\n /** 异步通知地址 */\n get notifyUrl(): string | undefined {\n return this._options.notifyUrl\n }\n\n /** 更新配置(部分更新) */\n update(patch: Partial<WechatClientOptions>): void {\n const merged = { ...this._options, ...patch }\n this.validate(merged)\n this._options = merged\n }\n\n /** 替换配置 */\n replace(options: WechatClientOptions): void {\n this.validate(options)\n this._options = { ...options }\n }\n\n private validate(options: WechatClientOptions): void {\n if (!options.mchid) {\n throw new Error('WechatConfig: mchid 不能为空')\n }\n if (!options.serial) {\n throw new Error('WechatConfig: serial(商户 API 证书序列号)不能为空')\n }\n if (!options.privateKey) {\n throw new Error('WechatConfig: privateKey(商户 API 私钥 PEM)不能为空')\n }\n if (!options.certs || Object.keys(options.certs).length === 0) {\n throw new Error('WechatConfig: certs(平台证书/微信支付公钥 {序列号: PEM})不能为空')\n }\n if (!options.appid) {\n throw new Error('WechatConfig: appid 不能为空')\n }\n if (!options.apiv3Key) {\n throw new Error('WechatConfig: apiv3Key 不能为空')\n }\n if (options.apiv3Key.length !== 32) {\n throw new Error('WechatConfig: apiv3Key 必须为 32 字节字符串')\n }\n }\n}\n"]}
1
+ {"version":3,"sources":["../../src/wechat/config.ts"],"sourcesContent":["import type { WechatClientOptions } from './types'\n\n/**\n * 微信支付配置管理\n * 遵循 vobs 生命周期管理:可创建、可校验、可更新、可替换\n */\nexport class WechatConfig {\n private _options: WechatClientOptions\n\n constructor(options: WechatClientOptions) {\n this.validate(options)\n this._options = { ...options }\n }\n\n /** 获取完整配置 */\n get options(): Readonly<WechatClientOptions> {\n return this._options\n }\n\n /** 商户号 */\n get mchid(): string {\n return this._options.mchid\n }\n\n /** 应用 ID(公众号 / 小程序 / APP) */\n get appid(): string {\n return this._options.appid\n }\n\n /** 商户 API 证书序列号 */\n get serial(): string {\n return this._options.serial\n }\n\n /** APIv3 密钥(回调解密用) */\n get apiv3Key(): string {\n return this._options.apiv3Key\n }\n\n /** 异步通知地址 */\n get notifyUrl(): string | undefined {\n return this._options.notifyUrl\n }\n\n /** 更新配置(部分更新) */\n update(patch: Partial<WechatClientOptions>): void {\n const merged = { ...this._options, ...patch }\n this.validate(merged)\n this._options = merged\n }\n\n /** 替换配置 */\n replace(options: WechatClientOptions): void {\n this.validate(options)\n this._options = { ...options }\n }\n\n private validate(options: WechatClientOptions): void {\n if (!options.mchid) {\n throw new Error('WechatConfig: mchid 不能为空')\n }\n if (!options.serial) {\n throw new Error('WechatConfig: serial(商户 API 证书序列号)不能为空')\n }\n if (!options.privateKey) {\n throw new Error('WechatConfig: privateKey(商户 API 私钥 PEM)不能为空')\n }\n if (!options.certs || Object.keys(options.certs).length === 0) {\n throw new Error('WechatConfig: certs(平台证书/微信支付公钥 {序列号: PEM})不能为空')\n }\n if (!options.appid) {\n throw new Error('WechatConfig: appid 不能为空')\n }\n if (!options.apiv3Key) {\n throw new Error('WechatConfig: apiv3Key 不能为空')\n }\n if (options.apiv3Key.length !== 32) {\n throw new Error('WechatConfig: apiv3Key 必须为 32 字节字符串')\n }\n }\n}\n"],"mappings":";;;;AAMO,IAAM,gBAAN,MAAM,cAAa;AAAA,EAGxB,YAAY,SAA8B;AACxC,SAAK,SAAS,OAAO;AACrB,SAAK,WAAW,EAAE,GAAG,QAAQ;AAAA,EAC/B;AAAA;AAAA,EAGA,IAAI,UAAyC;AAC3C,WAAO,KAAK;AAAA,EACd;AAAA;AAAA,EAGA,IAAI,QAAgB;AAClB,WAAO,KAAK,SAAS;AAAA,EACvB;AAAA;AAAA,EAGA,IAAI,QAAgB;AAClB,WAAO,KAAK,SAAS;AAAA,EACvB;AAAA;AAAA,EAGA,IAAI,SAAiB;AACnB,WAAO,KAAK,SAAS;AAAA,EACvB;AAAA;AAAA,EAGA,IAAI,WAAmB;AACrB,WAAO,KAAK,SAAS;AAAA,EACvB;AAAA;AAAA,EAGA,IAAI,YAAgC;AAClC,WAAO,KAAK,SAAS;AAAA,EACvB;AAAA;AAAA,EAGA,OAAO,OAA2C;AAChD,UAAM,SAAS,EAAE,GAAG,KAAK,UAAU,GAAG,MAAM;AAC5C,SAAK,SAAS,MAAM;AACpB,SAAK,WAAW;AAAA,EAClB;AAAA;AAAA,EAGA,QAAQ,SAAoC;AAC1C,SAAK,SAAS,OAAO;AACrB,SAAK,WAAW,EAAE,GAAG,QAAQ;AAAA,EAC/B;AAAA,EAEQ,SAAS,SAAoC;AACnD,QAAI,CAAC,QAAQ,OAAO;AAClB,YAAM,IAAI,MAAM,8CAA0B;AAAA,IAC5C;AACA,QAAI,CAAC,QAAQ,QAAQ;AACnB,YAAM,IAAI,MAAM,yGAAwC;AAAA,IAC1D;AACA,QAAI,CAAC,QAAQ,YAAY;AACvB,YAAM,IAAI,MAAM,+FAA6C;AAAA,IAC/D;AACA,QAAI,CAAC,QAAQ,SAAS,OAAO,KAAK,QAAQ,KAAK,EAAE,WAAW,GAAG;AAC7D,YAAM,IAAI,MAAM,gJAAiD;AAAA,IACnE;AACA,QAAI,CAAC,QAAQ,OAAO;AAClB,YAAM,IAAI,MAAM,8CAA0B;AAAA,IAC5C;AACA,QAAI,CAAC,QAAQ,UAAU;AACrB,YAAM,IAAI,MAAM,iDAA6B;AAAA,IAC/C;AACA,QAAI,QAAQ,SAAS,WAAW,IAAI;AAClC,YAAM,IAAI,MAAM,6EAAqC;AAAA,IACvD;AAAA,EACF;AACF;AA1E0B;AAAnB,IAAM,eAAN;","names":[]}
@@ -1,9 +1,41 @@
1
- 'use strict';
2
-
3
- var wechatpayAxiosPlugin = require('wechatpay-axios-plugin');
4
-
1
+ var __VOBS_CJS_FILE_URL = require("url").pathToFileURL(__filename).href;
2
+ "use strict";
5
3
  var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
7
  var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
21
+
22
+ // packages/payment/src/wechat/index.ts
23
+ var wechat_exports = {};
24
+ __export(wechat_exports, {
25
+ WECHAT_KEY: () => WECHAT_KEY,
26
+ WechatApiError: () => WechatApiError,
27
+ WechatClient: () => WechatClient,
28
+ WechatConfig: () => WechatConfig,
29
+ createNotifyHandler: () => createNotifyHandler,
30
+ createPayment: () => createPayment,
31
+ createRefund: () => createRefund,
32
+ useWechat: () => useWechat,
33
+ wechatPlugin: () => wechatPlugin
34
+ });
35
+ module.exports = __toCommonJS(wechat_exports);
36
+
37
+ // packages/payment/src/wechat/client.ts
38
+ var import_wechatpay_axios_plugin = require("wechatpay-axios-plugin");
7
39
 
8
40
  // packages/payment/src/wechat/config.ts
9
41
  var _WechatConfig = class _WechatConfig {
@@ -97,7 +129,7 @@ var _WechatClient = class _WechatClient {
97
129
  this._sdk = null;
98
130
  }
99
131
  createSdk(options) {
100
- return new wechatpayAxiosPlugin.Wechatpay({
132
+ return new import_wechatpay_axios_plugin.Wechatpay({
101
133
  mchid: options.mchid,
102
134
  serial: options.serial,
103
135
  privateKey: options.privateKey,
@@ -153,6 +185,9 @@ async function unwrapV3(promise) {
153
185
  }
154
186
  }
155
187
  __name(unwrapV3, "unwrapV3");
188
+
189
+ // packages/payment/src/wechat/payment.ts
190
+ var import_wechatpay_axios_plugin2 = require("wechatpay-axios-plugin");
156
191
  function createPayment(client) {
157
192
  return {
158
193
  /**
@@ -258,15 +293,15 @@ function buildInvokeParams(client, prepayId) {
258
293
  throw new Error("WechatClient: \u4E0B\u5355\u54CD\u5E94\u7F3A\u5C11 prepay_id");
259
294
  }
260
295
  const appId = client.config.appid;
261
- const timeStamp = `${wechatpayAxiosPlugin.Formatter.timestamp()}`;
262
- const nonceStr = wechatpayAxiosPlugin.Formatter.nonce(32);
296
+ const timeStamp = `${import_wechatpay_axios_plugin2.Formatter.timestamp()}`;
297
+ const nonceStr = import_wechatpay_axios_plugin2.Formatter.nonce(32);
263
298
  const pkg = `prepay_id=${prepayId}`;
264
299
  const message = `${appId}
265
300
  ${timeStamp}
266
301
  ${nonceStr}
267
302
  ${pkg}
268
303
  `;
269
- const paySign = wechatpayAxiosPlugin.Rsa.sign(message, client.config.options.privateKey);
304
+ const paySign = import_wechatpay_axios_plugin2.Rsa.sign(message, client.config.options.privateKey);
270
305
  return { appId, timeStamp, nonceStr, package: pkg, signType: "RSA", paySign };
271
306
  }
272
307
  __name(buildInvokeParams, "buildInvokeParams");
@@ -287,6 +322,9 @@ function mapTransaction(data) {
287
322
  };
288
323
  }
289
324
  __name(mapTransaction, "mapTransaction");
325
+
326
+ // packages/payment/src/wechat/notify.ts
327
+ var import_wechatpay_axios_plugin3 = require("wechatpay-axios-plugin");
290
328
  function createNotifyHandler(client) {
291
329
  return {
292
330
  /**
@@ -301,8 +339,8 @@ function createNotifyHandler(client) {
301
339
  return false;
302
340
  }
303
341
  try {
304
- const message = wechatpayAxiosPlugin.Formatter.response(headers.timestamp, headers.nonce, body);
305
- return wechatpayAxiosPlugin.Rsa.verify(message, headers.signature, publicKey);
342
+ const message = import_wechatpay_axios_plugin3.Formatter.response(headers.timestamp, headers.nonce, body);
343
+ return import_wechatpay_axios_plugin3.Rsa.verify(message, headers.signature, publicKey);
306
344
  } catch {
307
345
  return false;
308
346
  }
@@ -312,7 +350,7 @@ function createNotifyHandler(client) {
312
350
  * @param resource 回调 JSON 中的 resource 字段
313
351
  */
314
352
  decrypt(resource) {
315
- const plaintext = wechatpayAxiosPlugin.Aes.AesGcm.decrypt(
353
+ const plaintext = import_wechatpay_axios_plugin3.Aes.AesGcm.decrypt(
316
354
  resource.ciphertext,
317
355
  client.config.apiv3Key,
318
356
  resource.nonce,
@@ -415,167 +453,11 @@ function mapRefund(data) {
415
453
  }
416
454
  __name(mapRefund, "mapRefund");
417
455
 
418
- // packages/reactivity/src/debug.ts
419
- var activeDebugHooks = null;
420
- function hasDebugHooks() {
421
- return activeDebugHooks !== null;
422
- }
423
- __name(hasDebugHooks, "hasDebugHooks");
424
- function invokeDebug(name, ...args) {
425
- return;
426
- }
427
- __name(invokeDebug, "invokeDebug");
428
-
429
- // packages/reactivity/src/owner.ts
430
- var currentOwner = null;
431
- function getCurrentOwner() {
432
- return currentOwner;
433
- }
434
- __name(getCurrentOwner, "getCurrentOwner");
435
-
436
- // packages/reactivity/src/scheduler.ts
437
- var _Scheduler = class _Scheduler {
438
- constructor() {
439
- this.dirtyEffects = /* @__PURE__ */ new Set();
440
- this.lowPriorityEffects = /* @__PURE__ */ new Set();
441
- // flush 不可重入(flushing 标志保证),缓冲数组可在轮次间安全复用,避免每轮分配。
442
- this.normalBuffer = [];
443
- this.lowBuffer = [];
444
- this.flushing = false;
445
- this.scheduled = false;
446
- this.batchDepth = 0;
447
- }
448
- schedule(effect2) {
449
- if (effect2.disposed) return;
450
- this.dirtyEffects.add(effect2);
451
- this.lowPriorityEffects.delete(effect2);
452
- this.ensureScheduled();
453
- }
454
- /** Queue an effect behind normal updates while preserving deterministic order. */
455
- scheduleLow(effect2) {
456
- if (effect2.disposed) return;
457
- if (!this.dirtyEffects.has(effect2)) this.lowPriorityEffects.add(effect2);
458
- this.ensureScheduled();
459
- }
460
- ensureScheduled() {
461
- if (this.batchDepth === 0 && !this.flushing && !this.scheduled) {
462
- this.scheduled = true;
463
- queueMicrotask(() => {
464
- this.scheduled = false;
465
- this.flush();
466
- });
467
- }
468
- }
469
- remove(effect2) {
470
- this.dirtyEffects.delete(effect2);
471
- this.lowPriorityEffects.delete(effect2);
472
- }
473
- batch(fn) {
474
- this.batchDepth++;
475
- try {
476
- return fn();
477
- } finally {
478
- this.batchDepth--;
479
- if (this.batchDepth === 0) this.flush();
480
- }
481
- }
482
- flush() {
483
- if (this.flushing || this.batchDepth > 0) return;
484
- this.flushing = true;
485
- let rounds = 0;
486
- let firstError;
487
- let hasError = false;
488
- try {
489
- while (this.dirtyEffects.size > 0 || this.lowPriorityEffects.size > 0) {
490
- if (++rounds > 100) {
491
- this.dirtyEffects.clear();
492
- this.lowPriorityEffects.clear();
493
- throw new Error("Vobs: \u54CD\u5E94\u5F0F\u66F4\u65B0\u8D85\u8FC7 100 \u8F6E\uFF0C\u53EF\u80FD\u5B58\u5728\u5FAA\u73AF\u4F9D\u8D56");
494
- }
495
- this.collectRunnable(this.dirtyEffects, this.normalBuffer);
496
- this.collectRunnable(this.lowPriorityEffects, this.lowBuffer);
497
- sortEffects(this.normalBuffer);
498
- sortEffects(this.lowBuffer);
499
- for (const effect2 of this.normalBuffer) {
500
- try {
501
- effect2.run();
502
- } catch (error) {
503
- if (!hasError) {
504
- firstError = error;
505
- hasError = true;
506
- }
507
- }
508
- }
509
- for (const effect2 of this.lowBuffer) {
510
- try {
511
- effect2.run();
512
- } catch (error) {
513
- if (!hasError) {
514
- firstError = error;
515
- hasError = true;
516
- }
517
- }
518
- }
519
- this.normalBuffer.length = 0;
520
- this.lowBuffer.length = 0;
521
- }
522
- } finally {
523
- this.normalBuffer.length = 0;
524
- this.lowBuffer.length = 0;
525
- this.flushing = false;
526
- }
527
- if (hasError) throw firstError;
528
- }
529
- /** 收集未 disposed 的 effect 并清空源集合;run() 期间新调度的 effect 留给下一轮。 */
530
- collectRunnable(source, target) {
531
- for (const effect2 of source) {
532
- if (!effect2.disposed) target.push(effect2);
533
- }
534
- source.clear();
535
- }
536
- };
537
- __name(_Scheduler, "Scheduler");
538
- function sortEffects(effects) {
539
- if (effects.length > 1) {
540
- effects.sort((a, b) => b.depth - a.depth || a.order - b.order);
541
- }
542
- }
543
- __name(sortEffects, "sortEffects");
544
-
545
- // packages/runtime/src/hmr.ts
546
- var globalTarget = globalThis;
547
- var hmrGlobal = globalTarget.__VOBS_HMR__ ?? { modules: /* @__PURE__ */ new Map() };
548
- globalTarget.__VOBS_HMR__ = hmrGlobal;
549
-
550
- // packages/vobs/src/context.ts
551
- var ownerProviders = /* @__PURE__ */ new WeakMap();
552
- function inject(key, fallback) {
553
- const owner = getCurrentOwner();
554
- const value = owner ? injectFromOwner(owner, key) : void 0;
555
- return value === void 0 ? fallback : value;
556
- }
557
- __name(inject, "inject");
558
- function injectFromOwner(owner, key) {
559
- let current = owner;
560
- while (current) {
561
- const providers = ownerProviders.get(current);
562
- if (providers?.has(key)) return providers.get(key);
563
- current = current.parent;
564
- }
565
- return void 0;
566
- }
567
- __name(injectFromOwner, "injectFromOwner");
568
-
569
- // packages/vobs/src/app.ts
570
- function createInjectionKey(description) {
571
- return Symbol(description);
572
- }
573
- __name(createInjectionKey, "createInjectionKey");
574
-
575
456
  // packages/payment/src/wechat/plugin.ts
576
- var WECHAT_KEY = createInjectionKey("vobs.payment.wechat");
457
+ var import_vobs = require("@vobs/vobs");
458
+ var WECHAT_KEY = (0, import_vobs.createInjectionKey)("vobs.payment.wechat");
577
459
  function useWechat() {
578
- const client = inject(WECHAT_KEY);
460
+ const client = (0, import_vobs.inject)(WECHAT_KEY);
579
461
  if (!client) {
580
462
  throw new Error("Vobs Payment: \u627E\u4E0D\u5230 WechatClient\uFF0C\u8BF7\u5B89\u88C5 wechatPlugin");
581
463
  }
@@ -598,15 +480,16 @@ function wechatPlugin(options) {
598
480
  };
599
481
  }
600
482
  __name(wechatPlugin, "wechatPlugin");
601
-
602
- exports.WECHAT_KEY = WECHAT_KEY;
603
- exports.WechatApiError = WechatApiError;
604
- exports.WechatClient = WechatClient;
605
- exports.WechatConfig = WechatConfig;
606
- exports.createNotifyHandler = createNotifyHandler;
607
- exports.createPayment = createPayment;
608
- exports.createRefund = createRefund;
609
- exports.useWechat = useWechat;
610
- exports.wechatPlugin = wechatPlugin;
611
- //# sourceMappingURL=index.cjs.map
483
+ // Annotate the CommonJS export names for ESM import in node:
484
+ 0 && (module.exports = {
485
+ WECHAT_KEY,
486
+ WechatApiError,
487
+ WechatClient,
488
+ WechatConfig,
489
+ createNotifyHandler,
490
+ createPayment,
491
+ createRefund,
492
+ useWechat,
493
+ wechatPlugin
494
+ });
612
495
  //# sourceMappingURL=index.cjs.map