接口设计
把server端当做一个黑盒,它将怎样与前端通讯?
功能范围
- B端,用户注册,作品管理,模板
 - 编辑器,单个作品的内容获取、修改、预览和发布
 
功能拆分
- 用户信息
 - 作品管理
 - 模板
 - 编辑器(发布和渠道,可以单独设计)
 - 工具类
 
用户信息
- 获取手机短信验证码
 - 登录(包含注册)
 - 获取用户信息
 - 修改用户信息
 
模板
- 首页推荐模板列表(搜索,分页) ——不需要登录校验
 - 获取单个模板信息——不需要登录校验
 - 我的模板列表(搜索,分页)
 
作品管理
- 创建空白作品
 - 复制作品(通过模板创建) PS: 模板即作品,只是有一个标志而已,数据库设计时可以看出来
 - 删除作品
 - 恢复作品
 - 转赠作品
 - 我的作品列表(搜索,分页)
 - 我的回收站列表(搜索,分页)
 
编辑器
设计时分开,但代码中可能会和作品管理写在一起,因为都是针对作品的。
- 查询单个作品信息
 - 保存作品
 - 预览作品
 - 发布作品
 - 发布为模板
 
渠道
- 创建渠道
 - 删除渠道修
 - 改渠道名称
 - 获取单个作品的所有渠道
 
工具类
- 上传图片
 
统一的输出格式
{
    errno: 0, // 错误码,无错误则返回 0
  data: {...}, // 或者 [...]
  message: 'xxx'
}
留作业,设计每个接口的输入和输出,可使用第三方工具 YAPI。
其他
作品统计,会用到单独的统计服务,不在这里出数据
预览作品在h5-server中