Shu-How Zの小窝

Loading...

Node+Koa2从零搭建通用API服务

【杰哥课堂】-项目实战-Node+Koa2从零搭建通用API服务

https://www.bilibili.com/video/BV13A411w79h 1

source:https://github.com/jj112358/node-api

01-项目初始化


02-项目的基础搭建

03-项目的基本优化(自动重启_配置文件)

yarn add dotenv

1将http服务和app业务拆分

srcapp config constant controller db middleware model router servicemain.js

04-添加路由(处理不同的URL请求)

05-目录结构优化(拆分服务,业务, 路由, 控制器)

06-解析body拆分service层

koa-body 操作数据库service

07-sequelize集成

七.数据库操作
sequelize ORM数据库工具

ORM:对象关系映射
数据表映射(对应)一个类
数据表中的数据行(记录)对应一个对象
数据表字段对应对象的属性
数据表的操作对应对象的方法
I

08-创建User模型
09-添加用户
10-错误处理
11-拆分中间件(上)
11-拆分中间件(下)错误处理的完善

12-密码加密

bcryptjs

13-注册接口总结
14-验证登录

15-颁发token

起源
说起JWT,我们应该来谈一谈基于token的认证和传统的session认证的区别。

JWT的构成
第一部分我们称它为头部(header),第二部分我们称其为载荷(payload,类似于飞机上承载的物品),第三部分是签证(signature).

base64加密

jswt.sign(playload,signsaft,time)

16-用户认证
17-修改密码

18-路由自动加载

router.use() middle

19-封装管理员权限
20-商品图片上传

koabody设置上传路径 上传 +nodefs

filtes.type..

21-商品图片上传优化(类型判断)

22-集成统一的参数格式校验

koa-parameter@

orm 加 sync force:true 创建表 要记得false

23-发布商品写入数据库
24-修改商品接口

25-硬删除接口

//如果要为 deletedAt 列指定自定义名称
deleteAt:'destroyTime'

sequelize.com.cn/core-concepts/paranoid

26-上下架商品mp4

27-商品列表接口实现

偏执表 分页

0
//2.获取分页的具体数据
(parameter)
const offset =(pageNum-1)*pageSize const rows = await Goods.findAll(f offset:offset,limit:pageSize})
pageSize:any

offset

28-添加到购物车(上)-准备工作

计算登录用户的user_id I如果该用户下的goods_id不存在,新建一条记录如果该用户下的goods_id已经存在,更新数量+1

29-添加到购物车(中)
30-添加到购物车(下)
31-获取购物车列表
32-更新购物车
33-删除购物车
34-全选与全不选
35-添加地址接口(上)
36-添加地址接口(下)
37-获取地址列表
38-更新地址接口
39-删除与设置默认
40-生成订单
41-获取订单列表
42-更新订单状态

posted @ 2024-12-12 11:05  KooTeam  阅读(83)  评论(0)    收藏  举报