跳至主要內容

短信服务

刘春龙原创...小于 1 分钟NodejsNestjs教程文档

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: {}
    }
}
上次编辑于:
贡献者: 刘春龙
评论
  • 按正序
  • 按倒序
  • 按热度
Powered by Waline v2.15.7