短信服务
原创2026/3/5小于 1 分钟
import Dysmsapi20170525, * as $Dysmsapi20170525 from '@alicloud/dysmsapi20170525'
import OpenApi, * as $OpenApi from '@alicloud/openapi-client'
import Util, * as $Util from '@alicloud/tea-util'
import * as $tea from '@alicloud/tea-typescript'
import { cerateOrderNumber } from 'src/utils/util_function/cerateOrderNumber'
import { configs } from 'src/config/config'
export const phone = async (query: any, cb: any) => {
const { phoneNumber } = query
const code = cerateOrderNumber(6)
class Client {
static createClient(accessKeyId: string, accessKeySecret: string): Dysmsapi20170525 {
let config = new $OpenApi.Config({
accessKeyId: configs.aliyunSms.accessKeyId,
accessKeySecret: configs.aliyunSms.accessKeySecret,
})
config.endpoint = `dysmsapi.aliyuncs.com`
return new Dysmsapi20170525(config)
}
static async main() {
let client = Client.createClient('LTAI5tCtfvDeCH5Kq64BNZzW', 'C9VZ3G09PnrAN9pcA4gguE3Ca8g5va')
let sendSmsRequest = new $Dysmsapi20170525.SendSmsRequest({
signName: configs.aliyunSms.signName,
templateCode: configs.aliyunSms.templateCode,
phoneNumbers: phoneNumber,
templateParam: '{"code":"' + code + '"}',
})
let runtime = new $Util.RuntimeOptions({})
try {
const value = await client.sendSmsWithOptions(sendSmsRequest, runtime)
cb(code)
return {
message: value.body.message,
}
} catch (error) {
Util.assertAsString(error.message)
}
}
}
const info = await Client.main().then((res) => {
return res.message
})
return {
code: 200,
msg: info,
result: {},
}
}至此,本章节的学习就到此结束了,如有疑惑,可对接技术客服进行相关咨询。