返回

Node + React 实战:从0到1 实现记账本(六)

前端

Node.js 和 React 作为当下最热门的前端后端技术栈,其强大性能与丰富的生态圈备受追捧。本系列文章将手把手教你如何使用 Node.js 和 React 搭建一个完整的记账本应用程序,帮助你轻松管理个人财务,实现财务自由。

跟着我们,从零开始构建一个实用的记账本应用程序,让你对 Node.js 和 React 技术栈有更深入的了解。

Node.js 和 React 实战:从0到1 实现记账本(六)

一.获取用户信息

话不多说,直接进入正题。首先打开 /app/controller/user.js,添加 getUserInfo 方法:

const getUserInfo = async (ctx) => {
  const userId = ctx.request.body.userId;
  const result = await ctx.service.user.getUserInfo(userId);
  ctx.body = {
    code: 0,
    data: result,
  };
};

二.数据库的资源获取

接着,在 /app/service/user.js 中添加 getUserInfo 方法:

const getUserInfo = async (userId) => {
  const sql = `SELECT * FROM users WHERE id = ?`;
  const result = await db.query(sql, [userId]);
  return result[0];
};

三.数据库的 update 更新

同样地,在 /app/service/user.js 中添加 updateUserInfo 方法:

const updateUserInfo = async (userInfo) => {
  const sql = `UPDATE users SET username = ?, password = ? WHERE id = ?`;
  const result = await db.query(sql, [userInfo.username, userInfo.password, userInfo.id]);
  return result.affectedRows;
};

四.Egg 文件资源处理

最后,在 /app/router.js 中添加路由规则:

app.get('/api/user/getUserInfo', userController.getUserInfo);
app.put('/api/user/updateUserInfo', userController.updateUserInfo);

至此,有关用户相关的信息接口就完成了。

总结

这一节,我们完成了用户相关的信息接口。通过对用户进行增删改查,我们可以实现用户登录、注册、修改个人信息等功能。下一节,我们将学习如何使用数据库来实现记账功能。

本系列文章将持续更新,敬请期待。

系列文章