Skip to content

帖子及评论内容格式转换

公司圈为了能够在帖子或评论内容中支持 At及超链接,使用了一套富文本方案,对外简化后,用户只需要将内容理解为不同节点的数组。

  1. 整体设计思想上,内容为二维数组,内层元素的数组表示一个段落,段落的数组组合成内容

  2. 段落数组可以包含四类元素,使用对象表示,通过tag属性区分类型

    1. 文本

      { "tag": "text", "text": "文本内容" }

    2. 超链接

      { "tag": "a", "text": "飞书链接", "href": "https://..." }

    3. At

      { "tag": "at", "user_id": "ou_xxxxxx" , "user_name": "Abracadabra Cheng" }

    4. Hashtag

      { "tag": "hashtag", "text": "#ExampleHashtag" }

      1. Hashtag 仅在发布动态接口中支持,发布评论不支持 Hashtag
      2. Hashtag 需满足规则:以 # 开头,后面跟随 1-50 个字符,无标点符号、空格等特殊字符

例如:

你好 飞书链接 @程成

是吗 #ExampleHashtag

转成:

json
[
    [
        {
            "tag":"text",
            "text":"你好"
        },
        {
            "tag":"a",
            "text":"飞书链接",
            "href":"https://bytedance.feishu.cn"
        },
        {
            "tag":"at",
            "user_id":"ou_xxxxx",
            "user_name":"Abracadabra Cheng"
        }
    ],
    [
        {
            "tag":"text",
            "text":" 是吗"
        },
        {
            "tag":"hashtag",
            "text":"#ExampleHashtag"
        }
    ]
]

例如:

你好

飞书链接 @程成

转成:

json
[
    [
        {
            "tag":"text",
            "text":"你好"
        }
    ],
    [
        {
            "tag":"a",
            "text":"飞书链接",
            "href":"https://bytedance.feishu.cn"
        },
        {
            "tag":"at",
            "user_id":"ou_xxxxx",
            "user_name":"Abracadabra Cheng"
        }
    ]
]

内容来源:飞书开放平台 · 自动爬取整理