@wetoria/siyuan-sdk 0.0.2 → 0.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. package/README.md +83 -7
  2. package/dist/api/attr/index.d.ts +17 -12
  3. package/dist/api/attr/index.d.ts.map +1 -1
  4. package/dist/api/attr/index.js.map +1 -1
  5. package/dist/api/block/index.d.ts +52 -10
  6. package/dist/api/block/index.d.ts.map +1 -1
  7. package/dist/api/block/index.js +6 -6
  8. package/dist/api/block/index.js.map +1 -1
  9. package/dist/api/file/index.d.ts +11 -2
  10. package/dist/api/file/index.d.ts.map +1 -1
  11. package/dist/api/file/index.js.map +1 -1
  12. package/dist/api/notebook/index.d.ts +7 -3
  13. package/dist/api/notebook/index.d.ts.map +1 -1
  14. package/dist/api/notebook/index.js.map +1 -1
  15. package/dist/core/index.d.ts +23 -4
  16. package/dist/core/index.d.ts.map +1 -1
  17. package/dist/core/index.js +34 -0
  18. package/dist/core/index.js.map +1 -1
  19. package/dist/index.d.ts +6 -0
  20. package/dist/index.d.ts.map +1 -1
  21. package/dist/index.js +6 -0
  22. package/dist/index.js.map +1 -1
  23. package/dist/types/index.d.ts +54 -24
  24. package/dist/types/index.d.ts.map +1 -1
  25. package/dist/types/index.js +1 -1
  26. package/dist/types/index.js.map +1 -1
  27. package/dist/types/transaction/index.d.ts +39 -0
  28. package/dist/types/transaction/index.d.ts.map +1 -0
  29. package/dist/types/transaction/index.js +8 -0
  30. package/dist/types/transaction/index.js.map +1 -0
  31. package/package.json +1 -1
  32. package/src/api/attr/index.ts +24 -11
  33. package/src/api/block/index.ts +68 -20
  34. package/src/api/file/index.ts +11 -1
  35. package/src/api/notebook/index.ts +12 -3
  36. package/src/core/index.ts +57 -7
  37. package/src/index.ts +7 -0
  38. package/src/types/index.ts +85 -24
  39. package/src/types/transaction/index.ts +45 -0
package/README.md CHANGED
@@ -10,21 +10,97 @@ pnpm add @wetoria/siyuan-sdk
10
10
 
11
11
  ## Usage
12
12
 
13
+ ### 基本使用
14
+
15
+ ```typescript
16
+ import { createAPI } from '@wetoria/siyuan-sdk'
17
+
18
+ // 方式 1: 使用 baseURL 和 token
19
+ const sdk = createAPI({
20
+ baseURL: 'http://localhost:6806',
21
+ token: 'your-token',
22
+ })
23
+
24
+ // 调用 API
25
+ const notebooks = await sdk.lsNotebooks()
26
+ console.log(notebooks.data)
27
+ ```
28
+
29
+ ### 使用自定义 Fetch
30
+
31
+ ```typescript
32
+ import { createAPI } from '@wetoria/siyuan-sdk'
33
+ import { fetchSyncPost } from 'siyuan'
34
+
35
+ // 方式 2: 使用 customFetch(适用于思源插件环境)
36
+ const sdk = createAPI({
37
+ customFetch: async (url, data) => {
38
+ const response = await fetchSyncPost(url, data)
39
+ return response.code === 0 ? response.data : null
40
+ },
41
+ })
42
+
43
+ // 调用 API
44
+ const notebooks = await sdk.lsNotebooks()
45
+ ```
46
+
47
+ ## 补充不存在的 API
48
+
49
+ 如果 SDK 中缺少某个 API 方法,你可以通过以下方式自行添加:
50
+
51
+ ### 方法 1: 扩展类型并添加实现
52
+
53
+ ```typescript
54
+ import { createAPI, SyApiResponse } from '@wetoria/siyuan-sdk'
55
+
56
+ // 1. 扩展 SiYuanAPI 接口类型
57
+ declare module '@wetoria/siyuan-sdk' {
58
+ interface SiYuanAPI {
59
+ // 定义你的自定义方法
60
+ myCustomMethod: (param: string) => Promise<SyApiResponse<any>>
61
+ }
62
+ }
63
+
64
+ // 2. 创建 SDK 实例
65
+ const sdk = createAPI({
66
+ baseURL: 'http://localhost:6806',
67
+ token: 'your-token',
68
+ })
69
+
70
+ // 3. 实现自定义方法
71
+ sdk.myCustomMethod = function (param: string) {
72
+ return this.request('/api/custom/endpoint', { param })
73
+ }
74
+
75
+ // 4. 使用自定义方法
76
+ const result = await sdk.myCustomMethod('value')
77
+ ```
78
+
79
+ ### 方法 2: 直接使用 request 方法
80
+
81
+ 如果只是临时使用,可以直接调用 `request` 方法:
82
+
13
83
  ```typescript
14
- import { createClient } from '@wetoria/siyuan-sdk'
84
+ import { createAPI } from '@wetoria/siyuan-sdk'
15
85
 
16
- // Create a client instance
17
- const client = createClient({
86
+ const sdk = createAPI({
18
87
  baseURL: 'http://localhost:6806',
19
88
  token: 'your-token',
20
- timeout: 30000,
21
89
  })
22
90
 
23
- // Make API requests
24
- const response = await client.request('/api/notebook/lsNotebooks')
25
- console.log(response.data)
91
+ // 直接调用 request 方法
92
+ const result = await sdk.request('/api/custom/endpoint', {
93
+ param: 'value',
94
+ })
26
95
  ```
27
96
 
97
+
98
+
99
+ ## API 文档
100
+
101
+ - [思源 API 文档](https://github.com/siyuan-note/siyuan/blob/master/API.md)
102
+ - [思源 API 文档(中文)](https://github.com/siyuan-note/siyuan/blob/master/API_zh_CN.md)
103
+
28
104
  ## Development
29
105
 
30
106
  ```bash
@@ -1,5 +1,5 @@
1
1
  import type { SyApiMethodResponse } from '../../core/index.js';
2
- import type { BlockId } from '../../types/index.js';
2
+ import type { BlockId, IBlockAttrs, ISettableBlockAttrs } from '../../types/index.js';
3
3
  /**
4
4
  * Attributes API 类型定义
5
5
  */
@@ -7,33 +7,38 @@ export interface AttrAPI {
7
7
  /**
8
8
  * 设置块属性
9
9
  * @path /api/attr/setBlockAttrs
10
+ * @param id - The ID of the block
11
+ * @param attrs - The attributes to set. System properties (id, updated, type, status, refcount, parent-heading, embed-content, scroll) are not allowed to be modified
12
+ * @returns - Promise<{ code: number, msg: string, data: null }>
10
13
  */
11
- setBlockAttrs: (id: BlockId, attrs: {
12
- [key: string]: string;
13
- }) => SyApiMethodResponse<any>;
14
+ setBlockAttrs: (id: BlockId, attrs: Partial<ISettableBlockAttrs>) => SyApiMethodResponse<null>;
14
15
  /**
15
16
  * 获取块属性
16
17
  * @path /api/attr/getBlockAttrs
18
+ * @param id - The ID of the block
19
+ * @returns - Promise<{ code: number, msg: string, data: IBlockAttrs }>
17
20
  */
18
- getBlockAttrs: (id: BlockId) => SyApiMethodResponse<{
19
- [key: string]: string;
20
- }>;
21
+ getBlockAttrs: (id: BlockId) => SyApiMethodResponse<IBlockAttrs>;
21
22
  /**
22
23
  * 批量设置块属性
23
24
  * @path /api/attr/batchSetBlockAttrs
25
+ * @param blockAttrs - Array of block attributes to set
26
+ * @param blockAttrs[].id - The ID of the block
27
+ * @param blockAttrs[].attrs - The attributes to set. System properties (id, updated, type, status, refcount, parent-heading, embed-content, scroll) are not allowed to be modified
28
+ * @returns - Promise<{ code: number, msg: string, data: null }>
24
29
  */
25
30
  batchSetBlockAttrs: (blockAttrs: Array<{
26
31
  id: BlockId;
27
- attrs: {
28
- [key: string]: string;
29
- };
30
- }>) => SyApiMethodResponse<any>;
32
+ attrs: Partial<ISettableBlockAttrs>;
33
+ }>) => SyApiMethodResponse<null>;
31
34
  /**
32
35
  * 批量获取块属性
33
36
  * @path /api/attr/batchGetBlockAttrs
37
+ * @param ids - The IDs of the blocks
38
+ * @returns - Promise<{ code: number, msg: string, data: { [key: string]: IBlockAttrs } }>
34
39
  */
35
40
  batchGetBlockAttrs: (ids: BlockId[]) => SyApiMethodResponse<{
36
- [key: string]: string;
41
+ [key: string]: IBlockAttrs;
37
42
  }>;
38
43
  }
39
44
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/attr/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAC9D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AAGnD;;GAEG;AACH,MAAM,WAAW,OAAO;IACtB;;;OAGG;IACH,aAAa,EAAE,CACb,EAAE,EAAE,OAAO,EACX,KAAK,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,KAC7B,mBAAmB,CAAC,GAAG,CAAC,CAAA;IAC7B;;;OAGG;IACH,aAAa,EAAE,CAAC,EAAE,EAAE,OAAO,KAAK,mBAAmB,CAAC;QAClD,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KACtB,CAAC,CAAA;IACF;;;OAGG;IACH,kBAAkB,EAAE,CAAC,UAAU,EAAE,KAAK,CAAC;QACrC,EAAE,EAAE,OAAO,CAAA;QACX,KAAK,EAAE;YAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;SAAE,CAAA;KACjC,CAAC,KAAK,mBAAmB,CAAC,GAAG,CAAC,CAAA;IAC/B;;;OAGG;IACH,kBAAkB,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,mBAAmB,CAAC;QAC1D,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KACtB,CAAC,CAAA;CACH"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/attr/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAC9D,OAAO,KAAK,EACV,OAAO,EACP,WAAW,EACX,mBAAmB,EACpB,MAAM,sBAAsB,CAAA;AAG7B;;GAEG;AACH,MAAM,WAAW,OAAO;IACtB;;;;;;OAMG;IACH,aAAa,EAAE,CACb,EAAE,EAAE,OAAO,EACX,KAAK,EAAE,OAAO,CAAC,mBAAmB,CAAC,KAChC,mBAAmB,CAAC,IAAI,CAAC,CAAA;IAC9B;;;;;OAKG;IACH,aAAa,EAAE,CAAC,EAAE,EAAE,OAAO,KAAK,mBAAmB,CAAC,WAAW,CAAC,CAAA;IAChE;;;;;;;OAOG;IACH,kBAAkB,EAAE,CAAC,UAAU,EAAE,KAAK,CAAC;QACrC,EAAE,EAAE,OAAO,CAAA;QACX,KAAK,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAAA;KACpC,CAAC,KAAK,mBAAmB,CAAC,IAAI,CAAC,CAAA;IAChC;;;;;OAKG;IACH,kBAAkB,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,mBAAmB,CAAC;QAC1D,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,CAAA;KAC3B,CAAC,CAAA;CACH"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/api/attr/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAsC/C,SAAS,CAAC,SAAS,CAAC,aAAa,GAAG,UAAU,EAAU,EAAE,KAAgC;IACxF,OAAO,IAAI,CAAC,OAAO,CAAC,yBAAyB,EAAE;QAC7C,EAAE;QACF,KAAK;KACN,CAAC,CAAA;AACJ,CAAC,CAAA;AAED,SAAS,CAAC,SAAS,CAAC,aAAa,GAAG,UAAU,EAAU;IACtD,OAAO,IAAI,CAAC,OAAO,CAAC,yBAAyB,EAAE,EAAE,EAAE,EAAE,CAAC,CAAA;AACxD,CAAC,CAAA;AAED,SAAS,CAAC,SAAS,CAAC,kBAAkB,GAAG,UAAU,UAAmE;IACpH,OAAO,IAAI,CAAC,OAAO,CAAC,8BAA8B,EAAE,EAAE,UAAU,EAAE,CAAC,CAAA;AACrE,CAAC,CAAA;AAED,SAAS,CAAC,SAAS,CAAC,kBAAkB,GAAG,UAAU,GAAa;IAC9D,OAAO,IAAI,CAAC,OAAO,CAAC,8BAA8B,EAAE,EAAE,GAAG,EAAE,CAAC,CAAA;AAC9D,CAAC,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/api/attr/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AA+C/C,SAAS,CAAC,SAAS,CAAC,aAAa,GAAG,UAAU,EAAU,EAAE,KAAmC;IAC3F,OAAO,IAAI,CAAC,OAAO,CAAC,yBAAyB,EAAE;QAC7C,EAAE;QACF,KAAK;KACN,CAAC,CAAA;AACJ,CAAC,CAAA;AAED,SAAS,CAAC,SAAS,CAAC,aAAa,GAAG,UAAU,EAAU;IACtD,OAAO,IAAI,CAAC,OAAO,CAAC,yBAAyB,EAAE,EAAE,EAAE,EAAE,CAAC,CAAA;AACxD,CAAC,CAAA;AAED,SAAS,CAAC,SAAS,CAAC,kBAAkB,GAAG,UAAU,UAAsE;IACvH,OAAO,IAAI,CAAC,OAAO,CAAC,8BAA8B,EAAE,EAAE,UAAU,EAAE,CAAC,CAAA;AACrE,CAAC,CAAA;AAED,SAAS,CAAC,SAAS,CAAC,kBAAkB,GAAG,UAAU,GAAa;IAC9D,OAAO,IAAI,CAAC,OAAO,CAAC,8BAA8B,EAAE,EAAE,GAAG,EAAE,CAAC,CAAA;AAC9D,CAAC,CAAA"}
@@ -1,5 +1,5 @@
1
1
  import type { SyApiMethodResponse } from '../../core/index.js';
2
- import type { BlockId, NotebookId } from '../../types/index.js';
2
+ import type { Block, BlockDOM, BlockId, ChildBlock, NotebookId, TransactionItem } from '../../types/index.js';
3
3
  /**
4
4
  * Block API 类型定义
5
5
  */
@@ -7,26 +7,51 @@ export interface BlockAPI {
7
7
  /**
8
8
  * 插入块
9
9
  * @path /api/block/insertBlock
10
+ * @param data - The data for the block
11
+ * @param data.dataType - The type of the data(markdown, dom), default is 'markdown'
12
+ * @param data.data - The data for the block
13
+ * @param data.nextID - The next ID of the block
14
+ * @param data.previousID - The previous ID of the block
15
+ * @param data.parentID - The parent ID of the block
16
+ * @returns - Promise<{ code: number, msg: string, data: TransactionItem[] }>
10
17
  */
11
- insertBlock: (dataType: 'markdown' | 'dom', data: string, nextID?: BlockId, previousID?: BlockId, parentID?: BlockId) => SyApiMethodResponse<any[]>;
18
+ insertBlock: (data: {
19
+ dataType?: 'markdown' | 'dom';
20
+ data: string;
21
+ nextID?: BlockId;
22
+ previousID?: BlockId;
23
+ parentID?: BlockId;
24
+ }) => SyApiMethodResponse<TransactionItem[]>;
12
25
  /**
13
26
  * 在块的开头插入内容
14
27
  * @path /api/block/prependBlock
28
+ * @param dataType - The type of the data(markdown, dom)
29
+ * @param data - The data for the block
30
+ * @param parentID - The parent ID of the block
31
+ * @returns - Promise<{ code: number, msg: string, data: TransactionItem[] }>
15
32
  */
16
- prependBlock: (dataType: 'markdown' | 'dom', data: string, parentID: BlockId) => SyApiMethodResponse<any[]>;
33
+ prependBlock: (dataType: 'markdown' | 'dom', data: string, parentID: BlockId) => SyApiMethodResponse<TransactionItem[]>;
17
34
  /**
18
35
  * 在块的末尾追加内容
19
36
  * @path /api/block/appendBlock
37
+ * @param dataType - The type of the data(markdown, dom), default is 'markdown'
38
+ * @param data - The data for the block
39
+ * @param parentID - The parent ID of the block
40
+ * @returns - Promise<{ code: number, msg: string, data: TransactionItem[] }>
20
41
  */
21
- appendBlock: (dataType: 'markdown' | 'dom', data: string, parentID: BlockId) => SyApiMethodResponse<any[]>;
42
+ appendBlock: (dataType: 'markdown' | 'dom', data: string, parentID: BlockId) => SyApiMethodResponse<TransactionItem[]>;
22
43
  /**
23
44
  * 追加 Markdown 内容到块(便捷方法)
24
45
  * @path wrapper: uses appendBlock
46
+ * @param params - The parameters for appending markdown content
47
+ * @param params.data - The markdown data for the block
48
+ * @param params.parentID - The parent ID of the block
49
+ * @returns - Promise<{ code: number, msg: string, data: TransactionItem[] }>
25
50
  */
26
51
  appendMDToBlock: (params: {
27
52
  data: string;
28
53
  parentID: BlockId;
29
- }) => SyApiMethodResponse<any[]>;
54
+ }) => SyApiMethodResponse<TransactionItem[]>;
30
55
  /**
31
56
  * 追加 Markdown 内容到块并返回块 ID(便捷方法)
32
57
  * @path wrapper: uses appendBlock
@@ -43,13 +68,19 @@ export interface BlockAPI {
43
68
  /**
44
69
  * 更新块内容
45
70
  * @path /api/block/updateBlock
71
+ * @param dataType - The type of the data(markdown, dom)
72
+ * @param data - The data for the block
73
+ * @param id - The ID of the block to update
74
+ * @returns - Promise<{ code: number, msg: string, data: TransactionItem[] }>
46
75
  */
47
- updateBlock: (dataType: 'markdown' | 'dom', data: string, id: BlockId) => SyApiMethodResponse<any[]>;
76
+ updateBlock: (dataType: 'markdown' | 'dom', data: string, id: BlockId) => SyApiMethodResponse<TransactionItem[]>;
48
77
  /**
49
78
  * 删除块
50
79
  * @path /api/block/deleteBlock
80
+ * @param id - The ID of the block to delete
81
+ * @returns - Promise<{ code: number, msg: string, data: TransactionItem[] }>
51
82
  */
52
- deleteBlock: (id: BlockId) => SyApiMethodResponse<any[]>;
83
+ deleteBlock: (id: BlockId) => SyApiMethodResponse<TransactionItem[]>;
53
84
  /**
54
85
  * 移动块
55
86
  * @path /api/block/moveBlock
@@ -63,8 +94,10 @@ export interface BlockAPI {
63
94
  /**
64
95
  * 获取子块列表
65
96
  * @path /api/block/getChildBlocks
97
+ * @param id - The ID of the parent block
98
+ * @returns - Promise<{ code: number, msg: string, data: ChildBlock[] }>
66
99
  */
67
- getChildBlocks: (id: BlockId) => SyApiMethodResponse<any[]>;
100
+ getChildBlocks: (id: BlockId) => SyApiMethodResponse<ChildBlock[]>;
68
101
  /**
69
102
  * 获取块的索引位置
70
103
  * @path /api/block/getBlocksIndexes
@@ -81,11 +114,20 @@ export interface BlockAPI {
81
114
  * 获取块信息(通过 SQL 查询)
82
115
  * @path wrapper: uses sql
83
116
  */
84
- getBlockInfo: (id: BlockId) => SyApiMethodResponse<any>;
117
+ getBlockInfo: (id: BlockId) => SyApiMethodResponse<Block>;
85
118
  /**
86
119
  * 获取块的 DOM 结构
87
120
  * @path /api/block/getBlockDOM
121
+ * @param id - The ID of the block
122
+ * @returns - Promise<{ code: number, msg: string, data: BlockDOM }>
123
+ */
124
+ getBlockDOM: (id: BlockId) => SyApiMethodResponse<BlockDOM>;
125
+ /**
126
+ * 批量获取块的 DOM 结构
127
+ * @path /api/block/getBlockDOMs
128
+ * @param ids - The IDs of the blocks
129
+ * @returns - Promise<{ code: number, msg: string, data: BlockDOM[] }>
88
130
  */
89
- getBlockDOM: (id: BlockId) => SyApiMethodResponse<any>;
131
+ getBlockDOMs: (ids: BlockId[]) => SyApiMethodResponse<BlockDOM[]>;
90
132
  }
91
133
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/block/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAC9D,OAAO,KAAK,EACV,OAAO,EACP,UAAU,EACX,MAAM,sBAAsB,CAAA;AAG7B;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB;;;OAGG;IACH,WAAW,EAAE,CACX,QAAQ,EAAE,UAAU,GAAG,KAAK,EAC5B,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,OAAO,EAChB,UAAU,CAAC,EAAE,OAAO,EACpB,QAAQ,CAAC,EAAE,OAAO,KACf,mBAAmB,CAAC,GAAG,EAAE,CAAC,CAAA;IAC/B;;;OAGG;IACH,YAAY,EAAE,CACZ,QAAQ,EAAE,UAAU,GAAG,KAAK,EAC5B,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,OAAO,KACd,mBAAmB,CAAC,GAAG,EAAE,CAAC,CAAA;IAC/B;;;OAGG;IACH,WAAW,EAAE,CACX,QAAQ,EAAE,UAAU,GAAG,KAAK,EAC5B,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,OAAO,KACd,mBAAmB,CAAC,GAAG,EAAE,CAAC,CAAA;IAC/B;;;OAGG;IACH,eAAe,EAAE,CAAC,MAAM,EAAE;QACxB,IAAI,EAAE,MAAM,CAAA;QACZ,QAAQ,EAAE,OAAO,CAAA;KAClB,KAAK,mBAAmB,CAAC,GAAG,EAAE,CAAC,CAAA;IAChC;;;OAGG;IACH,4BAA4B,EAAE,CAAC,MAAM,EAAE;QACrC,IAAI,EAAE,MAAM,CAAA;QACZ,QAAQ,EAAE,OAAO,CAAA;KAClB,KAAK,mBAAmB,CAAC,MAAM,GAAG,SAAS,CAAC,CAAA;IAC7C;;;OAGG;IACH,oBAAoB,EAAE,CACpB,QAAQ,EAAE,UAAU,GAAG,KAAK,EAC5B,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,UAAU,KACjB,mBAAmB,CAAC,GAAG,EAAE,CAAC,CAAA;IAC/B;;;OAGG;IACH,WAAW,EAAE,CACX,QAAQ,EAAE,UAAU,GAAG,KAAK,EAC5B,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,OAAO,KACR,mBAAmB,CAAC,GAAG,EAAE,CAAC,CAAA;IAC/B;;;OAGG;IACH,WAAW,EAAE,CAAC,EAAE,EAAE,OAAO,KAAK,mBAAmB,CAAC,GAAG,EAAE,CAAC,CAAA;IACxD;;;OAGG;IACH,SAAS,EAAE,CACT,EAAE,EAAE,OAAO,EACX,UAAU,CAAC,EAAE,OAAO,EACpB,QAAQ,CAAC,EAAE,OAAO,KACf,mBAAmB,CAAC,GAAG,EAAE,CAAC,CAAA;IAC/B;;;OAGG;IACH,gBAAgB,EAAE,CAAC,EAAE,EAAE,OAAO,KAAK,mBAAmB,CAAC,GAAG,CAAC,CAAA;IAC3D;;;OAGG;IACH,cAAc,EAAE,CAAC,EAAE,EAAE,OAAO,KAAK,mBAAmB,CAAC,GAAG,EAAE,CAAC,CAAA;IAC3D;;;OAGG;IACH,gBAAgB,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,mBAAmB,CAAC;QACxD,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KACtB,CAAC,CAAA;IACF;;;OAGG;IACH,gBAAgB,EAAE,CAChB,MAAM,EAAE,OAAO,EACf,IAAI,EAAE,OAAO,EACb,MAAM,EAAE,OAAO,EAAE,KACd,mBAAmB,CAAC,GAAG,CAAC,CAAA;IAC7B;;;OAGG;IACH,YAAY,EAAE,CAAC,EAAE,EAAE,OAAO,KAAK,mBAAmB,CAAC,GAAG,CAAC,CAAA;IACvD;;;OAGG;IACH,WAAW,EAAE,CAAC,EAAE,EAAE,OAAO,KAAK,mBAAmB,CAAC,GAAG,CAAC,CAAA;CACvD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/block/index.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,8 @@
1
1
  import { SiYuanAPI } from '../../core/index.js';
2
- SiYuanAPI.prototype.insertBlock = function (dataType, data, nextID, previousID, parentID) {
2
+ SiYuanAPI.prototype.insertBlock = function (data) {
3
3
  return this.request('/api/block/insertBlock', {
4
- dataType,
5
- data,
6
- nextID,
7
- previousID,
8
- parentID,
4
+ ...data,
5
+ dataType: data.dataType || 'markdown',
9
6
  });
10
7
  };
11
8
  SiYuanAPI.prototype.prependBlock = function (dataType, data, parentID) {
@@ -84,4 +81,7 @@ SiYuanAPI.prototype.getBlockInfo = async function (id) {
84
81
  SiYuanAPI.prototype.getBlockDOM = function (id) {
85
82
  return this.request('/api/block/getBlockDOM', { id });
86
83
  };
84
+ SiYuanAPI.prototype.getBlockDOMs = function (ids) {
85
+ return this.request('/api/block/getBlockDOMs', { ids });
86
+ };
87
87
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/api/block/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/api/block/index.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { SyApiMethodResponse } from '../../core/index.js';
1
+ import { SyApiMethodResponse, SyApiResponse } from '../../core/index.js';
2
2
  /**
3
3
  * File API 类型定义
4
4
  */
@@ -6,8 +6,17 @@ export interface FileAPI {
6
6
  /**
7
7
  * 获取文件内容
8
8
  * @path /api/file/getFile
9
+ * @param path - The file path
10
+ * @returns - Promise<string | SyApiResponse<string | null>>
11
+ * 返回值可能是:
12
+ * - 文件存在时:直接返回文件内容(字符串)
13
+ * - 文件不存在或出错时:标准结构 { code: number, msg: string, data: null }
14
+ * - code: 404 表示文件不存在
15
+ * - code: 403 表示路径无效或权限不足
16
+ * - code: 405 表示路径是目录
17
+ * - code: 500 表示读取文件失败
9
18
  */
10
- getFile: (path: string) => SyApiMethodResponse<any>;
19
+ getFile: (path: string) => Promise<string | SyApiResponse<string | null>>;
11
20
  /**
12
21
  * 上传/创建文件
13
22
  * @path /api/file/putFile
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/file/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,mBAAmB,EACpB,MAAM,qBAAqB,CAAA;AAE5B;;GAEG;AACH,MAAM,WAAW,OAAO;IACtB;;;OAGG;IACH,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,mBAAmB,CAAC,GAAG,CAAC,CAAA;IACnD;;;OAGG;IACH,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,KAAK,mBAAmB,CAAC,GAAG,CAAC,CAAA;IAC9E;;;OAGG;IACH,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,mBAAmB,CAAC,GAAG,CAAC,CAAA;IACtD;;;OAGG;IACH,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,mBAAmB,CAAC,GAAG,CAAC,CAAA;CACpD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/file/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,mBAAmB,EACnB,aAAa,EACd,MAAM,qBAAqB,CAAA;AAE5B;;GAEG;AACH,MAAM,WAAW,OAAO;IACtB;;;;;;;;;;;;OAYG;IACH,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,aAAa,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAA;IACzE;;;OAGG;IACH,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,KAAK,mBAAmB,CAAC,GAAG,CAAC,CAAA;IAC9E;;;OAGG;IACH,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,mBAAmB,CAAC,GAAG,CAAC,CAAA;IACtD;;;OAGG;IACH,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,mBAAmB,CAAC,GAAG,CAAC,CAAA;CACpD"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/api/file/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,GAEV,MAAM,qBAAqB,CAAA;AA4B5B,SAAS,CAAC,SAAS,CAAC,OAAO,GAAG,KAAK,WAAW,IAAY;IACxD,IAAI,CAAC;QACH,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE,EAAE,IAAI,EAAE,CAAC,CAAA;IAC1D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO;YACL,IAAI,EAAE,CAAC,CAAC;YACR,GAAG,EAAE,oBAAoB;YACzB,IAAI,EAAE,IAAI;SACX,CAAA;IACH,CAAC;AACH,CAAC,CAAA;AAED,SAAS,CAAC,SAAS,CAAC,OAAO,GAAG,UAAU,IAAY,EAAE,KAAc,EAAE,IAAS;IAC7E,MAAM,IAAI,GAAG,IAAI,QAAQ,EAAE,CAAA;IAC3B,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IACzB,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAA;IACtC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IACzB,OAAO,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE,IAAI,CAAC,CAAA;AAChD,CAAC,CAAA;AAED,SAAS,CAAC,SAAS,CAAC,UAAU,GAAG,UAAU,IAAY;IACrD,OAAO,IAAI,CAAC,OAAO,CAAC,sBAAsB,EAAE,EAAE,IAAI,EAAE,CAAC,CAAA;AACvD,CAAC,CAAA;AAED,SAAS,CAAC,SAAS,CAAC,OAAO,GAAG,UAAU,IAAY;IAClD,OAAO,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE,EAAE,IAAI,EAAE,CAAC,CAAA;AACpD,CAAC,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/api/file/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,GAGV,MAAM,qBAAqB,CAAA;AAqC5B,SAAS,CAAC,SAAS,CAAC,OAAO,GAAG,KAAK,WAAW,IAAY;IACxD,IAAI,CAAC;QACH,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE,EAAE,IAAI,EAAE,CAAC,CAAA;IAC1D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO;YACL,IAAI,EAAE,CAAC,CAAC;YACR,GAAG,EAAE,oBAAoB;YACzB,IAAI,EAAE,IAAI;SACX,CAAA;IACH,CAAC;AACH,CAAC,CAAA;AAED,SAAS,CAAC,SAAS,CAAC,OAAO,GAAG,UAAU,IAAY,EAAE,KAAc,EAAE,IAAS;IAC7E,MAAM,IAAI,GAAG,IAAI,QAAQ,EAAE,CAAA;IAC3B,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IACzB,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAA;IACtC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IACzB,OAAO,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE,IAAI,CAAC,CAAA;AAChD,CAAC,CAAA;AAED,SAAS,CAAC,SAAS,CAAC,UAAU,GAAG,UAAU,IAAY;IACrD,OAAO,IAAI,CAAC,OAAO,CAAC,sBAAsB,EAAE,EAAE,IAAI,EAAE,CAAC,CAAA;AACvD,CAAC,CAAA;AAED,SAAS,CAAC,SAAS,CAAC,OAAO,GAAG,UAAU,IAAY;IAClD,OAAO,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE,EAAE,IAAI,EAAE,CAAC,CAAA;AACpD,CAAC,CAAA"}
@@ -1,14 +1,18 @@
1
1
  import type { SyApiMethodResponse } from '../../core/index.js';
2
- import type { NotebookId } from '../../types/index.js';
2
+ import type { Notebook, NotebookId } from '../../types/index.js';
3
+ export interface RespLsNotebooks {
4
+ notebooks: Notebook[];
5
+ }
3
6
  /**
4
7
  * Notebook API 类型定义
5
8
  */
6
9
  export interface NotebookAPI {
7
10
  /**
8
- * 列出所有笔记本
11
+ * List all notebooks
9
12
  * @path /api/notebook/lsNotebooks
13
+ * @returns - Promise<{ notebooks: Notebook[] }>
10
14
  */
11
- lsNotebooks: () => SyApiMethodResponse<any>;
15
+ lsNotebooks: () => SyApiMethodResponse<RespLsNotebooks>;
12
16
  /**
13
17
  * 打开笔记本
14
18
  * @path /api/notebook/openNotebook
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/notebook/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAC9D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAGtD;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B;;;OAGG;IACH,WAAW,EAAE,MAAM,mBAAmB,CAAC,GAAG,CAAC,CAAA;IAC3C;;;OAGG;IACH,YAAY,EAAE,CAAC,QAAQ,EAAE,UAAU,KAAK,mBAAmB,CAAC,GAAG,CAAC,CAAA;IAChE;;;OAGG;IACH,aAAa,EAAE,CAAC,QAAQ,EAAE,UAAU,KAAK,mBAAmB,CAAC,GAAG,CAAC,CAAA;IACjE;;;OAGG;IACH,cAAc,EAAE,CACd,QAAQ,EAAE,UAAU,EACpB,IAAI,EAAE,MAAM,KACT,mBAAmB,CAAC,GAAG,CAAC,CAAA;IAC7B;;;OAGG;IACH,cAAc,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,mBAAmB,CAAC,GAAG,CAAC,CAAA;IAC1D;;;OAGG;IACH,cAAc,EAAE,CAAC,QAAQ,EAAE,UAAU,KAAK,mBAAmB,CAAC,GAAG,CAAC,CAAA;IAClE;;;OAGG;IACH,eAAe,EAAE,CAAC,QAAQ,EAAE,UAAU,KAAK,mBAAmB,CAAC,GAAG,CAAC,CAAA;IACnE;;;OAGG;IACH,eAAe,EAAE,CACf,QAAQ,EAAE,UAAU,EACpB,IAAI,EAAE,GAAG,KACN,mBAAmB,CAAC,GAAG,CAAC,CAAA;CAC9B"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/notebook/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAC9D,OAAO,KAAK,EACV,QAAQ,EACR,UAAU,EACX,MAAM,sBAAsB,CAAA;AAI7B,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,QAAQ,EAAE,CAAA;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B;;;;OAIG;IACH,WAAW,EAAE,MAAM,mBAAmB,CAAC,eAAe,CAAC,CAAA;IACvD;;;OAGG;IACH,YAAY,EAAE,CAAC,QAAQ,EAAE,UAAU,KAAK,mBAAmB,CAAC,GAAG,CAAC,CAAA;IAChE;;;OAGG;IACH,aAAa,EAAE,CAAC,QAAQ,EAAE,UAAU,KAAK,mBAAmB,CAAC,GAAG,CAAC,CAAA;IACjE;;;OAGG;IACH,cAAc,EAAE,CACd,QAAQ,EAAE,UAAU,EACpB,IAAI,EAAE,MAAM,KACT,mBAAmB,CAAC,GAAG,CAAC,CAAA;IAC7B;;;OAGG;IACH,cAAc,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,mBAAmB,CAAC,GAAG,CAAC,CAAA;IAC1D;;;OAGG;IACH,cAAc,EAAE,CAAC,QAAQ,EAAE,UAAU,KAAK,mBAAmB,CAAC,GAAG,CAAC,CAAA;IAClE;;;OAGG;IACH,eAAe,EAAE,CAAC,QAAQ,EAAE,UAAU,KAAK,mBAAmB,CAAC,GAAG,CAAC,CAAA;IACnE;;;OAGG;IACH,eAAe,EAAE,CACf,QAAQ,EAAE,UAAU,EACpB,IAAI,EAAE,GAAG,KACN,mBAAmB,CAAC,GAAG,CAAC,CAAA;CAC9B"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/api/notebook/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAsD/C,SAAS,CAAC,SAAS,CAAC,WAAW,GAAG;IAChC,OAAO,IAAI,CAAC,OAAO,CAAC,2BAA2B,EAAE,EAAE,CAAC,CAAA;AACtD,CAAC,CAAA;AAED,SAAS,CAAC,SAAS,CAAC,YAAY,GAAG,UAAU,QAAgB;IAC3D,OAAO,IAAI,CAAC,OAAO,CAAC,4BAA4B,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAA;AACjE,CAAC,CAAA;AAED,SAAS,CAAC,SAAS,CAAC,aAAa,GAAG,UAAU,QAAgB;IAC5D,OAAO,IAAI,CAAC,OAAO,CAAC,6BAA6B,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAA;AAClE,CAAC,CAAA;AAED,SAAS,CAAC,SAAS,CAAC,cAAc,GAAG,UAAU,QAAgB,EAAE,IAAY;IAC3E,OAAO,IAAI,CAAC,OAAO,CAAC,8BAA8B,EAAE;QAClD,QAAQ;QACR,IAAI;KACL,CAAC,CAAA;AACJ,CAAC,CAAA;AAED,SAAS,CAAC,SAAS,CAAC,cAAc,GAAG,UAAU,IAAY;IACzD,OAAO,IAAI,CAAC,OAAO,CAAC,8BAA8B,EAAE,EAAE,IAAI,EAAE,CAAC,CAAA;AAC/D,CAAC,CAAA;AAED,SAAS,CAAC,SAAS,CAAC,cAAc,GAAG,UAAU,QAAgB;IAC7D,OAAO,IAAI,CAAC,OAAO,CAAC,8BAA8B,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAA;AACnE,CAAC,CAAA;AAED,SAAS,CAAC,SAAS,CAAC,eAAe,GAAG,UAAU,QAAgB;IAC9D,OAAO,IAAI,CAAC,OAAO,CAAC,+BAA+B,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAA;AACpE,CAAC,CAAA;AAED,SAAS,CAAC,SAAS,CAAC,eAAe,GAAG,UAAU,QAAgB,EAAE,IAAS;IACzE,OAAO,IAAI,CAAC,OAAO,CAAC,+BAA+B,EAAE;QACnD,QAAQ;QACR,IAAI;KACL,CAAC,CAAA;AACJ,CAAC,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/api/notebook/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AA4D/C,SAAS,CAAC,SAAS,CAAC,WAAW,GAAG;IAChC,OAAO,IAAI,CAAC,OAAO,CAAC,2BAA2B,EAAE,EAAE,CAAC,CAAA;AACtD,CAAC,CAAA;AAED,SAAS,CAAC,SAAS,CAAC,YAAY,GAAG,UAAU,QAAgB;IAC3D,OAAO,IAAI,CAAC,OAAO,CAAC,4BAA4B,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAA;AACjE,CAAC,CAAA;AAED,SAAS,CAAC,SAAS,CAAC,aAAa,GAAG,UAAU,QAAgB;IAC5D,OAAO,IAAI,CAAC,OAAO,CAAC,6BAA6B,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAA;AAClE,CAAC,CAAA;AAED,SAAS,CAAC,SAAS,CAAC,cAAc,GAAG,UAAU,QAAgB,EAAE,IAAY;IAC3E,OAAO,IAAI,CAAC,OAAO,CAAC,8BAA8B,EAAE;QAClD,QAAQ;QACR,IAAI;KACL,CAAC,CAAA;AACJ,CAAC,CAAA;AAED,SAAS,CAAC,SAAS,CAAC,cAAc,GAAG,UAAU,IAAY;IACzD,OAAO,IAAI,CAAC,OAAO,CAAC,8BAA8B,EAAE,EAAE,IAAI,EAAE,CAAC,CAAA;AAC/D,CAAC,CAAA;AAED,SAAS,CAAC,SAAS,CAAC,cAAc,GAAG,UAAU,QAAgB;IAC7D,OAAO,IAAI,CAAC,OAAO,CAAC,8BAA8B,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAA;AACnE,CAAC,CAAA;AAED,SAAS,CAAC,SAAS,CAAC,eAAe,GAAG,UAAU,QAAgB;IAC9D,OAAO,IAAI,CAAC,OAAO,CAAC,+BAA+B,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAA;AACpE,CAAC,CAAA;AAED,SAAS,CAAC,SAAS,CAAC,eAAe,GAAG,UAAU,QAAgB,EAAE,IAAS;IACzE,OAAO,IAAI,CAAC,OAAO,CAAC,+BAA+B,EAAE;QACnD,QAAQ;QACR,IAAI;KACL,CAAC,CAAA;AACJ,CAAC,CAAA"}
@@ -15,16 +15,29 @@ export interface SyApiResponse<T = any> {
15
15
  msg: string;
16
16
  data: T;
17
17
  }
18
- export type SyApiMethodResponse<T = any> = Promise<SyApiResponse<T> | IWebSocketData>;
18
+ export type SyApiMethodResponse<T = any> = Promise<SyApiResponse<T> | IWebSocketData | T>;
19
19
  /**
20
20
  * 请求选项
21
21
  */
22
22
  export interface RequestOptions {
23
- /** 请求方法 */
23
+ /**
24
+ * 请求方法
25
+ * @default POST
26
+ * @description 请求方法
27
+ * @example 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH'
28
+ */
24
29
  method?: 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH';
25
- /** 请求头 */
30
+ /**
31
+ * 请求头
32
+ * @default {}
33
+ * @description 请求头
34
+ * @example { 'Content-Type': 'application/json' }
35
+ */
26
36
  headers?: Record<string, string>;
27
- /** 超时时间(毫秒) */
37
+ /**
38
+ * 超时时间(毫秒)
39
+ * @default 30000
40
+ */
28
41
  timeout?: number;
29
42
  }
30
43
  /**
@@ -58,6 +71,12 @@ export declare class SiYuanAPI {
58
71
  /** 自定义 fetch 函数(与 token 互斥) */
59
72
  private customFetch?;
60
73
  constructor(config: SiYuanAPIConfig);
74
+ /**
75
+ * 绑定所有原型方法到当前实例
76
+ * 这样即使方法被解构,this 也能正确指向实例
77
+ * @private
78
+ */
79
+ private _bindMethods;
61
80
  setConfig(config: SiYuanAPIConfig): void;
62
81
  /**
63
82
  * 获取当前配置
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAA;AAIvC;;GAEG;AACH,MAAM,WAAW,aAAa,CAAC,CAAC,GAAG,GAAG;IACpC,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,CAAC,CAAA;CACR;AAED,MAAM,MAAM,mBAAmB,CAAC,CAAC,GAAG,GAAG,IAAI,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,CAAA;AAGrF;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,WAAW;IACX,MAAM,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,OAAO,CAAA;IACpD,UAAU;IACV,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAChC,eAAe;IACf,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAKD;;GAEG;AACH,MAAM,MAAM,eAAe,CAAC,CAAC,GAAG,GAAG,IAAI,CACrC,GAAG,EAAE,MAAM,EACX,IAAI,CAAC,EAAE,GAAG,EACV,OAAO,CAAC,EAAE,cAAc,KACrB,mBAAmB,CAAC,CAAC,CAAC,CAAA;AAE3B;;GAEG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,GAAG,GAAG,IAAI,eAAe,CAAC,CAAC,CAAC,CAAA;AAIrD;;GAEG;AACH,MAAM,MAAM,eAAe,GACvB;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,KAAK,CAAA;CAAE,GACvD;IAAE,OAAO,CAAC,EAAE,KAAK,CAAC;IAAC,KAAK,CAAC,EAAE,KAAK,CAAC;IAAC,WAAW,EAAE,eAAe,CAAA;CAAE,CAAA;AAGpE;;GAEG;AACH,qBAAa,SAAS;IACpB,aAAa;IACb,OAAO,CAAC,OAAO,CAAQ;IACvB,iCAAiC;IACjC,OAAO,CAAC,KAAK,CAAC,CAAQ;IACtB,+BAA+B;IAC/B,OAAO,CAAC,WAAW,CAAC,CAAa;gBAGrB,MAAM,EAAE,eAAe;IAInC,SAAS,CAAC,MAAM,EAAE,eAAe,GAAG,IAAI;IAexC;;OAEG;IACH,SAAS,IAAI;QACX,OAAO,EAAE,MAAM,CAAA;QACf,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,WAAW,CAAC,EAAE,WAAW,CAAA;KAC1B;IAQD;;OAEG;YACW,iBAAiB;IAqE/B;;;;;;;;;;;;;OAaG;IACG,OAAO,CAAC,CAAC,GAAG,GAAG,EACnB,GAAG,EAAE,MAAM,EACX,IAAI,CAAC,EAAE,GAAG,EACV,OAAO,CAAC,EAAE,cAAc,GACvB,mBAAmB,CAAC,CAAC,CAAC;IAWnB,IAAI,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,mBAAmB,CAAC,CAAC,CAAC;IAQ9F;;;;;;OAMG;IACH,WAAW,CAAC,CAAC,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI;CAGrD;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,eAAe,GAAG,SAAS,CAE5D"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAA;AAIvC;;GAEG;AACH,MAAM,WAAW,aAAa,CAAC,CAAC,GAAG,GAAG;IACpC,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,CAAC,CAAA;CACR;AAED,MAAM,MAAM,mBAAmB,CAAC,CAAC,GAAG,GAAG,IAAI,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,cAAc,GAAG,CAAC,CAAC,CAAA;AAGzF;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B;;;;;OAKG;IACH,MAAM,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,OAAO,CAAA;IACpD;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAChC;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED;;GAEG;AACH,MAAM,MAAM,eAAe,CAAC,CAAC,GAAG,GAAG,IAAI,CACrC,GAAG,EAAE,MAAM,EACX,IAAI,CAAC,EAAE,GAAG,EACV,OAAO,CAAC,EAAE,cAAc,KACrB,mBAAmB,CAAC,CAAC,CAAC,CAAA;AAE3B;;GAEG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,GAAG,GAAG,IAAI,eAAe,CAAC,CAAC,CAAC,CAAA;AAIrD;;GAEG;AACH,MAAM,MAAM,eAAe,GACvB;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,KAAK,CAAA;CAAE,GACvD;IAAE,OAAO,CAAC,EAAE,KAAK,CAAC;IAAC,KAAK,CAAC,EAAE,KAAK,CAAC;IAAC,WAAW,EAAE,eAAe,CAAA;CAAE,CAAA;AAGpE;;GAEG;AACH,qBAAa,SAAS;IACpB,aAAa;IACb,OAAO,CAAC,OAAO,CAAQ;IACvB,iCAAiC;IACjC,OAAO,CAAC,KAAK,CAAC,CAAQ;IACtB,+BAA+B;IAC/B,OAAO,CAAC,WAAW,CAAC,CAAa;gBAGrB,MAAM,EAAE,eAAe;IAMnC;;;;OAIG;IACH,OAAO,CAAC,YAAY;IAiCpB,SAAS,CAAC,MAAM,EAAE,eAAe,GAAG,IAAI;IAexC;;OAEG;IACH,SAAS,IAAI;QACX,OAAO,EAAE,MAAM,CAAA;QACf,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,WAAW,CAAC,EAAE,WAAW,CAAA;KAC1B;IAQD;;OAEG;YACW,iBAAiB;IAqE/B;;;;;;;;;;;;;OAaG;IACG,OAAO,CAAC,CAAC,GAAG,GAAG,EACnB,GAAG,EAAE,MAAM,EACX,IAAI,CAAC,EAAE,GAAG,EACV,OAAO,CAAC,EAAE,cAAc,GACvB,mBAAmB,CAAC,CAAC,CAAC;IAWnB,IAAI,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,mBAAmB,CAAC,CAAC,CAAC;IAQ9F;;;;;;OAMG;IACH,WAAW,CAAC,CAAC,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI;CAGrD;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,eAAe,GAAG,SAAS,CAE5D"}
@@ -18,6 +18,40 @@ export class SiYuanAPI {
18
18
  customFetch;
19
19
  constructor(config) {
20
20
  this.setConfig(config);
21
+ // 自动绑定所有原型方法,确保在解构或箭头函数中调用时 this 不会丢失
22
+ this._bindMethods();
23
+ }
24
+ /**
25
+ * 绑定所有原型方法到当前实例
26
+ * 这样即使方法被解构,this 也能正确指向实例
27
+ * @private
28
+ */
29
+ _bindMethods() {
30
+ const prototype = SiYuanAPI.prototype;
31
+ const boundMethods = new Set();
32
+ // 获取原型上的所有属性名(包括不可枚举的)
33
+ const propertyNames = Object.getOwnPropertyNames(prototype);
34
+ for (const name of propertyNames) {
35
+ // 跳过已绑定的方法和特殊方法
36
+ if (boundMethods.has(name)
37
+ || name === 'constructor'
38
+ || name.startsWith('_')
39
+ || name === 'setConfig'
40
+ || name === 'getConfig'
41
+ || name === 'extractData'
42
+ || name === '_bindMethods'
43
+ || name === 'request'
44
+ || name === 'post') {
45
+ continue;
46
+ }
47
+ const descriptor = Object.getOwnPropertyDescriptor(prototype, name);
48
+ // 只绑定函数类型的属性
49
+ if (descriptor && typeof descriptor.value === 'function') {
50
+ ;
51
+ this[name] = descriptor.value.bind(this);
52
+ boundMethods.add(name);
53
+ }
54
+ }
21
55
  }
22
56
  setConfig(config) {
23
57
  // 根据配置类型设置属性
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,5 +1,11 @@
1
1
  /**
2
2
  * SiYuan SDK
3
+ *
4
+ * Copyright (c) 2023 Wetoria. All rights reserved.
5
+ * https://github.com/wetoria/sy-plugin-enhance
6
+ *
7
+ * See API Document in [API.md](https://github.com/siyuan-note/siyuan/blob/master/API.md)
8
+ * API 文档见 [API_zh_CN.md](https://github.com/siyuan-note/siyuan/blob/master/API_zh_CN.md)
3
9
  */
4
10
  export * from './api/index.js';
5
11
  export type * from './core/index.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,gBAAgB,CAAA;AAC9B,mBAAmB,iBAAiB,CAAA;AACpC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,kBAAkB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,cAAc,gBAAgB,CAAA;AAC9B,mBAAmB,iBAAiB,CAAA;AACpC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,kBAAkB,CAAA"}
package/dist/index.js CHANGED
@@ -1,5 +1,11 @@
1
1
  /**
2
2
  * SiYuan SDK
3
+ *
4
+ * Copyright (c) 2023 Wetoria. All rights reserved.
5
+ * https://github.com/wetoria/sy-plugin-enhance
6
+ *
7
+ * See API Document in [API.md](https://github.com/siyuan-note/siyuan/blob/master/API.md)
8
+ * API 文档见 [API_zh_CN.md](https://github.com/siyuan-note/siyuan/blob/master/API_zh_CN.md)
3
9
  */
4
10
  export * from './api/index.js';
5
11
  export * from './core/index.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,gBAAgB,CAAA;AAE9B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,kBAAkB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,cAAc,gBAAgB,CAAA;AAE9B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,kBAAkB,CAAA"}