node之阿里云短信验证(uniapp)

#头条创作挑战赛#

后端:

注册阿里云后,搜索短信服务





填写签名信息并提交:我这里用的是阿里赠送的测试


通过后记住签名名称,我这里用阿里测试


填写模板信息并提交:我这里用的是阿里赠送的测试,模板就是你发给客户的短信信息内容



这里的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

标签:阿里   短信   挑战赛   信息内容   位数   手机号   模块   模板   测试   信息

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2008-2024 All Rights Reserved. Powered By bs178.com 闽ICP备11008920号-3
闽公网安备35020302034844号

Top