@walavave/cc98-cli 0.2.1 → 0.2.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 (246) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/README.md +11 -2
  3. package/assets/forum-images/ac-dark/01.png +0 -0
  4. package/assets/forum-images/ac-dark/02.png +0 -0
  5. package/assets/forum-images/ac-dark/03.png +0 -0
  6. package/assets/forum-images/ac-dark/04.png +0 -0
  7. package/assets/forum-images/ac-dark/05.png +0 -0
  8. package/assets/forum-images/ac-dark/06.png +0 -0
  9. package/assets/forum-images/ac-dark/07.png +0 -0
  10. package/assets/forum-images/ac-dark/08.png +0 -0
  11. package/assets/forum-images/ac-dark/09.png +0 -0
  12. package/assets/forum-images/ac-dark/10.png +0 -0
  13. package/assets/forum-images/ac-dark/1001.png +0 -0
  14. package/assets/forum-images/ac-dark/1002.png +0 -0
  15. package/assets/forum-images/ac-dark/1003.png +0 -0
  16. package/assets/forum-images/ac-dark/1004.png +0 -0
  17. package/assets/forum-images/ac-dark/1005.png +0 -0
  18. package/assets/forum-images/ac-dark/1006.png +0 -0
  19. package/assets/forum-images/ac-dark/1007.png +0 -0
  20. package/assets/forum-images/ac-dark/1008.png +0 -0
  21. package/assets/forum-images/ac-dark/1009.png +0 -0
  22. package/assets/forum-images/ac-dark/1010.png +0 -0
  23. package/assets/forum-images/ac-dark/1011.png +0 -0
  24. package/assets/forum-images/ac-dark/1012.png +0 -0
  25. package/assets/forum-images/ac-dark/1013.png +0 -0
  26. package/assets/forum-images/ac-dark/1014.png +0 -0
  27. package/assets/forum-images/ac-dark/1015.png +0 -0
  28. package/assets/forum-images/ac-dark/1016.png +0 -0
  29. package/assets/forum-images/ac-dark/1017.png +0 -0
  30. package/assets/forum-images/ac-dark/1018.png +0 -0
  31. package/assets/forum-images/ac-dark/1019.png +0 -0
  32. package/assets/forum-images/ac-dark/1020.png +0 -0
  33. package/assets/forum-images/ac-dark/1021.png +0 -0
  34. package/assets/forum-images/ac-dark/1022.png +0 -0
  35. package/assets/forum-images/ac-dark/1023.png +0 -0
  36. package/assets/forum-images/ac-dark/1024.png +0 -0
  37. package/assets/forum-images/ac-dark/1025.png +0 -0
  38. package/assets/forum-images/ac-dark/1026.png +0 -0
  39. package/assets/forum-images/ac-dark/1027.png +0 -0
  40. package/assets/forum-images/ac-dark/1028.png +0 -0
  41. package/assets/forum-images/ac-dark/1029.png +0 -0
  42. package/assets/forum-images/ac-dark/1030.png +0 -0
  43. package/assets/forum-images/ac-dark/1031.png +0 -0
  44. package/assets/forum-images/ac-dark/1032.png +0 -0
  45. package/assets/forum-images/ac-dark/1033.png +0 -0
  46. package/assets/forum-images/ac-dark/1034.png +0 -0
  47. package/assets/forum-images/ac-dark/1035.png +0 -0
  48. package/assets/forum-images/ac-dark/1036.png +0 -0
  49. package/assets/forum-images/ac-dark/1037.png +0 -0
  50. package/assets/forum-images/ac-dark/1038.png +0 -0
  51. package/assets/forum-images/ac-dark/1039.png +0 -0
  52. package/assets/forum-images/ac-dark/1040.png +0 -0
  53. package/assets/forum-images/ac-dark/11.png +0 -0
  54. package/assets/forum-images/ac-dark/12.png +0 -0
  55. package/assets/forum-images/ac-dark/13.png +0 -0
  56. package/assets/forum-images/ac-dark/14.png +0 -0
  57. package/assets/forum-images/ac-dark/15.png +0 -0
  58. package/assets/forum-images/ac-dark/16.png +0 -0
  59. package/assets/forum-images/ac-dark/17.png +0 -0
  60. package/assets/forum-images/ac-dark/18.png +0 -0
  61. package/assets/forum-images/ac-dark/19.png +0 -0
  62. package/assets/forum-images/ac-dark/20.png +0 -0
  63. package/assets/forum-images/ac-dark/2001.png +0 -0
  64. package/assets/forum-images/ac-dark/2002.png +0 -0
  65. package/assets/forum-images/ac-dark/2003.png +0 -0
  66. package/assets/forum-images/ac-dark/2004.png +0 -0
  67. package/assets/forum-images/ac-dark/2005.png +0 -0
  68. package/assets/forum-images/ac-dark/2006.png +0 -0
  69. package/assets/forum-images/ac-dark/2007.png +0 -0
  70. package/assets/forum-images/ac-dark/2008.png +0 -0
  71. package/assets/forum-images/ac-dark/2009.png +0 -0
  72. package/assets/forum-images/ac-dark/2010.png +0 -0
  73. package/assets/forum-images/ac-dark/2011.png +0 -0
  74. package/assets/forum-images/ac-dark/2012.png +0 -0
  75. package/assets/forum-images/ac-dark/2013.png +0 -0
  76. package/assets/forum-images/ac-dark/2014.png +0 -0
  77. package/assets/forum-images/ac-dark/2015.png +0 -0
  78. package/assets/forum-images/ac-dark/2016.png +0 -0
  79. package/assets/forum-images/ac-dark/2017.png +0 -0
  80. package/assets/forum-images/ac-dark/2018.png +0 -0
  81. package/assets/forum-images/ac-dark/2019.png +0 -0
  82. package/assets/forum-images/ac-dark/2020.png +0 -0
  83. package/assets/forum-images/ac-dark/2021.png +0 -0
  84. package/assets/forum-images/ac-dark/2022.png +0 -0
  85. package/assets/forum-images/ac-dark/2023.png +0 -0
  86. package/assets/forum-images/ac-dark/2024.png +0 -0
  87. package/assets/forum-images/ac-dark/2025.png +0 -0
  88. package/assets/forum-images/ac-dark/2026.png +0 -0
  89. package/assets/forum-images/ac-dark/2027.png +0 -0
  90. package/assets/forum-images/ac-dark/2028.png +0 -0
  91. package/assets/forum-images/ac-dark/2029.png +0 -0
  92. package/assets/forum-images/ac-dark/2030.png +0 -0
  93. package/assets/forum-images/ac-dark/2031.png +0 -0
  94. package/assets/forum-images/ac-dark/2032.png +0 -0
  95. package/assets/forum-images/ac-dark/2033.png +0 -0
  96. package/assets/forum-images/ac-dark/2034.png +0 -0
  97. package/assets/forum-images/ac-dark/2035.png +0 -0
  98. package/assets/forum-images/ac-dark/2036.png +0 -0
  99. package/assets/forum-images/ac-dark/2037.png +0 -0
  100. package/assets/forum-images/ac-dark/2038.png +0 -0
  101. package/assets/forum-images/ac-dark/2039.png +0 -0
  102. package/assets/forum-images/ac-dark/2040.png +0 -0
  103. package/assets/forum-images/ac-dark/2041.png +0 -0
  104. package/assets/forum-images/ac-dark/2042.png +0 -0
  105. package/assets/forum-images/ac-dark/2043.png +0 -0
  106. package/assets/forum-images/ac-dark/2044.png +0 -0
  107. package/assets/forum-images/ac-dark/2045.png +0 -0
  108. package/assets/forum-images/ac-dark/2046.png +0 -0
  109. package/assets/forum-images/ac-dark/2047.png +0 -0
  110. package/assets/forum-images/ac-dark/2048.png +0 -0
  111. package/assets/forum-images/ac-dark/2049.png +0 -0
  112. package/assets/forum-images/ac-dark/2050.png +0 -0
  113. package/assets/forum-images/ac-dark/2051.png +0 -0
  114. package/assets/forum-images/ac-dark/2052.png +0 -0
  115. package/assets/forum-images/ac-dark/2053.png +0 -0
  116. package/assets/forum-images/ac-dark/2054.png +0 -0
  117. package/assets/forum-images/ac-dark/2055.png +0 -0
  118. package/assets/forum-images/ac-dark/21.png +0 -0
  119. package/assets/forum-images/ac-dark/22.png +0 -0
  120. package/assets/forum-images/ac-dark/23.png +0 -0
  121. package/assets/forum-images/ac-dark/24.png +0 -0
  122. package/assets/forum-images/ac-dark/25.png +0 -0
  123. package/assets/forum-images/ac-dark/26.png +0 -0
  124. package/assets/forum-images/ac-dark/27.png +0 -0
  125. package/assets/forum-images/ac-dark/28.png +0 -0
  126. package/assets/forum-images/ac-dark/29.png +0 -0
  127. package/assets/forum-images/ac-dark/30.png +0 -0
  128. package/assets/forum-images/ac-dark/31.png +0 -0
  129. package/assets/forum-images/ac-dark/32.png +0 -0
  130. package/assets/forum-images/ac-dark/33.png +0 -0
  131. package/assets/forum-images/ac-dark/34.png +0 -0
  132. package/assets/forum-images/ac-dark/35.png +0 -0
  133. package/assets/forum-images/ac-dark/36.png +0 -0
  134. package/assets/forum-images/ac-dark/37.png +0 -0
  135. package/assets/forum-images/ac-dark/38.png +0 -0
  136. package/assets/forum-images/ac-dark/39.png +0 -0
  137. package/assets/forum-images/ac-dark/40.png +0 -0
  138. package/assets/forum-images/ac-dark/41.png +0 -0
  139. package/assets/forum-images/ac-dark/42.png +0 -0
  140. package/assets/forum-images/ac-dark/43.png +0 -0
  141. package/assets/forum-images/ac-dark/44.png +0 -0
  142. package/assets/forum-images/ac-dark/45.png +0 -0
  143. package/assets/forum-images/ac-dark/46.png +0 -0
  144. package/assets/forum-images/ac-dark/47.png +0 -0
  145. package/assets/forum-images/ac-dark/48.png +0 -0
  146. package/assets/forum-images/ac-dark/49.png +0 -0
  147. package/assets/forum-images/ac-dark/50.png +0 -0
  148. package/assets/forum-images/ac-dark/51.png +0 -0
  149. package/assets/forum-images/ac-dark/52.png +0 -0
  150. package/assets/forum-images/ac-dark/53.png +0 -0
  151. package/assets/forum-images/ac-dark/54.png +0 -0
  152. package/dist/api/client.d.ts +3 -2
  153. package/dist/api/client.d.ts.map +1 -1
  154. package/dist/api/client.js +21 -4
  155. package/dist/api/client.js.map +1 -1
  156. package/dist/api/endpoints.d.ts +1 -0
  157. package/dist/api/endpoints.d.ts.map +1 -1
  158. package/dist/api/endpoints.js +1 -0
  159. package/dist/api/endpoints.js.map +1 -1
  160. package/dist/config.d.ts +3 -0
  161. package/dist/config.d.ts.map +1 -1
  162. package/dist/config.js +32 -4
  163. package/dist/config.js.map +1 -1
  164. package/dist/tui/app-data.d.ts +3 -1
  165. package/dist/tui/app-data.d.ts.map +1 -1
  166. package/dist/tui/app-data.js +167 -11
  167. package/dist/tui/app-data.js.map +1 -1
  168. package/dist/tui/app-runtime/content.d.ts +9 -0
  169. package/dist/tui/app-runtime/content.d.ts.map +1 -0
  170. package/dist/tui/app-runtime/content.js +287 -0
  171. package/dist/tui/app-runtime/content.js.map +1 -0
  172. package/dist/tui/app-runtime/context.d.ts +24 -0
  173. package/dist/tui/app-runtime/context.d.ts.map +1 -0
  174. package/dist/tui/app-runtime/context.js +2 -0
  175. package/dist/tui/app-runtime/context.js.map +1 -0
  176. package/dist/tui/app-runtime/image-viewer.d.ts +5 -0
  177. package/dist/tui/app-runtime/image-viewer.d.ts.map +1 -0
  178. package/dist/tui/app-runtime/image-viewer.js +112 -0
  179. package/dist/tui/app-runtime/image-viewer.js.map +1 -0
  180. package/dist/tui/app-runtime/interactions.d.ts +6 -0
  181. package/dist/tui/app-runtime/interactions.d.ts.map +1 -0
  182. package/dist/tui/app-runtime/interactions.js +181 -0
  183. package/dist/tui/app-runtime/interactions.js.map +1 -0
  184. package/dist/tui/app-runtime/keyboard.d.ts +3 -0
  185. package/dist/tui/app-runtime/keyboard.d.ts.map +1 -0
  186. package/dist/tui/app-runtime/keyboard.js +284 -0
  187. package/dist/tui/app-runtime/keyboard.js.map +1 -0
  188. package/dist/tui/app-runtime/modals.d.ts +17 -0
  189. package/dist/tui/app-runtime/modals.d.ts.map +1 -0
  190. package/dist/tui/app-runtime/modals.js +343 -0
  191. package/dist/tui/app-runtime/modals.js.map +1 -0
  192. package/dist/tui/app-runtime/mouse.d.ts +5 -0
  193. package/dist/tui/app-runtime/mouse.d.ts.map +1 -0
  194. package/dist/tui/app-runtime/mouse.js +68 -0
  195. package/dist/tui/app-runtime/mouse.js.map +1 -0
  196. package/dist/tui/app-runtime/state.d.ts +6 -0
  197. package/dist/tui/app-runtime/state.d.ts.map +1 -0
  198. package/dist/tui/app-runtime/state.js +42 -0
  199. package/dist/tui/app-runtime/state.js.map +1 -0
  200. package/dist/tui/app-runtime/topic.d.ts +6 -0
  201. package/dist/tui/app-runtime/topic.d.ts.map +1 -0
  202. package/dist/tui/app-runtime/topic.js +214 -0
  203. package/dist/tui/app-runtime/topic.js.map +1 -0
  204. package/dist/tui/app-runtime.d.ts +2 -27
  205. package/dist/tui/app-runtime.d.ts.map +1 -1
  206. package/dist/tui/app-runtime.js +2 -1132
  207. package/dist/tui/app-runtime.js.map +1 -1
  208. package/dist/tui/app.d.ts.map +1 -1
  209. package/dist/tui/app.js +9 -2
  210. package/dist/tui/app.js.map +1 -1
  211. package/dist/tui/cached-client.d.ts +3 -0
  212. package/dist/tui/cached-client.d.ts.map +1 -1
  213. package/dist/tui/cached-client.js +9 -0
  214. package/dist/tui/cached-client.js.map +1 -1
  215. package/dist/tui/emotion-catalog.d.ts +23 -0
  216. package/dist/tui/emotion-catalog.d.ts.map +1 -0
  217. package/dist/tui/emotion-catalog.js +150 -0
  218. package/dist/tui/emotion-catalog.js.map +1 -0
  219. package/dist/tui/emotion-preview.js +1 -1
  220. package/dist/tui/emotion-preview.js.map +1 -1
  221. package/dist/tui/image-preview.d.ts.map +1 -1
  222. package/dist/tui/image-preview.js +2 -1
  223. package/dist/tui/image-preview.js.map +1 -1
  224. package/dist/tui/keymap.d.ts +1 -1
  225. package/dist/tui/keymap.d.ts.map +1 -1
  226. package/dist/tui/keymap.js +2 -0
  227. package/dist/tui/keymap.js.map +1 -1
  228. package/dist/tui/renderer.d.ts.map +1 -1
  229. package/dist/tui/renderer.js +282 -30
  230. package/dist/tui/renderer.js.map +1 -1
  231. package/dist/tui/terminal.d.ts +3 -0
  232. package/dist/tui/terminal.d.ts.map +1 -1
  233. package/dist/tui/terminal.js +37 -0
  234. package/dist/tui/terminal.js.map +1 -1
  235. package/dist/tui/theme.d.ts +1 -0
  236. package/dist/tui/theme.d.ts.map +1 -1
  237. package/dist/tui/theme.js +1 -0
  238. package/dist/tui/theme.js.map +1 -1
  239. package/dist/tui/tui-model.d.ts +41 -2
  240. package/dist/tui/tui-model.d.ts.map +1 -1
  241. package/dist/tui/tui-model.js.map +1 -1
  242. package/dist/tui/ubb-renderer.js +1 -1
  243. package/dist/tui/ubb-renderer.js.map +1 -1
  244. package/dist/version.d.ts +1 -1
  245. package/dist/version.js +1 -1
  246. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -1,3 +1,29 @@
1
+ ## v0.2.3 - 2026-06-02
2
+
3
+ ### 新增
4
+
5
+ - 支持查看用户界面和多层级返回
6
+
7
+ ### 改进
8
+
9
+ - j/k用于帖子内楼层切换
10
+
11
+ ### 修复
12
+
13
+ - 用户信息行直接的空白
14
+ - 解决楼层选中问题
15
+
16
+ ## v0.2.3 - 2026-06-02
17
+
18
+ ### 新增
19
+
20
+ - 支持简单评论功能,支持表情包窗口选择
21
+ - 支持自定义“小尾巴”设置
22
+
23
+ ### 改进
24
+
25
+ - 修改AC娘表情包图标以适配终端颜色
26
+
1
27
  ## v0.2.1 - 2026-06-01
2
28
 
3
29
  ### 新增
package/README.md CHANGED
@@ -16,11 +16,12 @@ CC98 的命令行客户端,有适合日常浏览的 TUI,以及面向脚本
16
16
 
17
17
  - **支持WebVPN、RVPN**:RVPN使用`atrust`验证;魔法VPN不开启TUN模式下也可以使用
18
18
  - **支持鼠标点击/滚动**:支持鼠标左右拉动分割线
19
+ - **支持评论**:支持简短评论,附带表情包预览弹窗
19
20
  - **支持文件下载**:鼠标点击链接下载文件,支持`.pdf` `.docs`等
20
21
  - **图片预览(快捷键预览大图)**:支持`Kitty(KPG)`和`iterm2`渲染,在基于libghostty的终端上完成验证
21
22
  - **图形化登录**:无需使用命令行登录、切换账号
22
23
  - **Yazi风格**:伪装Yazi文件管理器;q键退出,终端不留痕
23
- - **自定义**:主题颜色、部分快捷键
24
+ - **自定义**:主题颜色、部分快捷键、回复小尾巴
24
25
 
25
26
  ## 预览
26
27
 
@@ -103,10 +104,17 @@ q 退出
103
104
  [tui]
104
105
  hide_top_chrome = false
105
106
  preview_images = true
107
+ navigation_history_limit = 10
108
+ compose_key = "c"
109
+ post_signature = "[right][color=#808080]——来自终端应用[/color]「[b][url=https://github.com/walavave/CC98-CLI]CC98 CLI[/url][/b]」[/right]"
106
110
  ```
107
111
 
108
112
  图片预览目前支持 Kitty graphics protocol 和 iTerm2 inline image。若终端不支持对应协议,会保留文本图片占位。
109
113
 
114
+ `post_signature` 只会在发送评论时追加到正文末尾,不会显示在编辑中的评论框里;支持 `\n`、`\t` 等常见转义。
115
+
116
+ `navigation_history_limit` 控制 TUI 内“帖子 -> 用户 -> 帖子”这类右键深入导航的最大历史层数;超过后会清空这条返回链,后续左键返回会直接回到左侧栏对应主界面。
117
+
110
118
  快捷键映射文件路径为 `~/.config/cc98-cli/keymap.toml`。格式参考 `keymap.toml`,组合键使用尖括号表示,例如:
111
119
 
112
120
  ```toml
@@ -117,10 +125,11 @@ prepend_keymap = [
117
125
  { on = "<A-Up>", run = "topic.previous-reply", desc = "上一条回复" },
118
126
  { on = "A", run = "topic.like-post", desc = "点赞当前楼层" },
119
127
  { on = "S", run = "topic.dislike-post", desc = "点踩当前楼层" },
128
+ { on = "<C-a>", run = "compose.open-emotion", desc = "在评论框中打开表情面板" },
120
129
  ]
121
130
  ```
122
131
 
123
- 默认已内置 `f` 用于跳到搜索界面的搜索框,`a` / `s` 用于在主题阅读模式下对当前楼层点赞、点踩,`<A-Down>` / `<A-Up>` 用于跳转相邻回复。`prepend_keymap` 中的自定义绑定会优先于内置默认值。
132
+ 默认已内置 `f` 用于跳到搜索界面的搜索框,`a` / `s` 用于在主题阅读模式下对当前楼层点赞、点踩,`<A-Down>` / `<A-Up>` 用于跳转相邻回复,`<C-a>` 用于在评论框里打开表情面板。`prepend_keymap` 中的自定义绑定会优先于内置默认值。
124
133
 
125
134
  ## CLI
126
135
 
@@ -22,7 +22,7 @@ export declare class Cc98Client {
22
22
  getForumIndex(options?: RequestOptions): Promise<unknown>;
23
23
  getAllBoards(options?: RequestOptions): Promise<unknown>;
24
24
  getCardStat(): Promise<unknown>;
25
- getUserProfile(userId: number): Promise<unknown>;
25
+ getUserProfile(userId: number, options?: RequestOptions): Promise<unknown>;
26
26
  getBasicUsers(ids: number[], options?: RequestOptions): Promise<unknown>;
27
27
  getUsers(ids: number[]): Promise<unknown>;
28
28
  getFriendIds(type: "follower" | "followee", from?: number, size?: number, options?: RequestOptions): Promise<unknown>;
@@ -43,12 +43,13 @@ export declare class Cc98Client {
43
43
  getFavoriteTopics(from?: number, size?: number, order?: number, groupId?: number): Promise<unknown>;
44
44
  getTopicVote(topicId: number): Promise<unknown>;
45
45
  getBasicTopics(ids: number[]): Promise<unknown>;
46
- getRecentTopics(userId: number | undefined, from?: number, size?: number): Promise<unknown>;
46
+ getRecentTopics(userId: number | undefined, from?: number, size?: number, options?: RequestOptions): Promise<unknown>;
47
47
  getBoardInfo(boardId: number, options?: RequestOptions): Promise<unknown>;
48
48
  getBoardTopics(boardId: number, from?: number, size?: number, best?: boolean, options?: RequestOptions): Promise<unknown>;
49
49
  searchTopics(keyword: string, from?: number, size?: number, options?: RequestOptions): Promise<unknown>;
50
50
  getPostReactionState(postId: number): Promise<unknown>;
51
51
  reactToPost(postId: number, isLike: boolean): Promise<unknown>;
52
+ replyTopic(topicId: number, content: string, parentId?: number): Promise<unknown>;
52
53
  getPostRateReasons(type: number): Promise<unknown>;
53
54
  signin(): Promise<unknown>;
54
55
  private request;
@@ -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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"}
@@ -85,8 +85,8 @@ export class Cc98Client {
85
85
  async getCardStat() {
86
86
  return this.request(endpoints.forum.cardStat);
87
87
  }
88
- async getUserProfile(userId) {
89
- return this.request(endpoints.user.profile(userId));
88
+ async getUserProfile(userId, options = {}) {
89
+ return this.request(endpoints.user.profile(userId), { signal: options.signal });
90
90
  }
91
91
  async getBasicUsers(ids, options = {}) {
92
92
  return this.request(endpoints.user.basic(ids), { signal: options.signal });
@@ -148,8 +148,8 @@ export class Cc98Client {
148
148
  async getBasicTopics(ids) {
149
149
  return this.request(endpoints.topic.basic(ids));
150
150
  }
151
- async getRecentTopics(userId, from = 0, size = 11) {
152
- return this.request(endpoints.topic.recent(userId, from, size));
151
+ async getRecentTopics(userId, from = 0, size = 11, options = {}) {
152
+ return this.request(endpoints.topic.recent(userId, from, size), { signal: options.signal });
153
153
  }
154
154
  async getBoardInfo(boardId, options = {}) {
155
155
  return this.request(endpoints.board.info(boardId), { signal: options.signal });
@@ -175,6 +175,23 @@ export class Cc98Client {
175
175
  body: JSON.stringify(isLike ? 1 : 2)
176
176
  });
177
177
  }
178
+ async replyTopic(topicId, content, parentId) {
179
+ return this.request(endpoints.post.topicReply(topicId), {
180
+ method: "POST",
181
+ headers: {
182
+ "content-type": "application/json"
183
+ },
184
+ body: JSON.stringify({
185
+ content,
186
+ contentType: 0,
187
+ title: "",
188
+ ...(parentId !== undefined ? { parentId } : {}),
189
+ isAnonymous: false,
190
+ notifyAllReplier: false,
191
+ clientType: 1
192
+ })
193
+ });
194
+ }
178
195
  async getPostRateReasons(type) {
179
196
  return this.request(endpoints.post.rateReasons(type));
180
197
  }