微信SDK接通

This commit is contained in:
2026-07-01 19:56:44 +08:00
parent a1cbfc7241
commit aea1513836
38 changed files with 1610 additions and 92 deletions
@@ -1,21 +1,50 @@
import { Module } from '@nestjs/common';
import { BullModule } from '@nestjs/bullmq';
import { loadAppConfig } from '@dukang/shared-types';
import { SmsMockProvider } from './sms/sms.mock.provider';
import { PayMockProvider } from './pay/pay.mock.provider';
import { PayWechatProvider } from './pay/pay.wechat.provider';
import { DeliveryMockProvider } from './delivery/delivery.mock.provider';
import { SMS_PROVIDER, PAY_PROVIDER, DELIVERY_PROVIDER } from './integrations.constants';
import { WechatApiProvider } from './wechat/wechat.api.provider';
import { WechatDisabledProvider } from './wechat/wechat.disabled.provider';
import {
SMS_PROVIDER,
PAY_PROVIDER,
DELIVERY_PROVIDER,
WECHAT_PROVIDER,
} from './integrations.constants';
import { DELIVERY_QUEUE } from '../jobs/jobs.constants';
import type { IWechatProvider } from './wechat/wechat.interface';
import type { IPayProvider } from './pay/pay.interface';
@Module({
imports: [BullModule.registerQueue({ name: DELIVERY_QUEUE })],
providers: [
{ provide: SMS_PROVIDER, useClass: SmsMockProvider },
{ provide: PAY_PROVIDER, useClass: PayMockProvider },
WechatApiProvider,
WechatDisabledProvider,
{
provide: WECHAT_PROVIDER,
useFactory: (api: WechatApiProvider, disabled: WechatDisabledProvider): IWechatProvider => {
const cfg = loadAppConfig();
return cfg.wechatAuthEnabled && cfg.wxAppId ? api : disabled;
},
inject: [WechatApiProvider, WechatDisabledProvider],
},
PayMockProvider,
PayWechatProvider,
{
provide: PAY_PROVIDER,
useFactory: (mock: PayMockProvider, wechat: PayWechatProvider): IPayProvider => {
const cfg = loadAppConfig();
return cfg.mockPay ? mock : wechat;
},
inject: [PayMockProvider, PayWechatProvider],
},
{ provide: DELIVERY_PROVIDER, useClass: DeliveryMockProvider },
SmsMockProvider,
PayMockProvider,
DeliveryMockProvider,
],
exports: [SMS_PROVIDER, PAY_PROVIDER, DELIVERY_PROVIDER],
exports: [SMS_PROVIDER, PAY_PROVIDER, DELIVERY_PROVIDER, WECHAT_PROVIDER],
})
export class IntegrationsModule {}