GPT答: |
7i24.cn
|
以下是一个使用Node.js和Express框架发送华为云手机短信验证码的示例代码:
```javascript
const express = require('express');
const axios = require('axios');
const app = express();
app.use(express.json());
// 华为云短信API配置
const HUAWEI_SMS_API_URL = 'https://api.sms.hicloud.com/sms/batchSendSms/v1';
const HUAWEI_APP_KEY = 'YOUR_HUAWEI_APP_KEY';
const HUAWEI_APP_SECRET = 'YOUR_HUAWEI_APP_SECRET';
const HUAWEI_SENDER_NAME = 'YOUR_SENDER_NAME';
// 发送验证码路由
app.post('/send-verification-code', async (req, res) => {
try {
const { phoneNumber } = req.body;
// 生成随机的6位数字验证码
const verificationCode = Math.floor(100000 + Math.random() * 900000);
// 构建请求体参数
const requestBody = {
from: HUAWEI_SENDER_NAME,
to: phoneNumber,
templateId: 'YOUR_TEMPLATE_ID',
templateParas: [verificationCode.toString()],
statusCallback: '',
};
// 发送POST请求到华为云短信API
const response = await axios.post(HUAWEI_SMS_API_URL, requestBody, {
auth: {
username: HUAWEI_APP_KEY,
password: HUAWEI_APP_SECRET,
},
});
if (response.data.code === "000000") {
res.status(200).json({ message: "Verification code sent successfully" });
} else {
res.status(500).json({ message:"Failed to send verification code" });
}
} catch (error) {
console.error(error);
res.status(500).json({ message: "An error occurred" });
}
});
// 启动服务器
app.listen(3000, () => {
console.log('Server is running on port 3000');
});
```
请注意,上述代码中的`YOUR_HUAWEI_APP_KEY`,`YOUR_HUAWEI_APP_SECRET`和`YOUR_TEMPLATE_ID`需要替换为您自己的华为云短信API密钥和模板ID。
此外,请确保已安装并使用npm安装了以下依赖项:
```shell
npm install express axios
```
这是一个基本示例,您可以根据自己的需求进行修改和扩展。
|