#头条创作挑战赛#
后端:
注册阿里云后,搜索短信服务
填写签名信息并提交:我这里用的是阿里赠送的测试
通过后记住签名名称,我这里用阿里测试
填写模板信息并提交:我这里用的是阿里赠送的测试,模板就是你发给客户的短信信息内容
这里的code和模板CODE这两个是你以后要用到的,要记得。
获取accessKeyId和accessKeySecret
node端:安装阿里短信SDK
npm install @alicloud/pop-core --save
新建sms.js
//sms.js
/**
* 阿里云短信验证码
*/
const Core = require('@alicloud/pop-core'); // 引入模块
let smsCode = (res, mobile) => {
var client = new Core({
accessKeyId: 'LTAIIMck31tahuuR', // 你的阿里云accessKeyId
accessKeySecret: 'oCP98m3sXWj4rlY9ecIPdz9E8sCJLb', // 你的阿里云accessKeySecret
endpoint: 'https://dysmsapi.aliyuncs.com',// 不用改
apiVersion: '2017-05-25' // 不用改
});
var vcode = ""; // 随机6位数
for (var i = 0; i < 6; i++) {
let n = Math.floor(Math.random() * 10)
vcode += n === 0 ? '0' : n;
}
var params = {
"RegionId": "cn-hangzhou",
"PhoneNumbers": mobile, // 电话号码
"SignName": "阿里云短信测试专用", // 你的短信签名
"TemplateCode": "SMS_78875178", // 你的短信模板代码
// 短信模板变量对应的实际值,JSON格式,键‘code’要与你要记得code保持一致
"TemplateParam": `{'code':${vcode},'product':'test'}`
}
var requestOption = {
method: 'POST'
};
client.request('SendSms', params, requestOption).then((result) => {
console.log(JSON.stringify(result));
res.send({
vcode
})
}, (ex) => {
console.log(ex);
res.send(ex)
})
}
module.exports = smsCode;
在node的入口文件main.js引入:
const express = require("express")
const cors = require("cors")
const smsCode =require("./common/sms.js")
const app = express()
app.use(cors())
app.get('/',(req,res)=>{
res.send('index')
})
//引入
app.get('/vcode',(req,res)=>{
let mobile = req.query.mobile
console.log(mobile)
smsCode(res, mobile)
})
app.listen(3000,()=>{
console.log("服务器3000启动了。。。。");
})
前端:
data() {
return {
disable: false,
mobile:18222959493,
logininfo: {
pwd: '123',
acount: '昵称呀',
vcode: 123,
phone:"18222959493",
num: 3,
codestr: '获取验证码'
},
sendCode() {
if(this.vriphone()){
uni.request({
url:"http://192.168.0.105:3000/vcode",
data:{
mobile:this.logininfo.phone
},
method:"GET",
success: (res) => {
console.log(res);
}
})
const timer = setInterval(() => {
this.disable = true;
this.logininfo.codestr = this.logininfo.num + 's';
this.logininfo.num--;
if (this.logininfo.num < 0) {
this.logininfo.codestr = '重新发送';
this.disable = false;
this.logininfo.num = 3;
clearInterval(timer);
}
}, 1000);
}
uni.showToast({
title:"输入正确手机号",
icon:'none'
})
},
页面更新:2024-04-29
本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828
© CopyRight 2008-2024 All Rights Reserved. Powered By bs178.com 闽ICP备11008920号-3
闽公网安备35020302034844号