1.现在想实现node 后端 实现腾讯云验证码的功能
去腾讯云上下载了node.js sdk 下载了以后 发现不能使用 问了问客服 说是 sdk有问题
2.qcloudsms_js 插件的使用 腾讯短信
(1). 安装
npm i qcloudsms_js -save
(2)主题代码使用
import { Config, Provide } from '@midwayjs/decorator';
import { BaseService } from '@cool-midway/core';
import * as request from 'request';
const QCloudSms = require('qcloudsms_js');
/**
* 抖音接口封装
*/
@Provide()
export class SendSesService extends BaseService {
@Config('module.business')
businessConfig;
//发送验证码
sendVerificationCode(query) {
// 1323418546;
const config = {
appid: 'xxxxx', //sdk app 应用ID
appkey: 'xxxx', // sdk
};
const smsSign = 'xxx'; // 短信签名
const templateId = 'xxxx'; // 短信模板ID
const phoneNumber = [query.phone]; // 手机号数组
var qcloudsms = QCloudSms(config.appid, config.appkey);
const params = [];
params[0] = Math.floor(Math.random() * 900000 + 100000).toString(); // 生成4位随机验证码
// params[1]=
// const paramsQuery = `您的动态验证码为:${params},为保障帐户安全,请勿向任何人提供此验证码。`;
const ssender = qcloudsms.SmsSingleSender();
return new Promise(function (resolve, reject) {
// // 签名参数未提供或者为空时,会使用默认签名发送短信
ssender.sendWithParam(
'86',
phoneNumber,
templateId,
params,
smsSign,
'',
'',
function (err, res, resData) {
if (err) {
reject(err); //发送失败
} else {
//所有短信全部认定发送成功
// console.log('request data: ', res.req);
console.log('response data: ', resData);
//这里再把信息响应给客户端,方便逻辑判断
resolve(resData);
}
}
);
});
// return smsProvider.multiSend(
// params,
// phoneNumber,
// templateId,
// '',
// '',
// smsSign
// );
}
}
大概就是这个代码了
- 扩展
如果 不太清楚这个插件
腾讯云信息查看