@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.
- package/dist/alipay/client.cjs +31 -8
- package/dist/alipay/client.cjs.map +1 -1
- package/dist/alipay/client.js +6 -5
- package/dist/alipay/client.js.map +1 -1
- package/dist/alipay/config.cjs +27 -5
- package/dist/alipay/config.cjs.map +1 -1
- package/dist/alipay/config.js +3 -3
- package/dist/alipay/config.js.map +1 -1
- package/dist/alipay/index.cjs +56 -177
- package/dist/alipay/index.cjs.map +1 -1
- package/dist/alipay/index.js +17 -162
- package/dist/alipay/index.js.map +1 -1
- package/dist/alipay/notify.cjs +27 -5
- package/dist/alipay/notify.cjs.map +1 -1
- package/dist/alipay/notify.js +3 -3
- package/dist/alipay/notify.js.map +1 -1
- package/dist/alipay/payment.cjs +27 -5
- package/dist/alipay/payment.cjs.map +1 -1
- package/dist/alipay/payment.js +3 -3
- package/dist/alipay/payment.js.map +1 -1
- package/dist/alipay/plugin.cjs +36 -165
- package/dist/alipay/plugin.cjs.map +1 -1
- package/dist/alipay/plugin.js +9 -160
- package/dist/alipay/plugin.js.map +1 -1
- package/dist/alipay/query.cjs +29 -5
- package/dist/alipay/query.cjs.map +1 -1
- package/dist/alipay/query.js +3 -3
- package/dist/alipay/query.js.map +1 -1
- package/dist/alipay/refund.cjs +29 -5
- package/dist/alipay/refund.cjs.map +1 -1
- package/dist/alipay/refund.js +3 -3
- package/dist/alipay/refund.js.map +1 -1
- package/dist/alipay/response.cjs +29 -6
- package/dist/alipay/response.cjs.map +1 -1
- package/dist/alipay/response.js +4 -3
- package/dist/alipay/response.js.map +1 -1
- package/dist/alipay/types.cjs +18 -2
- package/dist/alipay/types.cjs.map +1 -1
- package/dist/alipay/types.js +0 -2
- package/dist/alipay/types.js.map +1 -1
- package/dist/alipay/wap.cjs +27 -5
- package/dist/alipay/wap.cjs.map +1 -1
- package/dist/alipay/wap.js +3 -3
- package/dist/alipay/wap.js.map +1 -1
- package/dist/index.cjs +85 -194
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +38 -167
- package/dist/index.js.map +1 -1
- package/dist/wechat/client.cjs +31 -8
- package/dist/wechat/client.cjs.map +1 -1
- package/dist/wechat/client.js +6 -5
- package/dist/wechat/client.js.map +1 -1
- package/dist/wechat/config.cjs +27 -5
- package/dist/wechat/config.cjs.map +1 -1
- package/dist/wechat/config.js +3 -3
- package/dist/wechat/config.js.map +1 -1
- package/dist/wechat/index.cjs +64 -181
- package/dist/wechat/index.cjs.map +1 -1
- package/dist/wechat/index.js +23 -164
- package/dist/wechat/index.js.map +1 -1
- package/dist/wechat/notify.cjs +33 -10
- package/dist/wechat/notify.cjs.map +1 -1
- package/dist/wechat/notify.js +6 -5
- package/dist/wechat/notify.js.map +1 -1
- package/dist/wechat/payment.cjs +33 -10
- package/dist/wechat/payment.cjs.map +1 -1
- package/dist/wechat/payment.js +6 -5
- package/dist/wechat/payment.js.map +1 -1
- package/dist/wechat/plugin.cjs +36 -165
- package/dist/wechat/plugin.cjs.map +1 -1
- package/dist/wechat/plugin.js +9 -160
- package/dist/wechat/plugin.js.map +1 -1
- package/dist/wechat/refund.cjs +29 -5
- package/dist/wechat/refund.cjs.map +1 -1
- package/dist/wechat/refund.js +3 -3
- package/dist/wechat/refund.js.map +1 -1
- package/dist/wechat/response.cjs +31 -7
- package/dist/wechat/response.cjs.map +1 -1
- package/dist/wechat/response.js +5 -3
- package/dist/wechat/response.js.map +1 -1
- package/dist/wechat/types.cjs +18 -2
- package/dist/wechat/types.cjs.map +1 -1
- package/dist/wechat/types.js +0 -2
- package/dist/wechat/types.js.map +1 -1
- package/package.json +2 -2
package/dist/wechat/client.cjs
CHANGED
|
@@ -1,9 +1,31 @@
|
|
|
1
|
-
|
|
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
|
|
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
|
|
118
|
-
|
|
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/
|
|
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":[]}
|
package/dist/wechat/client.js
CHANGED
|
@@ -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
|
-
|
|
116
|
-
|
|
115
|
+
export {
|
|
116
|
+
WechatClient
|
|
117
|
+
};
|
|
117
118
|
//# sourceMappingURL=client.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/wechat/
|
|
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":[]}
|
package/dist/wechat/config.cjs
CHANGED
|
@@ -1,9 +1,30 @@
|
|
|
1
|
-
|
|
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
|
|
75
|
-
|
|
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"],"
|
|
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":[]}
|
package/dist/wechat/config.js
CHANGED
|
@@ -68,7 +68,7 @@ var _WechatConfig = class _WechatConfig {
|
|
|
68
68
|
};
|
|
69
69
|
__name(_WechatConfig, "WechatConfig");
|
|
70
70
|
var WechatConfig = _WechatConfig;
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
71
|
+
export {
|
|
72
|
+
WechatConfig
|
|
73
|
+
};
|
|
74
74
|
//# sourceMappingURL=config.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/wechat/config.ts"],"
|
|
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":[]}
|
package/dist/wechat/index.cjs
CHANGED
|
@@ -1,9 +1,41 @@
|
|
|
1
|
-
|
|
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
|
|
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 = `${
|
|
262
|
-
const nonceStr =
|
|
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 =
|
|
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 =
|
|
305
|
-
return
|
|
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 =
|
|
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
|
|
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
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
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
|