From 0b28b6c3404f6879bdc1875fa265940db3eb3c98 Mon Sep 17 00:00:00 2001 From: "wxs@sj" Date: Mon, 16 Dec 2019 16:51:40 +0800 Subject: [PATCH 1/2] add d.ts --- index.d.ts | 529 +++++++++++++++++++++++++++++++++++++++++++++++++++ package.json | 1 + 2 files changed, 530 insertions(+) create mode 100644 index.d.ts diff --git a/index.d.ts b/index.d.ts new file mode 100644 index 0000000..6599882 --- /dev/null +++ b/index.d.ts @@ -0,0 +1,529 @@ +/** Declaration file generated by dts-gen */ + +export class Card { + constructor(...args: any[]); + + decryptCardCode(...args: any[]): void; + + getApiTicket(...args: any[]): void; + + getApiTicketRemotely(...args: any[]): void; + + getCardExt(...args: any[]): void; + + getCardSignature(...args: any[]): void; + + getGlobalToken(...args: any[]): void; + + sendDecodeRequest(...args: any[]): void; + + static CARD_TYPE: { + CASH: string; + DISCOUNT: string; + GENERAL_COUPON: string; + GIFT: string; + GROUPON: string; + }; + + static CODE_TYPE: { + CODE_TYPE_BARCODE: string; + CODE_TYPE_NONE: string; + CODE_TYPE_ONLY_QRCODE: string; + CODE_TYPE_QRCODE: string; + CODE_TYPE_TEXT: string; + }; + +} + +export class FileStore { + constructor(...args: any[]); + + destroy(...args: any[]): void; + + flush(...args: any[]): void; + + initFileStore(...args: any[]): void; + + static StoreEvents: { + DESTROY: string; + DESTROYED: string; + FLUSH_STORE: string; + STORE_FLUSHED: string; + }; + + static defaultMaxListeners: number; + + static init(): void; + + static listenerCount(emitter: any, type: any): any; + + static once(emitter: any, name: any): any; + + static usingDomains: boolean; + +} + +export class JSSDK { + constructor(...args: any[]); + + createSignature(...args: any[]): void; + + filterSignature(...args: any[]): void; + + getAccessToken(...args: any[]): void; + + getCachedSignature(...args: any[]): void; + + getGlobalTokenAndTicket(...args: any[]): void; + + getJsApiTicket(...args: any[]): void; + + getSignature(...args: any[]): void; + + prepareGlobalToken(...args: any[]): void; + + saveSignature(...args: any[]): void; + + updateAccessTokenOrTicketGlobally(...args: any[]): void; + + updateSignature(...args: any[]): void; + + verifySignature(...args: any[]): void; + + static createNonceStr(...args: any[]): void; + + static generateSignature(...args: any[]): void; + + static isTokenExpired(...args: any[]): void; + + static normalizeUrl(...args: any[]): void; + +} + +export class MiniProgram { + constructor(...args: any[]); + + decryptData(...args: any[]): void; + + genSignature(...args: any[]): void; + + getSession(...args: any[]): void; + + verifySignature(...args: any[]): void; + +} + +export class MongoStore { + constructor(...args: any[]); + + destroy(...args: any[]): void; + + flush(...args: any[]): void; + + flushCardTicket(...args: any[]): void; + + flushGlobalToken(...args: any[]): void; + + flushOAuthTokens(...args: any[]): void; + + flushSignatures(...args: any[]): void; + + getCardTicket(...args: any[]): void; + + getGlobalToken(...args: any[]): void; + + getOAuthAccessToken(...args: any[]): void; + + getOAuthTokens(...args: any[]): void; + + getSignature(...args: any[]): void; + + getUrlSignatures(...args: any[]): void; + + initializeTokenFromDB(...args: any[]): void; + + saveOAuthAccessToken(...args: any[]): void; + + saveSignature(...args: any[]): void; + + toObject(...args: any[]): void; + + updateCardTicket(...args: any[]): void; + + updateGlobalToken(...args: any[]): void; + + updateOAuthAccessToken(...args: any[]): void; + + updateSignature(...args: any[]): void; + + static StoreEvents: { + DESTROY: string; + DESTROYED: string; + FLUSH_STORE: string; + STORE_FLUSHED: string; + }; + + static defaultMaxListeners: number; + + static init(): void; + + static listenerCount(emitter: any, type: any): any; + + static once(emitter: any, name: any): any; + + static usingDomains: boolean; + +} + +export class OAuth { + constructor(...args: any[]); + + generateOAuthUrl(...args: any[]): void; + + getAccessToken(...args: any[]): void; + + getAccessTokenRemotely(...args: any[]): void; + + getUserBaseInfo(...args: any[]): void; + + getUserInfo(...args: any[]): void; + + getUserInfoRemotely(...args: any[]): void; + + isAccessTokenValid(...args: any[]): void; + + refreshAccessToken(...args: any[]): void; + + setDefaultOAuthUrl(...args: any[]): void; + + static isAccessTokenExpired(...args: any[]): void; + + static setAccessTokenExpirationTime(...args: any[]): void; + +} + +export class Payment { + constructor(...args: any[]); + + closeOrder(...args: any[]): void; + + decryptRefundNotifyResult(...args: any[]): void; + + download(...args: any[]): void; + + downloadBill(...args: any[]): void; + + downloadFundFlow(...args: any[]): void; + + generateChooseWXPayInfo(...args: any[]): void; + + generateGeneralPaymentSignature(...args: any[]): void; + + generateSignature(...args: any[]): void; + + getAPISignKey(...args: any[]): void; + + getDownloadBillDate(...args: any[]): void; + + getPaymentAgent(...args: any[]): void; + + getSandboxSignKey(...args: any[]): void; + + mergeParams(...args: any[]): void; + + parseNotifyData(...args: any[]): void; + + queryComments(...args: any[]): void; + + queryExchangeRate(...args: any[]): void; + + queryOrder(...args: any[]): void; + + queryRefund(...args: any[]): void; + + querySettlement(...args: any[]): void; + + refund(...args: any[]): void; + + replyData(...args: any[]): void; + + reportToWechat(...args: any[]): void; + + simpleRequest(...args: any[]): void; + + simpleTradeNo(...args: any[]): void; + + unifiedOrder(...args: any[]): void; + + static COUPON_TYPE: { + CASH: string; + NO_CASH: string; + }; + + static DOWNLOAD_BILL_TYPE: { + ALL: string; + RECHARGE_REFUND: string; + REFUND: string; + SUCCESS: string; + }; + + static FUND_ACCOUNT_TYPE: { + BASIC: string; + FEES: string; + OPERATION: string; + }; + + static PAYMENT_TYPE: { + APP: string; + JSAPI: string; + MICROPAY: string; + NATIVE: string; + }; + + static REFUND_STATUS: { + CHANGE: string; + PROCESSING: string; + REFUNDCLOSE: string; + SUCCESS: string; + }; + + static SIGN_TYPE: { + HMAC_SHA256: string; + MD5: string; + }; + + static TRADE_STATE: { + CLOSED: string; + NOTPAY: string; + PAYERROR: string; + REFUND: string; + REVOKED: string; + SUCCESS: string; + USERPAYING: string; + }; + + static TRADE_TYPE: { + APP: string; + JSAPI: string; + MICROPAY: string; + NATIVE: string; + }; + + static fenToYuan(...args: any[]): void; + + static formatCurrency(...args: any[]): void; + + static yuanToFen(...args: any[]): void; + +} + +export class Store { + constructor(...args: any[]); + + clearStore(...args: any[]): void; + + destroy(...args: any[]): void; + + flush(...args: any[]): void; + + getCardTicket(...args: any[]): void; + + getGlobalToken(...args: any[]): void; + + getMPSession(...args: any[]): void; + + getMPSessionKey(...args: any[]): void; + + getOAuthAccessToken(...args: any[]): void; + + getSignature(...args: any[]): void; + + isSignatureExisting(...args: any[]): void; + + saveOAuthAccessToken(...args: any[]): void; + + saveSignature(...args: any[]): void; + + setMPSession(...args: any[]): void; + + updateCardTicket(...args: any[]): void; + + updateGlobalToken(...args: any[]): void; + + updateOAuthAccessToken(...args: any[]): void; + + updateSignature(...args: any[]): void; + + static StoreEvents: { + DESTROY: string; + DESTROYED: string; + FLUSH_STORE: string; + STORE_FLUSHED: string; + }; + + static defaultMaxListeners: number; + + static init(): void; + + static listenerCount(emitter: any, type: any): any; + + static once(emitter: any, name: any): any; + + static usingDomains: boolean; + +} + +export const COMPARE_CONFIG_KEYS: string[]; + +export function Wechat(...args: any[]): void; + +export namespace FileStore { + class EventEmitter { + constructor(); + + addListener(type: any, listener: any): any; + + emit(type: any, args: any): any; + + eventNames(): any; + + getMaxListeners(): any; + + listenerCount(type: any): any; + + listeners(type: any): any; + + off(type: any, listener: any): any; + + on(type: any, listener: any): any; + + once(type: any, listener: any): any; + + prependListener(type: any, listener: any): any; + + prependOnceListener(type: any, listener: any): any; + + rawListeners(type: any): any; + + removeAllListeners(type: any, ...args: any[]): any; + + removeListener(type: any, listener: any): any; + + setMaxListeners(n: any): any; + + static EventEmitter: any; + + static defaultMaxListeners: number; + + static init(): void; + + static listenerCount(emitter: any, type: any): any; + + static once(emitter: any, name: any): any; + + static usingDomains: boolean; + + } + +} + +export namespace MongoStore { + class EventEmitter { + constructor(); + + addListener(type: any, listener: any): any; + + emit(type: any, args: any): any; + + eventNames(): any; + + getMaxListeners(): any; + + listenerCount(type: any): any; + + listeners(type: any): any; + + off(type: any, listener: any): any; + + on(type: any, listener: any): any; + + once(type: any, listener: any): any; + + prependListener(type: any, listener: any): any; + + prependOnceListener(type: any, listener: any): any; + + rawListeners(type: any): any; + + removeAllListeners(type: any, ...args: any[]): any; + + removeListener(type: any, listener: any): any; + + setMaxListeners(n: any): any; + + static EventEmitter: any; + + static defaultMaxListeners: number; + + static init(): void; + + static listenerCount(emitter: any, type: any): any; + + static once(emitter: any, name: any): any; + + static usingDomains: boolean; + + } + +} + +export namespace Store { + class EventEmitter { + constructor(); + + addListener(type: any, listener: any): any; + + emit(type: any, args: any): any; + + eventNames(): any; + + getMaxListeners(): any; + + listenerCount(type: any): any; + + listeners(type: any): any; + + off(type: any, listener: any): any; + + on(type: any, listener: any): any; + + once(type: any, listener: any): any; + + prependListener(type: any, listener: any): any; + + prependOnceListener(type: any, listener: any): any; + + rawListeners(type: any): any; + + removeAllListeners(type: any, ...args: any[]): any; + + removeListener(type: any, listener: any): any; + + setMaxListeners(n: any): any; + + static EventEmitter: any; + + static defaultMaxListeners: number; + + static init(): void; + + static listenerCount(emitter: any, type: any): any; + + static once(emitter: any, name: any): any; + + static usingDomains: boolean; + + } + +} + diff --git a/package.json b/package.json index 149ed26..10c2a3a 100644 --- a/package.json +++ b/package.json @@ -7,6 +7,7 @@ "engines": { "node": ">= 8.6" }, + "types": "index.d.ts", "scripts": { "start": "DEBUG=wechat* node ./demo/index.js", "dev": "DEBUG=wechat* nodemon -w ./lib -w ./demo ./demo/index.js", From 2d86fe498e828b35a6c7264f09b49d49e647bc03 Mon Sep 17 00:00:00 2001 From: "wxs@sj" Date: Mon, 16 Dec 2019 17:21:55 +0800 Subject: [PATCH 2/2] add init options --- index.d.ts | 650 +++++++++++++++++++++++------------------------------ 1 file changed, 279 insertions(+), 371 deletions(-) diff --git a/index.d.ts b/index.d.ts index 6599882..21de5ac 100644 --- a/index.d.ts +++ b/index.d.ts @@ -1,529 +1,437 @@ -/** Declaration file generated by dts-gen */ +import { ConnectionOptions } from "mongoose"; -export class Card { - constructor(...args: any[]); - - decryptCardCode(...args: any[]): void; +export class BaseClass { + constructor(config?: WechatConfig); +} - getApiTicket(...args: any[]): void; +export class Card extends BaseClass { + decryptCardCode(...args: any[]): void; - getApiTicketRemotely(...args: any[]): void; + getApiTicket(...args: any[]): void; - getCardExt(...args: any[]): void; + getApiTicketRemotely(...args: any[]): void; - getCardSignature(...args: any[]): void; + getCardExt(...args: any[]): void; - getGlobalToken(...args: any[]): void; + getCardSignature(...args: any[]): void; - sendDecodeRequest(...args: any[]): void; + getGlobalToken(...args: any[]): void; - static CARD_TYPE: { - CASH: string; - DISCOUNT: string; - GENERAL_COUPON: string; - GIFT: string; - GROUPON: string; - }; + sendDecodeRequest(...args: any[]): void; - static CODE_TYPE: { - CODE_TYPE_BARCODE: string; - CODE_TYPE_NONE: string; - CODE_TYPE_ONLY_QRCODE: string; - CODE_TYPE_QRCODE: string; - CODE_TYPE_TEXT: string; - }; + static CARD_TYPE: { + CASH: string; + DISCOUNT: string; + GENERAL_COUPON: string; + GIFT: string; + GROUPON: string; + }; + static CODE_TYPE: { + CODE_TYPE_BARCODE: string; + CODE_TYPE_NONE: string; + CODE_TYPE_ONLY_QRCODE: string; + CODE_TYPE_QRCODE: string; + CODE_TYPE_TEXT: string; + }; } export class FileStore { - constructor(...args: any[]); - - destroy(...args: any[]): void; + constructor(config?: FileStoreOptions); - flush(...args: any[]): void; + destroy(...args: any[]): void; - initFileStore(...args: any[]): void; + flush(...args: any[]): void; - static StoreEvents: { - DESTROY: string; - DESTROYED: string; - FLUSH_STORE: string; - STORE_FLUSHED: string; - }; + initFileStore(...args: any[]): void; - static defaultMaxListeners: number; + static StoreEvents: { + DESTROY: string; + DESTROYED: string; + FLUSH_STORE: string; + STORE_FLUSHED: string; + }; - static init(): void; + static defaultMaxListeners: number; - static listenerCount(emitter: any, type: any): any; + static init(): void; - static once(emitter: any, name: any): any; + static listenerCount(emitter: any, type: any): any; - static usingDomains: boolean; + static once(emitter: any, name: any): any; + static usingDomains: boolean; } -export class JSSDK { - constructor(...args: any[]); +export class JSSDK extends BaseClass { + createSignature(...args: any[]): void; - createSignature(...args: any[]): void; + filterSignature(...args: any[]): void; - filterSignature(...args: any[]): void; + getAccessToken(...args: any[]): void; - getAccessToken(...args: any[]): void; + getCachedSignature(...args: any[]): void; - getCachedSignature(...args: any[]): void; + getGlobalTokenAndTicket(...args: any[]): void; - getGlobalTokenAndTicket(...args: any[]): void; + getJsApiTicket(...args: any[]): void; - getJsApiTicket(...args: any[]): void; + getSignature(...args: any[]): void; - getSignature(...args: any[]): void; + prepareGlobalToken(...args: any[]): void; - prepareGlobalToken(...args: any[]): void; + saveSignature(...args: any[]): void; - saveSignature(...args: any[]): void; + updateAccessTokenOrTicketGlobally(...args: any[]): void; - updateAccessTokenOrTicketGlobally(...args: any[]): void; + updateSignature(...args: any[]): void; - updateSignature(...args: any[]): void; + verifySignature(...args: any[]): void; - verifySignature(...args: any[]): void; + static createNonceStr(...args: any[]): void; - static createNonceStr(...args: any[]): void; + static generateSignature(...args: any[]): void; - static generateSignature(...args: any[]): void; - - static isTokenExpired(...args: any[]): void; - - static normalizeUrl(...args: any[]): void; + static isTokenExpired(...args: any[]): void; + static normalizeUrl(...args: any[]): void; } -export class MiniProgram { - constructor(...args: any[]); - - decryptData(...args: any[]): void; +export class MiniProgram extends BaseClass { + decryptData(...args: any[]): void; - genSignature(...args: any[]): void; + genSignature(...args: any[]): void; - getSession(...args: any[]): void; - - verifySignature(...args: any[]): void; + getSession(...args: any[]): void; + verifySignature(...args: any[]): void; } export class MongoStore { - constructor(...args: any[]); - - destroy(...args: any[]): void; + constructor(config?: MongoStoreOptions); - flush(...args: any[]): void; + destroy(...args: any[]): void; - flushCardTicket(...args: any[]): void; + flush(...args: any[]): void; - flushGlobalToken(...args: any[]): void; + flushCardTicket(...args: any[]): void; - flushOAuthTokens(...args: any[]): void; + flushGlobalToken(...args: any[]): void; - flushSignatures(...args: any[]): void; + flushOAuthTokens(...args: any[]): void; - getCardTicket(...args: any[]): void; + flushSignatures(...args: any[]): void; - getGlobalToken(...args: any[]): void; + getCardTicket(...args: any[]): void; - getOAuthAccessToken(...args: any[]): void; + getGlobalToken(...args: any[]): void; - getOAuthTokens(...args: any[]): void; + getOAuthAccessToken(...args: any[]): void; - getSignature(...args: any[]): void; + getOAuthTokens(...args: any[]): void; - getUrlSignatures(...args: any[]): void; + getSignature(...args: any[]): void; - initializeTokenFromDB(...args: any[]): void; + getUrlSignatures(...args: any[]): void; - saveOAuthAccessToken(...args: any[]): void; + initializeTokenFromDB(...args: any[]): void; - saveSignature(...args: any[]): void; + saveOAuthAccessToken(...args: any[]): void; - toObject(...args: any[]): void; + saveSignature(...args: any[]): void; - updateCardTicket(...args: any[]): void; + toObject(...args: any[]): void; - updateGlobalToken(...args: any[]): void; + updateCardTicket(...args: any[]): void; - updateOAuthAccessToken(...args: any[]): void; + updateGlobalToken(...args: any[]): void; - updateSignature(...args: any[]): void; + updateOAuthAccessToken(...args: any[]): void; - static StoreEvents: { - DESTROY: string; - DESTROYED: string; - FLUSH_STORE: string; - STORE_FLUSHED: string; - }; + updateSignature(...args: any[]): void; - static defaultMaxListeners: number; + static StoreEvents: { + DESTROY: string; + DESTROYED: string; + FLUSH_STORE: string; + STORE_FLUSHED: string; + }; - static init(): void; + static defaultMaxListeners: number; - static listenerCount(emitter: any, type: any): any; + static init(): void; - static once(emitter: any, name: any): any; + static listenerCount(emitter: any, type: any): any; - static usingDomains: boolean; + static once(emitter: any, name: any): any; + static usingDomains: boolean; } -export class OAuth { - constructor(...args: any[]); - - generateOAuthUrl(...args: any[]): void; +export class OAuth extends BaseClass { + generateOAuthUrl(...args: any[]): void; - getAccessToken(...args: any[]): void; + getAccessToken(...args: any[]): void; - getAccessTokenRemotely(...args: any[]): void; + getAccessTokenRemotely(...args: any[]): void; - getUserBaseInfo(...args: any[]): void; + getUserBaseInfo(...args: any[]): void; - getUserInfo(...args: any[]): void; + getUserInfo(...args: any[]): void; - getUserInfoRemotely(...args: any[]): void; + getUserInfoRemotely(...args: any[]): void; - isAccessTokenValid(...args: any[]): void; + isAccessTokenValid(...args: any[]): void; - refreshAccessToken(...args: any[]): void; + refreshAccessToken(...args: any[]): void; - setDefaultOAuthUrl(...args: any[]): void; + setDefaultOAuthUrl(...args: any[]): void; - static isAccessTokenExpired(...args: any[]): void; - - static setAccessTokenExpirationTime(...args: any[]): void; + static isAccessTokenExpired(...args: any[]): void; + static setAccessTokenExpirationTime(...args: any[]): void; } -export class Payment { - constructor(...args: any[]); - - closeOrder(...args: any[]): void; +export class Payment extends BaseClass { + closeOrder(...args: any[]): void; - decryptRefundNotifyResult(...args: any[]): void; + decryptRefundNotifyResult(...args: any[]): void; - download(...args: any[]): void; + download(...args: any[]): void; - downloadBill(...args: any[]): void; + downloadBill(...args: any[]): void; - downloadFundFlow(...args: any[]): void; + downloadFundFlow(...args: any[]): void; - generateChooseWXPayInfo(...args: any[]): void; + generateChooseWXPayInfo(...args: any[]): void; - generateGeneralPaymentSignature(...args: any[]): void; + generateGeneralPaymentSignature(...args: any[]): void; - generateSignature(...args: any[]): void; + generateSignature(...args: any[]): void; - getAPISignKey(...args: any[]): void; + getAPISignKey(...args: any[]): void; - getDownloadBillDate(...args: any[]): void; + getDownloadBillDate(...args: any[]): void; - getPaymentAgent(...args: any[]): void; + getPaymentAgent(...args: any[]): void; - getSandboxSignKey(...args: any[]): void; + getSandboxSignKey(...args: any[]): void; - mergeParams(...args: any[]): void; + mergeParams(...args: any[]): void; - parseNotifyData(...args: any[]): void; + parseNotifyData(...args: any[]): void; - queryComments(...args: any[]): void; + queryComments(...args: any[]): void; - queryExchangeRate(...args: any[]): void; + queryExchangeRate(...args: any[]): void; - queryOrder(...args: any[]): void; + queryOrder(...args: any[]): void; - queryRefund(...args: any[]): void; + queryRefund(...args: any[]): void; - querySettlement(...args: any[]): void; + querySettlement(...args: any[]): void; - refund(...args: any[]): void; + refund(...args: any[]): void; - replyData(...args: any[]): void; + replyData(...args: any[]): void; - reportToWechat(...args: any[]): void; + reportToWechat(...args: any[]): void; - simpleRequest(...args: any[]): void; + simpleRequest(...args: any[]): void; - simpleTradeNo(...args: any[]): void; + simpleTradeNo(...args: any[]): void; - unifiedOrder(...args: any[]): void; + unifiedOrder(...args: any[]): void; - static COUPON_TYPE: { - CASH: string; - NO_CASH: string; - }; + static COUPON_TYPE: { + CASH: string; + NO_CASH: string; + }; - static DOWNLOAD_BILL_TYPE: { - ALL: string; - RECHARGE_REFUND: string; - REFUND: string; - SUCCESS: string; - }; + static DOWNLOAD_BILL_TYPE: { + ALL: string; + RECHARGE_REFUND: string; + REFUND: string; + SUCCESS: string; + }; - static FUND_ACCOUNT_TYPE: { - BASIC: string; - FEES: string; - OPERATION: string; - }; + static FUND_ACCOUNT_TYPE: { + BASIC: string; + FEES: string; + OPERATION: string; + }; - static PAYMENT_TYPE: { - APP: string; - JSAPI: string; - MICROPAY: string; - NATIVE: string; - }; + static PAYMENT_TYPE: { + APP: string; + JSAPI: string; + MICROPAY: string; + NATIVE: string; + }; - static REFUND_STATUS: { - CHANGE: string; - PROCESSING: string; - REFUNDCLOSE: string; - SUCCESS: string; - }; + static REFUND_STATUS: { + CHANGE: string; + PROCESSING: string; + REFUNDCLOSE: string; + SUCCESS: string; + }; - static SIGN_TYPE: { - HMAC_SHA256: string; - MD5: string; - }; + static SIGN_TYPE: { + HMAC_SHA256: string; + MD5: string; + }; - static TRADE_STATE: { - CLOSED: string; - NOTPAY: string; - PAYERROR: string; - REFUND: string; - REVOKED: string; - SUCCESS: string; - USERPAYING: string; - }; + static TRADE_STATE: { + CLOSED: string; + NOTPAY: string; + PAYERROR: string; + REFUND: string; + REVOKED: string; + SUCCESS: string; + USERPAYING: string; + }; - static TRADE_TYPE: { - APP: string; - JSAPI: string; - MICROPAY: string; - NATIVE: string; - }; + static TRADE_TYPE: { + APP: string; + JSAPI: string; + MICROPAY: string; + NATIVE: string; + }; - static fenToYuan(...args: any[]): void; + static fenToYuan(...args: any[]): void; - static formatCurrency(...args: any[]): void; - - static yuanToFen(...args: any[]): void; + static formatCurrency(...args: any[]): void; + static yuanToFen(...args: any[]): void; } export class Store { - constructor(...args: any[]); - - clearStore(...args: any[]): void; + constructor(...args: any[]); - destroy(...args: any[]): void; + clearStore(...args: any[]): void; - flush(...args: any[]): void; + destroy(...args: any[]): void; - getCardTicket(...args: any[]): void; + flush(...args: any[]): void; - getGlobalToken(...args: any[]): void; + getCardTicket(...args: any[]): void; - getMPSession(...args: any[]): void; + getGlobalToken(...args: any[]): void; - getMPSessionKey(...args: any[]): void; + getMPSession(...args: any[]): void; - getOAuthAccessToken(...args: any[]): void; + getMPSessionKey(...args: any[]): void; - getSignature(...args: any[]): void; + getOAuthAccessToken(...args: any[]): void; - isSignatureExisting(...args: any[]): void; + getSignature(...args: any[]): void; - saveOAuthAccessToken(...args: any[]): void; + isSignatureExisting(...args: any[]): void; - saveSignature(...args: any[]): void; + saveOAuthAccessToken(...args: any[]): void; - setMPSession(...args: any[]): void; + saveSignature(...args: any[]): void; - updateCardTicket(...args: any[]): void; + setMPSession(...args: any[]): void; - updateGlobalToken(...args: any[]): void; + updateCardTicket(...args: any[]): void; - updateOAuthAccessToken(...args: any[]): void; + updateGlobalToken(...args: any[]): void; - updateSignature(...args: any[]): void; + updateOAuthAccessToken(...args: any[]): void; - static StoreEvents: { - DESTROY: string; - DESTROYED: string; - FLUSH_STORE: string; - STORE_FLUSHED: string; - }; + updateSignature(...args: any[]): void; - static defaultMaxListeners: number; + static StoreEvents: { + DESTROY: string; + DESTROYED: string; + FLUSH_STORE: string; + STORE_FLUSHED: string; + }; - static init(): void; + static defaultMaxListeners: number; - static listenerCount(emitter: any, type: any): any; + static init(): void; - static once(emitter: any, name: any): any; + static listenerCount(emitter: any, type: any): any; - static usingDomains: boolean; + static once(emitter: any, name: any): any; + static usingDomains: boolean; } -export const COMPARE_CONFIG_KEYS: string[]; - -export function Wechat(...args: any[]): void; - -export namespace FileStore { - class EventEmitter { - constructor(); - - addListener(type: any, listener: any): any; - - emit(type: any, args: any): any; - - eventNames(): any; - - getMaxListeners(): any; - - listenerCount(type: any): any; - - listeners(type: any): any; - - off(type: any, listener: any): any; - - on(type: any, listener: any): any; - - once(type: any, listener: any): any; - - prependListener(type: any, listener: any): any; - - prependOnceListener(type: any, listener: any): any; - - rawListeners(type: any): any; - - removeAllListeners(type: any, ...args: any[]): any; - - removeListener(type: any, listener: any): any; - - setMaxListeners(n: any): any; - - static EventEmitter: any; - - static defaultMaxListeners: number; - - static init(): void; - - static listenerCount(emitter: any, type: any): any; - - static once(emitter: any, name: any): any; - - static usingDomains: boolean; - - } - +export class Wechat extends BaseClass { + jssdk: JSSDK + oauth: OAuth + card?: Card + payment?: Payment + miniProgram?: MiniProgram + store: Store } -export namespace MongoStore { - class EventEmitter { - constructor(); - - addListener(type: any, listener: any): any; - - emit(type: any, args: any): any; - - eventNames(): any; - - getMaxListeners(): any; - - listenerCount(type: any): any; - - listeners(type: any): any; - - off(type: any, listener: any): any; - - on(type: any, listener: any): any; - - once(type: any, listener: any): any; - - prependListener(type: any, listener: any): any; - - prependOnceListener(type: any, listener: any): any; - - rawListeners(type: any): any; - - removeAllListeners(type: any, ...args: any[]): any; - - removeListener(type: any, listener: any): any; - - setMaxListeners(n: any): any; - - static EventEmitter: any; - - static defaultMaxListeners: number; - - static init(): void; - - static listenerCount(emitter: any, type: any): any; - - static once(emitter: any, name: any): any; - - static usingDomains: boolean; - - } - +export interface WechatConfigPaymentUrls { + UNIFIED_ORDER?: string; + QUERY_ORDER?: string; + CLOSE_ORDER?: string; + REFUND?: string; + QUERY_REFUND?: string; + DOWNLOAD_BILL?: string; + SHORT_URL?: string; + REPORT?: string; + SIGN_KEY?: string; + DOWNLOAD_FUND_FLOW?: string; + BATCH_QUERY_COMMENT?: string; + QUERY_SETTLEMENT?: string; + // yes this is correct, spelling "exchange" correctly is difficult 🤷️ + QUERY_EXCHANGE_RATE?: string; } -export namespace Store { - class EventEmitter { - constructor(); - - addListener(type: any, listener: any): any; - - emit(type: any, args: any): any; - - eventNames(): any; - - getMaxListeners(): any; - - listenerCount(type: any): any; - - listeners(type: any): any; - - off(type: any, listener: any): any; - - on(type: any, listener: any): any; - - once(type: any, listener: any): any; - - prependListener(type: any, listener: any): any; - - prependOnceListener(type: any, listener: any): any; - - rawListeners(type: any): any; - - removeAllListeners(type: any, ...args: any[]): any; - - removeListener(type: any, listener: any): any; - - setMaxListeners(n: any): any; - - static EventEmitter: any; - - static defaultMaxListeners: number; - - static init(): void; - - static listenerCount(emitter: any, type: any): any; - - static once(emitter: any, name: any): any; - - static usingDomains: boolean; +export interface WetchatConfigMiniProgram { + //your mini program appId + appId: string; + // your mini program appSecret + appSecret: string; + GET_SESSION_KEY_URL?: string; +} - } +export interface WechatConfig { + //redirect host in oauth redirect + wechatRedirectHost?: string; + //full redirect url in oauth redirect, e.g http://127.0.0.1/wechat/oauth-callback + wechatRedirectUrl?: string; + //your wechat token set in your + // https://mp.weixin.qq.com/advanced/advanced?action=dev&t=advanced/dev&token=1244756112&lang=zh_CN + wechatToken?: string; + //your wechat appId + appId: string; + // your wechat appSecret + appSecret: string; + ticketUrl?: string; + accessTokenUrl?: string; + oAuthUrl?: string; + apiUrl?: string; + //state in oauth callback query + oAuthState?: string; + paymentNotifyUrl?: string; + paymentSandBox?: false; + paymentKey?: string; + PAYMENT_HOST?: string; + PAYMENT_HOST_PORT?: 443; + paymentUrls?: WechatConfigPaymentUrls; + decodeCardCodeUrl?: string; + miniProgram?: WetchatConfigMiniProgram; + storeOptions?: FileStoreOptions; + store?: Store; +} +export interface MongoStoreOptions { + dbHost?: string; //default?: "127.0.0.1" + dbPort?: string; //default?: "27017" + dbName?: string; //default?: "wechat" + dbAddress?: string; //pass your full uri, the three options above will be ignored. + dbOptions?: ConnectionOptions; //extra options passed to mongoose + limit?: 10; //how many url signature and oauth token items should be initialized from db, default?: 20 } +export interface FileStoreOptions { + fileStorePath?: string; +}