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 DypnsApi from '@alicloud/dypnsapi20170525';
import { SendSmsVerifyCodeRequest, CheckSmsVerifyCodeRequest } from '@alicloud/dypnsapi20170525/dist/models/model.js';
import { $OpenApiUtil } from '@alicloud/openapi-core'; import { $OpenApiUtil } from '@alicloud/openapi-core';
import { RuntimeOptions } from '@darabonba/typescript'; import { RuntimeOptions } from '@darabonba/typescript';
import { config } from '../../utils/config.js'; import { config } from '../../utils/config.js';
@ -58,7 +59,7 @@ const RUNTIME_OPTIONS = new RuntimeOptions({
export async function sendCode(phoneNumber: string): Promise<void> { export async function sendCode(phoneNumber: string): Promise<void> {
assertSmsConfigured(); assertSmsConfigured();
const request = new DypnsApi.SendSmsVerifyCodeRequest({ const request = new SendSmsVerifyCodeRequest({
phoneNumber, phoneNumber,
signName: config.ALIYUN_SMS_SIGN_NAME, signName: config.ALIYUN_SMS_SIGN_NAME,
templateCode: config.ALIYUN_SMS_TEMPLATE_CODE, 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> { export async function verifyCode(phoneNumber: string, code: string): Promise<void> {
assertSmsConfigured(); assertSmsConfigured();
const request = new DypnsApi.CheckSmsVerifyCodeRequest({ const request = new CheckSmsVerifyCodeRequest({
phoneNumber, phoneNumber,
verifyCode: code, verifyCode: code,
caseAuthPolicy: 1, caseAuthPolicy: 1,