删除草稿或附属文件

  • 接口地址: /api/fresns/editor/delete
  • 请求方式: POST
  • 请求格式: JSON

header 可选参数:

参数名公开模式(是否必传)私有模式(是否必传)
uidYESYES
midYESYES
tokenYESYES

body 参数:

参数名类型是否必传说明
typeNumberYES1.帖子(post_logs) / 2.评论(comment_logs)
logIdNumberYES日志表主键 ID
deleteTypeNumberYES删除类型 1.整篇草稿 / 2.附属文件 / 3.附属扩展内容
2 和 3 的场景是在编辑时,仅删除草稿中的某个文件或扩展
deleteUuidStringNO删除类型 2 和 3 专用,此时必填

返回结果:

成功

{
    "code": 0,
    "message": "ok"
}
1
2
3
4

失败

{
    "code": "code_messages > code",
    "message": "code_messages > message"
}
1
2
3
4

开发说明

  • 所有删除都要验证帖子或者评论的作者是否为本人。
  • 日志表 state 字段为 3,不可删除。
  • 删除「附属文件」
    • 情况 1:该文件所属日志为新草稿,仅在 files > deleted_at 字段填入时间。
    • 情况 2,该文件所属日志为编辑草稿:
      • 帖子:
        • 流程 1、查询主表是否在使用 posts > more_json > files,在使用则流程中止,没有使用则继续下一个流程。
        • 流程 2、查询其他 post_logs > state = 3 的日志是否在使用 post_logs > files_json,在使用则流程中止,没有使用则继续下一个流程。
        • 流程 3、在 files > deleted_at 字段填入时间。
      • 评论:
        • 流程 1、查询主表是否在使用 comments > more_json > files,在使用则流程中止,没有使用则继续下一个流程。
        • 流程 2、查询其他 comment_logs > state = 3 的日志是否在使用 comment_logs > files_json,在使用则流程中止,没有使用则继续下一个流程。
        • 流程 3、在 files > deleted_at 字段填入时间。
  • 删除「附属扩展内容」
    • 查询 extend_linkeds 是否有内容关联了该扩展内容;有则中止操作(还有其他内容在使用该扩展,包括自己主表的关联也算),没有则在 extends > deleted_at 字段填入时间。
  • 删除「整篇草稿」
    • 情况 1,新草稿:
      • 如果该草稿含有附属文件,则在该文件 files > deleted_at 字段填入时间。
      • 如果该草稿含有附属扩展内容,查询 extend_linkeds 是否有内容关联了该扩展内容;有则中止操作,没有则在 extends > deleted_at 字段填入时间。
      • 最后在 post_logs > deleted_atcomment_logs > deleted_at 字段填入时间。
    • 情况 2,编辑草稿:
      • 如果该草稿含有附属文件
        • 草稿为帖子:
          • 流程 1、查询主表是否在使用 posts > more_json > files,在使用则流程中止,没有使用则继续下一个流程。
          • 流程 2、查询其他 post_logs > state = 3 的日志是否在使用 post_logs > files_json,在使用则流程中止,没有使用则继续下一个流程。
          • 流程 3、在 files > deleted_at 字段填入时间。
        • 草稿为评论:
          • 流程 1、查询主表是否在使用 comments > more_json > files,在使用则流程中止,没有使用则继续下一个流程。
          • 流程 2、查询其他 comment_logs > state = 3 的日志是否在使用 comment_logs > files_json,在使用则流程中止,没有使用则继续下一个流程。
          • 流程 3、在 files > deleted_at 字段填入时间。
      • 如果该草稿含有附属扩展内容,查询 extend_linkeds 是否有内容关联了该扩展内容;有则中止操作,没有则在 extends > deleted_at 字段填入时间。
      • 最后在 post_logs > deleted_atcomment_logs > deleted_at 字段填入时间。

新草稿定义

日志表 post_logs > post_idcomment_logs > comment_id 字段值为空的记录,代表新草稿,新草稿是指从未正式发表过的草稿。

编辑草稿定义

帖子日志表 post_logs > post_id 字段有值的记录,post_id 值为帖子主表真实 ID,表示为编辑主表里现有内容的草稿;对应是 post_logs > state = 1 或 2 或 4 三种状态的未正式发表的草稿。

评论日志表 comment_logs > comment_id 字段有值的记录,comment_id 值为评论主表真实 ID,表示为编辑主表里现有内容的草稿;对应是 comment_logs > state = 1 或 2 或 4 三种状态的未正式发表的草稿。