fix: 修复阿里云 SDK Request 类在 Node.js ESM 下为 undefined 的问题
All checks were successful
CI/CD Pipeline / Unit Tests (push) Successful in 16s
CI/CD Pipeline / Build & Deploy Test (push) Has been skipped
CI/CD Pipeline / Build & Deploy Production (push) Successful in 1m14s

SDK 的 client.js 仅 export default Client,未 re-export 模型类。
Bun 的 CJS 互操作较宽松会自动合并,Node.js 则严格按 exports.xxx 解析,
导致 SendSmsVerifyCodeRequest / CheckSmsVerifyCodeRequest 在生产环境为 undefined。
改为从 dist/models/model.js 直接导入 Request 类。
This commit is contained in:
Wang Zhuoxuan 2026-06-03 11:31:08 +08:00
parent 950d6a5311
commit ae4e2c37ba

View File

@ -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<void> {
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<void> {
export async function verifyCode(phoneNumber: string, code: string): Promise<void> {
assertSmsConfigured();
const request = new DypnsApi.CheckSmsVerifyCodeRequest({
const request = new CheckSmsVerifyCodeRequest({
phoneNumber,
verifyCode: code,
caseAuthPolicy: 1,