阿里云:云通信号码认证服务,node.js+uniapp(vue),完整代码

api文档:云通信号码认证服务_云产品主页-阿里云OpenAPI开发者门户 (aliyun.com)

 reg.vue

<template>  
  <div>  
   <input class="sl-input" v-model="phone" type="number" maxlength="11" placeholder="手机号" /> 
    <button @click="sendSms">短信注册</button>  
  </div>  
</template>  
  
<script>  
export default {  
  data() {  
    return {  
      phone: '', // 用于绑定输入框的值  
    };  
  },  
  methods: {  
    sendSms() {  
      uni.request({  
        url: 'http://localhost:3000/valisms', // 你的后端服务地址  
        method: 'POST',  
        data: {  
          phoneNumbers: this.phone,  
        },  
        success: (res) => {  
          if (res.data.success) {  
            console.log('短信发送成功:', res.data.response);  
            uni.showToast({  
              title: '短信发送成功',  
              icon: 'success'  
            });  
          } else {  
            console.log('短信发送失败:', res.data.message);  
            uni.showToast({  
              title: '短信发送失败',  
              icon: 'none'  
            });  
          }  
        },  
        fail: (err) => {  
          console.error('发送请求失败:', err);  
          uni.showToast({  
            title: '请求失败',  
            icon: 'none'  
          });  
        }  
      });  
    },  
   
  },  
};  
</script>  
  
<style scoped>  
  
</style>

sendSms() {
             console.log('电话号:',this.phone);
              uni.request({
                url: 'http://localhost:3000/valisms', // 你的后端服务地址
                method: 'POST',
                data: {
                  phoneNumbers:this.phone ,
                },
                success: (res) => {
                  if (res.data.success) {
                    console.log('短信发送成功:', res.data.response);
                    uni.showToast({
                      title: '短信发送成功',
                      icon: 'success'
                    });
                  } else {
                    console.log('短信发送失败:', res.data.message);
                    uni.showToast({
                      title: '短信发送失败',
                      icon: 'none'
                    });
                  }
                },
                fail: (err) => {
                  console.error('发送请求失败:', err);
                  uni.showToast({
                    title: '请求失败',
                    icon: 'none'
                  });
                }
              });
            },

 cloudsms.js:

'use strict';

const Dypnsapi20170525 = require('@alicloud/dypnsapi20170525');
const OpenApi = require('@alicloud/openapi-client');
const Console = require('@alicloud/tea-console');
const Util = require('@alicloud/tea-util');
const Tea = require('@alicloud/tea-typescript');

class Client {
  static createClient() {
    let config = new OpenApi.Config({
      accessKeyId: 'xxxxxxxx',
      accessKeySecret: 'xxxxxxxx',
    });
    config.endpoint = `dypnsapi.aliyuncs.com`;
    return new Dypnsapi20170525.default(config);
  }
  static async cloudSms(phoneNumbers, code) {
    let client = Client.createClient();
    console.log('验证码是:',code);
    let sendSmsVerifyCodeRequest = new Dypnsapi20170525.SendSmsVerifyCodeRequest({
      phoneNumber: phoneNumbers,
      signName: '',
      templateCode: '',
      templateParam: JSON.stringify({ code:code }),
    });
    let runtime = new Util.RuntimeOptions({ });
    try {
      let resp = await client.sendSmsVerifyCodeWithOptions(sendSmsVerifyCodeRequest, runtime);
      Console.default.log(Util.default.toJSONString(resp));
    } catch (error) {
      console.log(error.message);
      console.log(error.data["Recommend"]);
      Util.default.assertAsString(error.message);
    }
  }
}
module.exports = Client;
// exports.Client = Client;
// Client.smscloud(process.argv.slice(2));

 

 cloudserver.js:


const express = require('express');
const bodyParser = require('body-parser');
const ClientSms   = require('./cloudsms.js');

const app = express();
const port = 3000;
app.use(bodyParser.json());
app.post('/valisms', async (req, res) => {
  const { phoneNumbers} = req.body;
  console.log('电话号:',phoneNumbers);
  const code = Math.floor(100000 + Math.random() * 900000).toString();  
  console.log('验证码是:',code);
  try {
    const response = await ClientSms.cloudSms(phoneNumbers, code);
    res.json({ success: true, message: '短信发送成功', response });
  } catch (error) {
    console.error('短信发送失败的具体原因:', error);
    res.status(500).json({ success: false, message: '短信发送失败' });
  }
});
app.listen(port, () => {
  console.log(`Server running on http://localhost:${port}`);
});

  • 20
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值