快捷搜索: 王者荣耀 脱发

管理系统-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)

派发令牌和验证令牌

①编写验证测试接口

√完成用户接口设计(20222-5-27)

经验分享 程序员 微信小程序 职场和发展