react 手机号验证码登录,后端node
时间: 2024-11-11 19:40:46 浏览: 18
React用于前端开发,而Node.js通常作为后端服务器的语言。在React应用中实现手机验证码登录的基本步骤如下:
1. **前端交互**:
- 用户输入手机号并点击获取验证码按钮,通过API发送请求到Node.js后端。
- 使用React组件(如`axios`库)发起异步请求,传递手机号。
```jsx
function PhoneNumberLogin() {
const [phone, setPhone] = useState('');
const [code, setCode] = useState('');
const handleSubmit = async (e) => {
e.preventDefault();
try {
await sendVerificationCode(phone);
// 提示用户等待验证码
} catch (error) {
console.error('Error sending verification code:', error);
}
};
}
```
2. **后端处理**:
- Node.js(例如Express框架)接收到请求后,生成随机验证码并保存,然后发送短信服务发送验证码。
```javascript
app.post('/send-code', (req, res) => {
const phone = req.body.phone;
generateAndSendCode(phone, (err, code) => {
if (err) {
return res.status(500).json({ error: 'Failed to send code' });
}
savePhoneNumber(phone, code); // 存储验证码
sendSMS(phone, code); // 发送短信
res.json({ success: true });
});
});
```
3. **验证和登录**:
- 用户接收验证码后,在规定时间内输入,前端再次发送请求到后端进行校验。
- 后端检查输入的验证码是否匹配,匹配则允许登录,否则提示错误。
```jsx
handleSubmitVerification(e) {
e.preventDefault();
const { phone, code } = form.getFieldsValue(); // 获取表单数据
verifyCode(phone, code, (err, result) => {
if (result.success) {
loginWithCode(phone, code);
} else {
// 显示错误信息
}
});
}
```
阅读全文