在umi3.0中使用umi-request 和 request是相等的,只不过request是已经封装好了的。区别在于
const loginAction = useCallback((query) => {
login(query).then((res) => {
if (res.user.success) {
const token = res.user.token;
localStorage.setItem('token', JSON.stringify(token));
message.success('登录成功');
history.push({
pathname: '/',
});
}
});
}, []);
这是umi-request代码
gitURl https://github.com/umijs/umi-request
request('http://localhost:3000/login', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
body:JSON.stringify(data)
},
body: JSON.stringify(values),
}).then(function (response) {
console.log(response);
}).catch(function (error) {
console.log(error);
});
中间件的使用:
在__json_server_mock__文件夹中新建middleware.ts文件
// middleware.ts
module.exports = (req, res, next) => {
if (req.method === 'POST' && req.path === '/login') {
if (req.body.username === 'admin' && req.body.password === '123456') {
return res.status(200).json({
user: {
token: 'dsadsada',
success: true,
},
});
} else {
return res.status(400).json({
message: '用户名或密码错误',
});
}
}
next();
};
最后在修改package.json
"json-server": "json-server __json_server_mock__/db.json --watch --middlewares ./__json_server_mock__/middleware.ts"
``