web-backset.cn/apps/server/src/service/sms.service.ts
2023-03-16 16:50:22 +08:00

48 lines
1.8 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// This file is auto-generated, don't edit it
import Dysmsapi20170525, * as $Dysmsapi20170525 from '@alicloud/dysmsapi20170525';
// 依赖的模块可通过下载工程中的模块依赖文件或右上角的获取 SDK 依赖信息查看
import * as $OpenApi from '@alicloud/openapi-client';
import Util, * as $Util from '@alicloud/tea-util';
import { Context, Inject, Provide } from '@midwayjs/core';
@Provide()
export class SmsService {
@Inject()
ctx: Context;
/**
* 使用AK&SK初始化账号Client
* @param accessKeyId
* @param accessKeySecret
* @return Client
* @throws Exception
*/
createClient(accessKeyId: string, accessKeySecret: string): Dysmsapi20170525 {
const config = new $OpenApi.Config({ accessKeyId, accessKeySecret });
// 访问的域名
config.endpoint = `dysmsapi.aliyuncs.com`;
return new Dysmsapi20170525(config);
}
async send({ code, phoneNumbers }): Promise<void> {
// 工程代码泄露可能会导致AccessKey泄露并威胁账号下所有资源的安全性。以下代码示例仅供参考建议使用更安全的 STS 方式更多鉴权访问方式请参见https://help.aliyun.com/document_detail/378664.html
const client = this.createClient(
process.env['ACCESSKEY_ID'],
process.env['ACCESSKEY_SECRET']
);
const sendSmsRequest = new $Dysmsapi20170525.SendSmsRequest({
phoneNumbers: phoneNumbers,
signName: '寻鹿网',
templateCode: 'SMS_186510297',
templateParam: `{"code":"${code}"}`,
});
const runtime = new $Util.RuntimeOptions({});
try {
// 复制代码运行请自行打印 API 的返回值
await client.sendSmsWithOptions(sendSmsRequest, runtime);
} catch (error) {
throw new Error(Util.assertAsString(error.message));
}
}
}