# 第一章:周介绍

1-1 介绍

  • 需求指导设计,设计指导开发。无设计不开发。
  • 服务端技术方案设计的方法
  • B端和编辑器基本功能API
  • 技术方案设计文档

# 第二章:技术方案设计

2-1 技术方案设计-章介绍

领导技术方案设计、评审技术方案设计。
主要产出:server端技术方案设计
主要内容:

  • 接口设计

  • 选择Restful,而不是GraphQL

  • 数据库设计

  • sever端整体设计

    注意:正视技术方案设计,设计会节约时间。

2-2 接口设计-整理所有接口

  • 接口设计应该是在需求后的第一设计,接口设计好之后,前后端可以并行开发,互不影响。
  • 接口设计是和需求对接最亲密的部分。
  • 功能范围确认--根据功能设计接口

统一的输出格式:

{
	erron:0,
  data:{.....},
  message:''
}

2-3 接口设计-关于预览和数据统计

  • 作品统计/预览作品 单独独立
  • 发布--标识位

2-4 介绍GraphQL的使用和特点 为什么选择Restful API,而没有选择GraphQL

  • GraphQL(Graph Query Language) 图查询语言。
  • 意思是擅长处理"图"数据结构的查询,即多个数据对象,各个之间还有关联关系。
  • 核心概念:schema rootValue

2-5 选择Restful API 而非 GraphQL
应用场景

  • 数据关系比较复杂
  • 前端查询需求多变
  • 有一个独立的数据提供方,对接很多使用方,不能一一定制开发

16-1

2-6 数据库设计-数据表结构
注意,使用sequelize和mongoose,会自动创建id/createAt和updateAt,无需再自己手动创建。

  • 用户表 --讲了一下用户表的表结构
  • 作品/模版--讲了一下作品表的表结构
  • 渠道 -- 同上

2-7 数据库设计-代码演示
src/models下的model设计

2-8 server端架构设计 16-2

2-9 技术方案设计-章总结

领导技术方案设、评审技术方案设计

# 第三章:基础功能开发

3-1 章介绍

  • 登录功能设计
  • 用户信息接口
  • 作品接口
  • 模板接口

3-2 登录功能设计-获取验证码

  • 初次获取验证码
  • 再次获取验证码
  • 登录验证

3-3 登录功能设计-划重点

  • 缓存 -- 禁止频繁发送
  • 短信服务的提示和报警
  • 短信发送失败,不会缓存,可立即重新生成验证码
  • 短信服务挂掉,报警

3-4 制定开发规范

  • 拉新分支 feature-xxx / fix-xxx/ hotfix-xxx
  • commit:参考cz-config,js
  • 往dev分之提交 pr Pull Requerst

3-5 用户信息接口-获取登录验证码 接口

  • 获取手机短信验证码
  • 登录(包含注册)
  • 获取用户信息
  • 修改用户信息

代码演示

  • routers/users.js
  • controller/users/
  • service/users.js
  • chache/users
  • test/apis/users,js

3-6用户信息接口-登录
本节课读代码

3-7 用户信息接口-接口测试 讲的个鸡毛-依然是读代码

3-8 作品接口-创建作品 接口

  • 创建空白作品
  • 复制作品(通过模版创建)
  • 删除作品
  • 恢复作品
  • 转增作品
  • 我的作品列表(搜索 分页)
  • 我的回收列表(搜索 分页)
  • 查询单个作品信息
  • 保存作品

代码演示

  • routes/works.js
  • controller/works.js
  • service/works.js
  • test/api/works.js

3-9 作品接口-查询、更新和复制
同上代码演示

3-10 作品接口-接口测试
垃圾

3-11 模版接口