Skip to content

端点

/api/filetree/createDailyNote

接口描述

本接口用于创建或打开今天的每日笔记文档。如果文档已存在,将返回现有文档的 ID;如果不存在,则会根据笔记本的每日笔记设置创建新文档,然后返回新创建文档的 ID。

每日笔记的创建路径由笔记本配置中的 dailyNoteSavePath 模板决定,默认值为

go
/daily note/{{now | date "2006/01"}}/{{now | date "2006-01-02"}}

请求参数

请求体为一个 JSON 对象,包含以下字段:

参数名类型必需描述
notebookstring笔记本 ID,用于指定在哪个笔记本中创建每日笔记。
appstring客户端应用标识,用于事件推送。
callbackstring用于事件回调的标识符。

响应体

成功时,响应体为一个 JSON 对象,包含以下字段:

参数名类型描述
codenumber状态码,0 表示成功。
msgstring错误信息,成功时为空字符串。
dataobject包含 id 字段,表示创建或获取的每日笔记的文档 ID。

请求示例

json
{
  "notebook": "20200812223209-lj3enxa"
}

响应示例

成功响应:

json
{
  "code": 0,
  "msg": "",
  "data": {
    "id": "20200915111353-az8ppkf"
  }
}

失败响应(笔记本不存在):

json
{
  "code": 1,
  "msg": "notebook not found",
  "data": null
}

失败响应(未配置每日笔记保存路径):

json
{
  "code": -1,
  "msg": "未设置每日笔记存放路径,请在 [设置 - 资源文件] 中配置",
  "data": null
}

错误码

错误码描述
0成功
1笔记本不存在(ErrBoxNotFound)
-1其他错误,如未设置每日笔记存放路径、模板渲染失败等

源码定位

后端实现相关的核心逻辑可以在以下文件中找到:

  • 路由定义:siyuan/kernel/api/router.go(路由 /api/filetree/createDailyNote
  • API 处理函数:siyuan/kernel/api/filetree.go(函数 createDailyNote
  • 模型层实现:siyuan/kernel/model/file.go(函数 CreateDailyNote