效果图
实现
一、准备工作
1、官网直达网址:
阿里云 - 短信服务
2、按照首页提示依次完成相应资质认证和短信模板审核;
3、获取你的accessKeySecret和accessKeyId;
方法如下:
获取AccessKey-阿里云帮助中心
4、获取SignName(签名名称)和 TemplateCode(模板code);
二、代码实现
1、项目结构
【/config/index.js】=》参数配置文件
【/server/index.js】=》主执行文件
【node server】=》启动命令
2、引入依赖
在项目根目录,打开控制台,输入如下命令:
npm install @alicloud/sms-sdk --save
3、 修改配置文件【/config/index.js】
储存前面获取的参数:
const config = {// AccessKey IDaccessKeyId: "XXXXXXXXXXXXXXXXXXXXXXXXXX",// AccessKey SecretsecretAccessKey: "XXXXXXXXXXXXXXXXXXXXXXXXXXXX",// 签名名称signName: "XXXX",// 模板CODE => 登录/注册 - 验证码templateCode_login: "SMS_4XXXXXXXX",}module.exports = config
4、修改主启动文件【/server/index.js】
实现发送短信:
// 引入依赖
const SMSClient = require('@alicloud/sms-sdk')
// 参数配置文件
const config = require('../config/index.js')/*** 发送短信验证码* @param phone 接收用户的手机号*/
function sendSmsMessage (phone) {// 参数配置 sms_clientlet accessKeyId = config.accessKeyId // AccessKey IDlet secretAccessKey = config.secretAccessKey // AccessKey Secretlet signName = config.signName // 签名名称let templateCode = config.templateCode_login // 短信模板code// 发送对象及验证码let verify = Math.random().toString().slice(-6) // 随机6位验证码let phoneNum = phone // 手机号// 初始化 sms_clientconst smsClient = new SMSClient({accessKeyId, secretAccessKey})// 发送短信smsClient.sendSMS({PhoneNumbers: phoneNum, // 发送对象手机号SignName: signName, // 签名名称TemplateCode: templateCode, // 模版CODETemplateParam: `{"code":'${verify}'}`, // 短信模板变量对应的实际值,JSON格式}).then(res => {console.log("发送短信sendSmsMessage执行完成:")console.log(res)// 判断是否发送成功if(res.Code === 'OK') {console.log('短信发送成功!')} else {console.log('短信发送失败!')console.log(res.Message)}}).catch(err => {console.log("发送短信sendSmsMessage异常错误:")console.log(err)})
}sendSmsMessage('13512341234')