提交内容正式发表

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

header 可选参数:

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

body 参数:

参数名类型是否必传说明
typeNumberYES1.帖子(post_logs) / 2.评论(comment_logs)
logIdNumberYES日志表主键 ID

返回结果:

成功

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

失败

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

开发说明

  • 1、如果是私有模式,当过期后 members > expired_at,该接口不可请求。
  • 2、判断日志表 state 字段,值为 14 的时候才可以提交。
  • 3、编辑已有内容判断:
    • 3.1、全员是否开启编辑功能(配置表)
    • 3.2、编辑功能是否有条件(配置表):时间范围、置顶和加精后
    • 3.3、判断是否为内容的作者(是不是本人)
  • 4、如果发表帖子,日志有小组值,则需要判断该小组是否存在,以及当前成员是否有权在该小组发帖。
  • 5、内容、文件、扩展内容,三种不可全部为空,至少其中一个有值。
  • 6、判断全局发表权限(运营配置 > 发表帖子配置)
    • 6.1、全员发表绑定要求是否满足:绑定邮箱、绑定手机号、实名认证
    • 6.2、特殊规则是否开启:规则Type、日期范围、规则要求
    • 6.3、如果成员主角色是白名单角色,则不受该权限要求,忽略该权限判断。post_limit_whitelistcomment_limit_whitelist
  • 7、主角色判断:如果主角色有过期时间,并且已经过期,则以继承角色权限为主;如果无继承角色(或者该继承 ID 找不到角色),则以配置表 default_role 键名键值的角色权限为准;如果配置表键值为空(或找不到角色),则当无权处理。
    • 7.1、主角色发表权限要求(成员角色表):该角色是否有权发表
    • 7.2、主角色发表绑定要求是否满足(成员角色表):绑定邮箱、绑定手机号、实名认证
    • 7.3、主角色发表是否需要审核:直接通过或者任何情况都需要审核
    • 7.4、主角色发表特殊规则是否开启:规则Type、日期范围、规则要求
  • 8、判断过滤词规则,参见 stop_words 数据表。
  • 9、结论:
    • 9.1、任何一条判断无权后,中止流程,返回状态码和描述。
    • 9.2、有权发表,但触发了审核条件:仅修改日志表状态为待审核 state=2,录入提交审核时间 submit_at,其他不动。
    • 9.3、有权发表,并且没有触发审核条件:调用 fresns_cmd_direct_release_content 命令字,正式提交内容入主表。
  • headerdeviceInfo 记录创建交互日志后,需将日志表 主键 ID 填到 session_logs > object_order_id
  • 补充资料:编辑器逻辑