cc98-cli 0.1.0 → 0.3.0

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 (160) hide show
  1. package/CHANGELOG.md +44 -0
  2. package/README.md +46 -179
  3. package/dist/api/client.d.ts +29 -15
  4. package/dist/api/client.d.ts.map +1 -1
  5. package/dist/api/client.js +163 -31
  6. package/dist/api/client.js.map +1 -1
  7. package/dist/api/endpoints.d.ts +14 -0
  8. package/dist/api/endpoints.d.ts.map +1 -1
  9. package/dist/api/endpoints.js +21 -1
  10. package/dist/api/endpoints.js.map +1 -1
  11. package/dist/api/types.d.ts +12 -0
  12. package/dist/api/types.d.ts.map +1 -1
  13. package/dist/cli/commands/board.d.ts.map +1 -1
  14. package/dist/cli/commands/board.js +15 -0
  15. package/dist/cli/commands/board.js.map +1 -1
  16. package/dist/cli/commands/cache.d.ts +2 -0
  17. package/dist/cli/commands/cache.d.ts.map +1 -0
  18. package/dist/cli/commands/cache.js +68 -0
  19. package/dist/cli/commands/cache.js.map +1 -0
  20. package/dist/cli/commands/me.d.ts.map +1 -1
  21. package/dist/cli/commands/me.js +18 -3
  22. package/dist/cli/commands/me.js.map +1 -1
  23. package/dist/cli/commands/message.d.ts.map +1 -1
  24. package/dist/cli/commands/message.js +10 -0
  25. package/dist/cli/commands/message.js.map +1 -1
  26. package/dist/cli/commands/post.d.ts.map +1 -1
  27. package/dist/cli/commands/post.js +12 -0
  28. package/dist/cli/commands/post.js.map +1 -1
  29. package/dist/cli/commands/topic.d.ts.map +1 -1
  30. package/dist/cli/commands/topic.js +41 -5
  31. package/dist/cli/commands/topic.js.map +1 -1
  32. package/dist/cli/commands/update.d.ts +2 -0
  33. package/dist/cli/commands/update.d.ts.map +1 -0
  34. package/dist/cli/commands/update.js +24 -0
  35. package/dist/cli/commands/update.js.map +1 -0
  36. package/dist/cli/commands/user.d.ts.map +1 -1
  37. package/dist/cli/commands/user.js +12 -0
  38. package/dist/cli/commands/user.js.map +1 -1
  39. package/dist/cli/router.d.ts.map +1 -1
  40. package/dist/cli/router.js +18 -2
  41. package/dist/cli/router.js.map +1 -1
  42. package/dist/storage/cache-store.d.ts +45 -2
  43. package/dist/storage/cache-store.d.ts.map +1 -1
  44. package/dist/storage/cache-store.js +158 -5
  45. package/dist/storage/cache-store.js.map +1 -1
  46. package/dist/storage/token-store.js +1 -1
  47. package/dist/storage/token-store.js.map +1 -1
  48. package/dist/tui/app-new.d.ts +2 -0
  49. package/dist/tui/app-new.d.ts.map +1 -0
  50. package/dist/tui/app-new.js +2589 -0
  51. package/dist/tui/app-new.js.map +1 -0
  52. package/dist/tui/app-old.d.ts +2 -0
  53. package/dist/tui/app-old.d.ts.map +1 -0
  54. package/dist/tui/app-old.js +2589 -0
  55. package/dist/tui/app-old.js.map +1 -0
  56. package/dist/tui/app.d.ts.map +1 -1
  57. package/dist/tui/app.js +14 -1055
  58. package/dist/tui/app.js.map +1 -1
  59. package/dist/tui/borders.d.ts +183 -0
  60. package/dist/tui/borders.d.ts.map +1 -0
  61. package/dist/tui/borders.js +143 -0
  62. package/dist/tui/borders.js.map +1 -0
  63. package/dist/tui/cached-client.d.ts +43 -1
  64. package/dist/tui/cached-client.d.ts.map +1 -1
  65. package/dist/tui/cached-client.js +108 -2
  66. package/dist/tui/cached-client.js.map +1 -1
  67. package/dist/tui/components/content.d.ts +11 -0
  68. package/dist/tui/components/content.d.ts.map +1 -0
  69. package/dist/tui/components/content.js +129 -0
  70. package/dist/tui/components/content.js.map +1 -0
  71. package/dist/tui/components/header.d.ts +7 -0
  72. package/dist/tui/components/header.d.ts.map +1 -0
  73. package/dist/tui/components/header.js +38 -0
  74. package/dist/tui/components/header.js.map +1 -0
  75. package/dist/tui/components/index.d.ts +8 -0
  76. package/dist/tui/components/index.d.ts.map +1 -0
  77. package/dist/tui/components/index.js +9 -0
  78. package/dist/tui/components/index.js.map +1 -0
  79. package/dist/tui/components/layout.d.ts +3 -0
  80. package/dist/tui/components/layout.d.ts.map +1 -0
  81. package/dist/tui/components/layout.js +464 -0
  82. package/dist/tui/components/layout.js.map +1 -0
  83. package/dist/tui/components/overview.d.ts +7 -0
  84. package/dist/tui/components/overview.d.ts.map +1 -0
  85. package/dist/tui/components/overview.js +20 -0
  86. package/dist/tui/components/overview.js.map +1 -0
  87. package/dist/tui/components/sidebar.d.ts +7 -0
  88. package/dist/tui/components/sidebar.d.ts.map +1 -0
  89. package/dist/tui/components/sidebar.js +58 -0
  90. package/dist/tui/components/sidebar.js.map +1 -0
  91. package/dist/tui/components/status.d.ts +8 -0
  92. package/dist/tui/components/status.d.ts.map +1 -0
  93. package/dist/tui/components/status.js +36 -0
  94. package/dist/tui/components/status.js.map +1 -0
  95. package/dist/tui/components/types.d.ts +17 -0
  96. package/dist/tui/components/types.d.ts.map +1 -0
  97. package/dist/tui/components/types.js +3 -0
  98. package/dist/tui/components/types.js.map +1 -0
  99. package/dist/tui/components/utils.d.ts +5 -0
  100. package/dist/tui/components/utils.d.ts.map +1 -0
  101. package/dist/tui/components/utils.js +68 -0
  102. package/dist/tui/components/utils.js.map +1 -0
  103. package/dist/tui/controller.d.ts +61 -0
  104. package/dist/tui/controller.d.ts.map +1 -0
  105. package/dist/tui/controller.js +1118 -0
  106. package/dist/tui/controller.js.map +1 -0
  107. package/dist/tui/helpers.d.ts +25 -0
  108. package/dist/tui/helpers.d.ts.map +1 -0
  109. package/dist/tui/helpers.js +240 -0
  110. package/dist/tui/helpers.js.map +1 -0
  111. package/dist/tui/keymap/actions.d.ts +9 -0
  112. package/dist/tui/keymap/actions.d.ts.map +1 -0
  113. package/dist/tui/keymap/actions.js +208 -0
  114. package/dist/tui/keymap/actions.js.map +1 -0
  115. package/dist/tui/keymap/bindings.d.ts +5 -0
  116. package/dist/tui/keymap/bindings.d.ts.map +1 -0
  117. package/dist/tui/keymap/bindings.js +138 -0
  118. package/dist/tui/keymap/bindings.js.map +1 -0
  119. package/dist/tui/keymap/index.d.ts +4 -0
  120. package/dist/tui/keymap/index.d.ts.map +1 -0
  121. package/dist/tui/keymap/index.js +5 -0
  122. package/dist/tui/keymap/index.js.map +1 -0
  123. package/dist/tui/keymap/types.d.ts +17 -0
  124. package/dist/tui/keymap/types.d.ts.map +1 -0
  125. package/dist/tui/keymap/types.js +3 -0
  126. package/dist/tui/keymap/types.js.map +1 -0
  127. package/dist/tui/navigation.d.ts +4 -0
  128. package/dist/tui/navigation.d.ts.map +1 -0
  129. package/dist/tui/navigation.js +20 -0
  130. package/dist/tui/navigation.js.map +1 -0
  131. package/dist/tui/renderer.d.ts +6 -0
  132. package/dist/tui/renderer.d.ts.map +1 -0
  133. package/dist/tui/renderer.js +302 -0
  134. package/dist/tui/renderer.js.map +1 -0
  135. package/dist/tui/state/index.d.ts +3 -0
  136. package/dist/tui/state/index.d.ts.map +1 -0
  137. package/dist/tui/state/index.js +4 -0
  138. package/dist/tui/state/index.js.map +1 -0
  139. package/dist/tui/state/store.d.ts +4 -0
  140. package/dist/tui/state/store.d.ts.map +1 -0
  141. package/dist/tui/state/store.js +61 -0
  142. package/dist/tui/state/store.js.map +1 -0
  143. package/dist/tui/state/types.d.ts +137 -0
  144. package/dist/tui/state/types.d.ts.map +1 -0
  145. package/dist/tui/state/types.js +3 -0
  146. package/dist/tui/state/types.js.map +1 -0
  147. package/dist/tui/topic-reader.d.ts +10 -0
  148. package/dist/tui/topic-reader.d.ts.map +1 -0
  149. package/dist/tui/topic-reader.js +167 -0
  150. package/dist/tui/topic-reader.js.map +1 -0
  151. package/dist/update.d.ts +17 -0
  152. package/dist/update.d.ts.map +1 -0
  153. package/dist/update.js +88 -0
  154. package/dist/update.js.map +1 -0
  155. package/dist/version.d.ts +6 -0
  156. package/dist/version.d.ts.map +1 -0
  157. package/dist/version.js +6 -0
  158. package/dist/version.js.map +1 -0
  159. package/images/tui.jpg +0 -0
  160. package/package.json +4 -2
package/CHANGELOG.md ADDED
@@ -0,0 +1,44 @@
1
+ # Changelog
2
+
3
+ ## Unreleased
4
+
5
+ ### 改进
6
+
7
+ - 重构 TUI:删除旧的单文件实现,拆分为入口、控制器、渲染器、组件、状态、导航和帖子阅读器模块。
8
+ - TUI 异步副作用集中到 `TuiController`,修复重构后预览、进入主题、搜索、返回和退出渲染容易断裂的问题。
9
+ - 增强 TUI 数据归一化,兼容 CC98 API 响应中的大小写字段和嵌套主题/用户数据。
10
+ - 更新 TUI 状态栏提示,按当前上下文显示更短的操作提示。
11
+
12
+ ### 修复
13
+
14
+ - 修复 `mapLimit` 并发限制实现错误。
15
+ - 修复退出后异步加载仍可能继续渲染终端的问题。
16
+
17
+ ## v0.2.0 - 2026-05-26
18
+
19
+ 这次更新主要改进 TUI 的浏览体验,并补上本地缓存和更新检查能力。
20
+
21
+ ### 新增
22
+
23
+ - 新增 `cc98 update`,可检查 GitHub Release 上的最新版本。
24
+ - 新增 `cc98 cache` 命令,支持查看缓存统计、清理过期缓存和清空缓存。
25
+ - TUI 新增设置页,支持缓存清理、快捷键帮助和检查更新。
26
+ - 帖子阅读新增楼层概念,支持数字加 Enter 跳转楼层,`【` / `】` 在楼层之间切换。
27
+ - 帖子阅读右栏新增当前楼层、当前行、图片、链接、评分和热门回复信息。
28
+
29
+ ### 改进
30
+
31
+ - 优化 TUI 左栏、中栏和右栏的信息架构,每个栏目拥有独立的右侧说明。
32
+ - 优化消息、设置等栏目标题和选中态显示。
33
+ - 优化帖子内 `j/k` 行滚动,保留逐行查看内容的能力。
34
+ - 增强本地缓存,加入文件缓存统计、过期清理和内存缓存上限。
35
+
36
+ ### 修复
37
+
38
+ - 修复进入设置后按键处理错误导致无法执行设置项的问题。
39
+ - 修复版面帖子列表操作菜单中的返回动作无效的问题。
40
+ - 修复 token 刷新后可能把当前账号错误保存为 `default` 的问题。
41
+
42
+ ## v0.1.0 - 2026-05-26
43
+
44
+ - 初始版本,提供 CC98 CLI 和 TUI 基础浏览能力。
package/README.md CHANGED
@@ -1,36 +1,29 @@
1
- # CC98 CLI
1
+ # CC98-CLI
2
2
 
3
- 一个原生 TypeScript 编写的 CC98 命令行客户端,包含 JSON-first 的 CLI 和终端 TUI。
3
+ CC98 的命令行客户端,包含面向脚本使用的 CLI 和适合日常浏览的 TUI。
4
4
 
5
- 默认运行 `cc98` 会进入 TUI;带参数运行时走普通 CLI,并默认输出 JSON,方便管道、脚本和自动化读取。
5
+ - 直接运行 `cc98`:进入终端界面。
6
+ - 带参数运行 `cc98 <command>`:执行 CLI,默认输出 JSON。
7
+ - 当前主要面向读取场景,TUI 会尽量按需加载和缓存,减少请求。
6
8
 
7
- ## 功能状态
9
+ ## 概要
8
10
 
9
- - CLI:覆盖主要读取接口,默认 JSON 输出。
10
- - TUI:支持十大、收藏版面帖子流、最新、版面、关注动态、消息、我的信息。
11
- - 读帖:只按需加载第一页,`n` / `Space` 手动加载下一页。
12
- - 图片:默认只渲染链接占位,不自动下载图片。
13
- - 缓存:对首页、版面、帖子、私信、用户信息做本地 TTL 缓存,减少对服务器压力。
14
- - 账号:支持多账号本地 token 存储和切换。
11
+ vibe coding 累了的话,不妨在终端里水水 98。
15
12
 
16
- 目前项目以读取为主,不包含发帖、回帖、点赞等写操作。
13
+ 这是一个个人兴趣项目,基于 CC98 的公开接口实现,与 CC98 官方无关。请合理使用本工具,避免违反 CC98 的用户协议。
17
14
 
18
- ## 安装
15
+ ## 预览
19
16
 
20
- 要求 Node.js 20 或更高版本。
17
+ <p align="center">
18
+ <img src="images/tui.jpg" alt="CC98-CLI TUI 截图" width="900">
19
+ </p>
21
20
 
22
- ```bash
23
- npm install -g cc98-cli
24
- ```
21
+ ## 安装
25
22
 
26
- 如果还没有发布到 npm,可以从源码安装:
23
+ 需要 Node.js 20+。
27
24
 
28
25
  ```bash
29
- git clone https://github.com/Lucent-Snow/CC98-CLI.git
30
- cd CC98-CLI
31
- npm install
32
- npm run build
33
- npm link
26
+ npm install -g cc98-cli
34
27
  ```
35
28
 
36
29
  ## 登录
@@ -39,156 +32,68 @@ npm link
39
32
  cc98 login
40
33
  ```
41
34
 
42
- 登录后 token 会保存在本机用户目录下:
43
-
44
- ```text
45
- ~/.cc98-cli/tokens.json
46
- ```
47
-
48
- 多账号相关命令:
35
+ 多账号:
49
36
 
50
37
  ```bash
51
38
  cc98 account list
52
- cc98 account current
53
39
  cc98 account use <name>
54
- cc98 account remove <name>
40
+ cc98 --account <name> me
55
41
  ```
56
42
 
57
- 也可以在支持的命令中指定账号:
58
-
59
- ```bash
60
- cc98 --account <name> topic <topic-id>
61
- ```
62
-
63
- ## TUI 使用
43
+ ## TUI
64
44
 
65
45
  ```bash
66
46
  cc98
67
47
  ```
68
48
 
69
- 快捷键:
49
+ 常用按键:
70
50
 
71
51
  ```text
52
+ j/k 或 ↑/↓ 上下移动
53
+ l 或 → 进入下一层
54
+ h 或 ← 返回上一层
55
+ Enter 确认执行
56
+ r 刷新
57
+ o 打开操作菜单
58
+ ? 显示帮助
59
+ n 或 Space 加载更多
72
60
  q 退出
73
- h / 左方向键 返回左栏
74
- l / Enter / 右方向键 进入内容或打开选中项
75
- j / 下方向键 向下
76
- k / 上方向键 向上
77
- r 刷新当前视图
78
- n / Space 读取下一页帖子或更早私信
79
- Esc / Backspace 返回上一级列表
80
61
  ```
81
62
 
82
- TUI 当前栏目:
63
+ 左栏导航包含:十大、收藏、最新、版面、关注、消息、通知、我的、更多、设置。
83
64
 
84
- ```text
85
- 十大 热门话题
86
- 收藏 收藏版面的帖子流
87
- 最新 全站新帖
88
- 版面 全部版面,并可进入具体版面主题列表
89
- 关注 关注用户动态
90
- 消息 私信联系人和历史
91
- 我的 当前账号信息
92
- ```
65
+ 当前 TUI 已拆分为入口、控制器、渲染器、组件、状态和帖子阅读器几个模块。`src/tui/app.ts` 只负责终端生命周期和依赖组装,具体按键处理与异步加载在 `controller.ts`,布局渲染在 `renderer.ts` 和 `components/`。
93
66
 
94
- ## CLI 用法
67
+ ## CLI
95
68
 
96
- 所有读取命令默认输出 JSON
69
+ CLI 默认输出 JSON,适合配合 `jq` 或脚本使用。
97
70
 
98
71
  ```bash
99
- cc98 --help
72
+ cc98 me
100
73
  cc98 topic <topic-id>
101
74
  cc98 board <board-id>
102
75
  cc98 search <keyword>
76
+ cc98 message recent
77
+ cc98 update
103
78
  ```
104
79
 
105
- ### 论坛与版面
106
-
107
- ```bash
108
- cc98 forum index
109
- cc98 forum boards
110
- cc98 forum card-stat
111
-
112
- cc98 board list
113
- cc98 board info <board-id>
114
- cc98 board topics <board-id> [--from n] [--size n] [--best]
115
- ```
116
-
117
- 说明:`forum card-stat` 对接的是 `card.cc98.org` 的接口,该站点使用独立 Web OIDC cookie session,普通 CC98 API token 可能会收到 `401`。
118
-
119
- ### 帖子
120
-
121
- ```bash
122
- cc98 topic <topic-id> [--from n] [--size n]
123
- cc98 topic <topic-id> --meta
124
- cc98 topic <topic-id> --posts
125
- cc98 topic new [--from n] [--size n]
126
- cc98 topic random [--size n]
127
- cc98 topic recent [--me | --user id] [--from n] [--size n]
128
- cc98 topic favorite [--group id] [--order n] [--from n] [--size n]
129
- cc98 topic is-favorite <topic-id>
130
- cc98 topic vote <topic-id>
131
- cc98 topic basic <ids...>
132
- cc98 topic search <keyword> [--from n] [--size n]
133
- ```
134
-
135
- ### 用户
136
-
137
- ```bash
138
- cc98 me
139
- cc98 user me
140
- cc98 user profile <user-id>
141
- cc98 user basic <ids...>
142
- cc98 user list <ids...>
143
- cc98 user followers [--from n] [--size n]
144
- cc98 user followees [--from n] [--size n]
145
- cc98 user moment [--from n] [--size n]
146
- cc98 user favorite-updates [--from n] [--size n]
147
- cc98 user favorite-groups
148
- cc98 user search <name>
149
- cc98 user unread
150
- cc98 user browse-history [--from n] [--size n]
151
- ```
152
-
153
- ### 消息
80
+ 查看完整命令:
154
81
 
155
82
  ```bash
156
- cc98 message unread
157
- cc98 message recent [--from n] [--size n]
158
- cc98 message history <user-id> [--from n] [--size n]
159
- ```
160
-
161
- ### 通知
162
-
163
- ```bash
164
- cc98 notice system [--from n] [--size n]
165
- cc98 notice at [--from n] [--size n]
166
- cc98 notice reply [--from n] [--size n]
167
- ```
168
-
169
- ### 帖子相关状态
170
-
171
- ```bash
172
- cc98 post reaction-state <post-id>
173
- cc98 post rate-reasons <type>
83
+ cc98 --help
84
+ cc98 topic --help
85
+ cc98 user --help
86
+ cc98 update --help
174
87
  ```
175
88
 
176
- ## 缓存策略
89
+ ## 本地数据
177
90
 
178
- 缓存目录:
91
+ 登录信息和缓存保存在:
179
92
 
180
93
  ```text
181
- ~/.cc98-cli/cache
94
+ ~/.cc98-cli/
182
95
  ```
183
96
 
184
- TUI 会尽量避免不必要请求:
185
-
186
- - 首页和十大:短 TTL。
187
- - 全部版面:长 TTL。
188
- - 版面帖子、新帖、关注动态、私信:短 TTL。
189
- - 帖子正文:第一页短 TTL,后续页更长 TTL。
190
- - 图片:默认不下载,只显示链接占位。
191
-
192
97
  ## 开发
193
98
 
194
99
  ```bash
@@ -198,49 +103,11 @@ npm run build
198
103
  node dist/main.js
199
104
  ```
200
105
 
201
- 本地调试 CLI:
202
-
203
- ```bash
204
- node dist/main.js --help
205
- node dist/main.js topic <topic-id>
206
- ```
106
+ ## 致谢
207
107
 
208
- ## 发布 npm 包
209
-
210
- 首次发布需要:
211
-
212
- 1. 一个 npm 账号。
213
- 2. 本机登录 npm:
214
-
215
- ```bash
216
- npm login
217
- ```
218
-
219
- 3. 确认包名没有被占用:
220
-
221
- ```bash
222
- npm view cc98-cli
223
- ```
224
-
225
- 如果返回 `404 Not Found`,通常表示包名还没有被占用。
226
-
227
- 4. 构建并发布:
228
-
229
- ```bash
230
- npm run check
231
- npm run build
232
- npm publish --access public
233
- ```
234
-
235
- 如果 npm 账号开启了 2FA,发布时会要求输入 OTP。
236
-
237
- 后续版本发布需要先修改 `package.json` 的 `version`,推荐用:
238
-
239
- ```bash
240
- npm version patch
241
- npm publish --access public
242
- ```
108
+ - [Ansherly](https://github.com/Ansherly):感谢前辈的积极鼓励!
109
+ - [CC98-Desktop](https://github.com/Ansherly/CC98-Desktop):部分 TUI 信息架构参考了该桌面客户端的交互设计。
243
110
 
244
- ## 许可
111
+ ## License
245
112
 
246
113
  MIT
@@ -4,6 +4,7 @@ interface RequestOptions {
4
4
  }
5
5
  export declare class Cc98Client {
6
6
  private readonly tokenStore;
7
+ private refreshPromise;
7
8
  constructor(options: ClientOptions);
8
9
  loginWithPassword(username: string, password: string): Promise<{
9
10
  accessToken: string;
@@ -13,35 +14,48 @@ export declare class Cc98Client {
13
14
  getMeWithAccessToken(accessToken: string): Promise<JsonObject>;
14
15
  getForumIndex(options?: RequestOptions): Promise<unknown>;
15
16
  getAllBoards(options?: RequestOptions): Promise<unknown>;
16
- getCardStat(): Promise<unknown>;
17
- getUserProfile(userId: number): Promise<unknown>;
17
+ getCardStat(options?: RequestOptions): Promise<unknown>;
18
+ getUserProfile(userId: number, options?: RequestOptions): Promise<unknown>;
18
19
  getBasicUsers(ids: number[], options?: RequestOptions): Promise<unknown>;
19
- getUsers(ids: number[]): Promise<unknown>;
20
+ getUsers(ids: number[], options?: RequestOptions): Promise<unknown>;
20
21
  getFriendIds(type: "follower" | "followee", from?: number, size?: number, options?: RequestOptions): Promise<unknown>;
21
22
  getMoment(from?: number, size?: number, options?: RequestOptions): Promise<unknown>;
22
23
  getFavoriteUpdates(from?: number, size?: number, options?: RequestOptions): Promise<unknown>;
23
- getFavoriteGroups(): Promise<unknown>;
24
+ getFavoriteGroups(options?: RequestOptions): Promise<unknown>;
24
25
  getRecentChats(from?: number, size?: number, options?: RequestOptions): Promise<unknown>;
25
26
  getChatHistory(userId: number, from?: number, size?: number, options?: RequestOptions): Promise<unknown>;
26
- searchUsers(name: string): Promise<unknown>;
27
+ searchUsers(name: string, options?: RequestOptions): Promise<unknown>;
27
28
  getUnreadCount(options?: RequestOptions): Promise<unknown>;
28
- getNotices(type: "system" | "at" | "reply", from?: number, size?: number): Promise<unknown>;
29
- getBrowseHistory(from?: number, size?: number): Promise<unknown>;
29
+ getNotices(type: "system" | "at" | "reply", from?: number, size?: number, options?: RequestOptions): Promise<unknown>;
30
+ getBrowseHistory(from?: number, size?: number, options?: RequestOptions): Promise<unknown>;
30
31
  getTopic(topicId: number, options?: RequestOptions): Promise<JsonObject>;
31
32
  getTopicPosts(topicId: number, from?: number, size?: number, options?: RequestOptions): Promise<JsonObject[]>;
32
- isTopicFavorite(topicId: number): Promise<unknown>;
33
+ isTopicFavorite(topicId: number, options?: RequestOptions): Promise<unknown>;
33
34
  getNewTopics(from?: number, size?: number, options?: RequestOptions): Promise<unknown>;
34
- getRandomTopics(size?: number): Promise<unknown>;
35
- getFavoriteTopics(from?: number, size?: number, order?: number, groupId?: number): Promise<unknown>;
36
- getTopicVote(topicId: number): Promise<unknown>;
35
+ getRandomTopics(size?: number, options?: RequestOptions): Promise<unknown>;
36
+ getFavoriteTopics(from?: number, size?: number, order?: number, groupId?: number, options?: RequestOptions): Promise<unknown>;
37
+ getTopicVote(topicId: number, options?: RequestOptions): Promise<unknown>;
37
38
  getBasicTopics(ids: number[]): Promise<unknown>;
38
- getRecentTopics(userId: number | undefined, from?: number, size?: number): Promise<unknown>;
39
+ getRecentTopics(userId: number | undefined, from?: number, size?: number, options?: RequestOptions): Promise<unknown>;
39
40
  getBoardInfo(boardId: number, options?: RequestOptions): Promise<unknown>;
40
41
  getBoardTopics(boardId: number, from?: number, size?: number, best?: boolean, options?: RequestOptions): Promise<unknown>;
41
- searchTopics(keyword: string, from?: number, size?: number): Promise<unknown>;
42
- getPostReactionState(postId: number): Promise<unknown>;
43
- getPostRateReasons(type: number): Promise<unknown>;
42
+ searchTopics(keyword: string, from?: number, size?: number, options?: RequestOptions): Promise<unknown>;
43
+ getPostReactionState(postId: number, options?: RequestOptions): Promise<unknown>;
44
+ getPostRateReasons(type: number, options?: RequestOptions): Promise<unknown>;
45
+ createTopic(boardId: number, title: string, content: string, contentType?: number): Promise<unknown>;
46
+ replyTopic(topicId: number, content: string, contentType?: number): Promise<unknown>;
47
+ addFavorite(topicId: number, groupId?: number): Promise<unknown>;
48
+ removeFavorite(topicId: number): Promise<unknown>;
49
+ addBoardFavorite(boardId: number): Promise<unknown>;
50
+ removeBoardFavorite(boardId: number): Promise<unknown>;
51
+ followUser(userId: number): Promise<unknown>;
52
+ unfollowUser(userId: number): Promise<unknown>;
53
+ sendMessage(userId: number, content: string): Promise<unknown>;
54
+ signin(): Promise<unknown>;
55
+ reactToPost(postId: number, isLike: boolean): Promise<unknown>;
44
56
  private request;
57
+ private tryRefreshToken;
58
+ private doRefreshToken;
45
59
  }
46
60
  export {};
47
61
  //# sourceMappingURL=client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/api/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/api/client.ts"],"names":[],"mappings":"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"}