From ae4e2c37ba774018e933bfaf4b8cb7a4ed8c8aee Mon Sep 17 00:00:00 2001 From: Wang Zhuoxuan Date: Wed, 3 Jun 2026 11:31:08 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E9=98=BF=E9=87=8C?= =?UTF-8?q?=E4=BA=91=20SDK=20Request=20=E7=B1=BB=E5=9C=A8=20Node.js=20ESM?= =?UTF-8?q?=20=E4=B8=8B=E4=B8=BA=20undefined=20=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit SDK 的 client.js 仅 export default Client,未 re-export 模型类。 Bun 的 CJS 互操作较宽松会自动合并,Node.js 则严格按 exports.xxx 解析, 导致 SendSmsVerifyCodeRequest / CheckSmsVerifyCodeRequest 在生产环境为 undefined。 改为从 dist/models/model.js 直接导入 Request 类。 --- src/services/auth/aliyun-sms.ts | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/services/auth/aliyun-sms.ts b/src/services/auth/aliyun-sms.ts index 177cceb..c5538ad 100644 --- a/src/services/auth/aliyun-sms.ts +++ b/src/services/auth/aliyun-sms.ts @@ -1,4 +1,5 @@ import DypnsApi from '@alicloud/dypnsapi20170525'; +import { SendSmsVerifyCodeRequest, CheckSmsVerifyCodeRequest } from '@alicloud/dypnsapi20170525/dist/models/model.js'; import { $OpenApiUtil } from '@alicloud/openapi-core'; import { RuntimeOptions } from '@darabonba/typescript'; import { config } from '../../utils/config.js'; @@ -58,7 +59,7 @@ const RUNTIME_OPTIONS = new RuntimeOptions({ export async function sendCode(phoneNumber: string): Promise { assertSmsConfigured(); - const request = new DypnsApi.SendSmsVerifyCodeRequest({ + const request = new SendSmsVerifyCodeRequest({ phoneNumber, signName: config.ALIYUN_SMS_SIGN_NAME, templateCode: config.ALIYUN_SMS_TEMPLATE_CODE, @@ -78,7 +79,7 @@ export async function sendCode(phoneNumber: string): Promise { export async function verifyCode(phoneNumber: string, code: string): Promise { assertSmsConfigured(); - const request = new DypnsApi.CheckSmsVerifyCodeRequest({ + const request = new CheckSmsVerifyCodeRequest({ phoneNumber, verifyCode: code, caseAuthPolicy: 1,