管理系统-ITclub(上)
管理系统-ITclub(上)
目标:完成项目 描述:ITclub是一个程序员分享生活动态的平台
1. 初始化项目
第一步:先让项目跑起来
-
启动成功
2. 项目目录结构
├── src # 源代码 │ ├── router # 路由 │ ├── utils # 工具方法 │ ├── conctroller # 所有控制器方法 │ ├── service # 数据库操作相关 │ ├── utils # 全局公用方法 │ ├── constants # 常量 │ ├── middleware # 中间件 │ ├── main.js # 入口文件 加载组件 初始化等 ├── postcss.config.js # postcss 配置 └── package.json # package.json
3. 项目搭建
应用配置信息写到环境变量
① 编写.env 文件
② 通过doenv加载配置的环境变量
③编写配置文件
✔完成项目初始化搭建(2022-05-23)
4. 用户注册接口
编写流程:
-
注册用户路由router编写; 处理函数的控制器controller编写; 操作数据库的service编写;
注意:需要安装koa对body解析的依赖
//目录:./src/app/index.js const Koa = require("koa") const bodyParser = require("koa-bodyparser") const userRouter = require(../router/user_router) const app = new Koa() app.use(bodyParser()) app.use(userRouter.routes()) app.use(userRouter.allowedMethods()) module.exports = app
数据库连接操作(mysql2)
① 安装mysql2
②连接数据库
ps:这里的环境变量需要自己在.env环境配置文件中填写
注册用户校验
① 将用户信息写入到数据库中
# 创建用户表 CREATE TABLE IF NOT EXISTS `user`( id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(30) NOT NULL UNIQUE, password VARCHAR(50) NOT NULL, createAt TIMESTAMP DEFAULT CURRENT_TIMESTAMP, updateAt TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP );
-
插入成功
② 校验用户,创建中间件verifyUser(./src/middleware/user_middleware)
③验证用户是否注册过
密码加密存储
将用户注册的密码拦截之后加密,再存储到数据库中,防止数据库泄露,这里采用MD5加密
①创建 handlePassword 函数
②在utils目录下创建password_handle.js
✔完成用户注册接口(2022-05-24)
5. 用户登录接口
编写流程
-
授权router的编写
-
处理函数的contrler编写
验证中间件(verifyLogin)
-
账号和密码是否为空
-
用户名是否存在
-
验证密码是否一致
-
完成验证
补充处理(index.js)中的路由引入封装
成功登录返回凭证
注意:这里补充一下cookie和token的相关知识 http://t..cn/u4tO1
引入keys(参考http://t..cn/u4tO1 )–>将公钥和私钥写入配置文件下(src/app/config.js)
派发令牌和验证令牌
①编写验证测试接口