settingsservice.js 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542
  1. // @ts-check
  2. // Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL
  3. // This file is automatically generated. DO NOT EDIT
  4. /**
  5. * SettingsService 暴露「设置」页需要的后端能力给前端调用。
  6. * 前端通过 bindings 调用 GetSettings / SaveSettings / GetStocks 等方法。
  7. * @module
  8. */
  9. // eslint-disable-next-line @typescript-eslint/ban-ts-comment
  10. // @ts-ignore: Unused imports
  11. import { Call as $Call, CancellablePromise as $CancellablePromise, Create as $Create } from "@wailsio/runtime";
  12. // eslint-disable-next-line @typescript-eslint/ban-ts-comment
  13. // @ts-ignore: Unused imports
  14. import * as $models from "./models.js";
  15. /**
  16. * AppVersion 返回应用版本号,供 footer 展示。
  17. * 版本常量在 settings.go 的 AppVersion(与 build/windows/info.json 的 ProductVersion 一致)。
  18. * @returns {$CancellablePromise<string>}
  19. */
  20. export function AppVersion() {
  21. return $Call.ByID(609040257);
  22. }
  23. /**
  24. * BackupFile 把指定文本文件按当前时间备份到配置的备份目录。
  25. * 备份文件名带时间戳:<原名>_YYYYMMDD_HHMMSS<扩展名>;目录不存在时自动创建。
  26. * 返回备份后的完整路径,供前端提示。
  27. * @param {string} path
  28. * @returns {$CancellablePromise<string>}
  29. */
  30. export function BackupFile(path) {
  31. return $Call.ByID(122452644, path);
  32. }
  33. /**
  34. * CancelShutdown 取消延时关机(工具页「取消」按钮调用)。
  35. * @returns {$CancellablePromise<void>}
  36. */
  37. export function CancelShutdown() {
  38. return $Call.ByID(1266387008);
  39. }
  40. /**
  41. * CaptureScreen 截取屏幕并返回 PNG 数据 URI,供「主机」页预览。
  42. * display 为显示器索引,-1 表示全部屏幕。
  43. * @param {number} display
  44. * @returns {$CancellablePromise<string>}
  45. */
  46. export function CaptureScreen(display) {
  47. return $Call.ByID(2784207426, display);
  48. }
  49. /**
  50. * ClearAPILogs 清空 Gin 日志缓冲
  51. * @returns {$CancellablePromise<void>}
  52. */
  53. export function ClearAPILogs() {
  54. return $Call.ByID(1756290968);
  55. }
  56. /**
  57. * GenerateQRCode 把输入字符串生成 PNG 二维码,返回 data URI 供前端展示。
  58. * size 为图片边长(像素),<=0 时用默认值 300。
  59. * @param {string} text
  60. * @param {number} size
  61. * @returns {$CancellablePromise<string>}
  62. */
  63. export function GenerateQRCode(text, size) {
  64. return $Call.ByID(3713602369, text, size);
  65. }
  66. /**
  67. * GetAPILogs 返回 Gin 日志环形缓冲的全部内容
  68. * @returns {$CancellablePromise<string[]>}
  69. */
  70. export function GetAPILogs() {
  71. return $Call.ByID(524575579).then(/** @type {($result: any) => any} */(($result) => {
  72. return $$createType0($result);
  73. }));
  74. }
  75. /**
  76. * GetAPIStatus 返回内置 API 服务运行状态
  77. * @returns {$CancellablePromise<$models.APIStatus>}
  78. */
  79. export function GetAPIStatus() {
  80. return $Call.ByID(3299247002).then(/** @type {($result: any) => any} */(($result) => {
  81. return $$createType1($result);
  82. }));
  83. }
  84. /**
  85. * GetBiliDynamic 抓取 B站「关注的人最新动态」。
  86. * 需要设置里配置 B站登录 cookie(含 SESSDATA);cookie 为空或失效时回退热门视频。
  87. * @returns {$CancellablePromise<$models.BiliDynamicItem[]>}
  88. */
  89. export function GetBiliDynamic() {
  90. return $Call.ByID(258599011).then(/** @type {($result: any) => any} */(($result) => {
  91. return $$createType3($result);
  92. }));
  93. }
  94. /**
  95. * GetGithubFeeds 抓取设置中所有 GitHub 仓库的最新提交
  96. * @returns {$CancellablePromise<$models.RepoFeed[]>}
  97. */
  98. export function GetGithubFeeds() {
  99. return $Call.ByID(2441556896).then(/** @type {($result: any) => any} */(($result) => {
  100. return $$createType5($result);
  101. }));
  102. }
  103. /**
  104. * GetKLine 拉取指定股票的日 K 数据,count 为交易日数量
  105. * @param {string} code
  106. * @param {number} count
  107. * @returns {$CancellablePromise<$models.KLineBar[]>}
  108. */
  109. export function GetKLine(code, count) {
  110. return $Call.ByID(1009336803, code, count).then(/** @type {($result: any) => any} */(($result) => {
  111. return $$createType7($result);
  112. }));
  113. }
  114. /**
  115. * GetMinuteChart 拉取指定股票的分时数据(点击股市行打开分时图时调用)
  116. * @param {string} code
  117. * @returns {$CancellablePromise<$models.MinuteChart>}
  118. */
  119. export function GetMinuteChart(code) {
  120. return $Call.ByID(1171130824, code).then(/** @type {($result: any) => any} */(($result) => {
  121. return $$createType8($result);
  122. }));
  123. }
  124. /**
  125. * GetNews 抓取新闻标题,按设置的关键词标记命中项并优先排序
  126. * @returns {$CancellablePromise<$models.NewsItem[]>}
  127. */
  128. export function GetNews() {
  129. return $Call.ByID(1306230863).then(/** @type {($result: any) => any} */(($result) => {
  130. return $$createType10($result);
  131. }));
  132. }
  133. /**
  134. * GetNtfyChatTopic 返回当前监听的聊天室主题(空表示未监听)
  135. * @returns {$CancellablePromise<string>}
  136. */
  137. export function GetNtfyChatTopic() {
  138. return $Call.ByID(3733537608);
  139. }
  140. /**
  141. * GetNtfyNicknames 返回已记忆的昵称列表(用于前端下拉建议)
  142. * @returns {$CancellablePromise<string[]>}
  143. */
  144. export function GetNtfyNicknames() {
  145. return $Call.ByID(3922015524).then(/** @type {($result: any) => any} */(($result) => {
  146. return $$createType0($result);
  147. }));
  148. }
  149. /**
  150. * GetNtfyTopics 返回已记忆的主题列表(用于前端下拉建议)
  151. * @returns {$CancellablePromise<string[]>}
  152. */
  153. export function GetNtfyTopics() {
  154. return $Call.ByID(1599033699).then(/** @type {($result: any) => any} */(($result) => {
  155. return $$createType0($result);
  156. }));
  157. }
  158. /**
  159. * GetPCStatus 返回电源控制命令状态
  160. * @returns {$CancellablePromise<$models.PCStatus>}
  161. */
  162. export function GetPCStatus() {
  163. return $Call.ByID(4166939475).then(/** @type {($result: any) => any} */(($result) => {
  164. return $$createType11($result);
  165. }));
  166. }
  167. /**
  168. * GetRandomPoem 返回一首随机古诗(供主窗口前端加载 / 手动刷新调用)
  169. * @returns {$CancellablePromise<$models.PoemData>}
  170. */
  171. export function GetRandomPoem() {
  172. return $Call.ByID(3860766604).then(/** @type {($result: any) => any} */(($result) => {
  173. return $$createType12($result);
  174. }));
  175. }
  176. /**
  177. * GetRecordItems 返回所有历史名称(去重排序),供名称输入框自动补全。
  178. * @returns {$CancellablePromise<string[]>}
  179. */
  180. export function GetRecordItems() {
  181. return $Call.ByID(1250968375).then(/** @type {($result: any) => any} */(($result) => {
  182. return $$createType0($result);
  183. }));
  184. }
  185. /**
  186. * GetRecordNames 返回所有历史姓名(去重排序),供姓名输入框自动补全。
  187. * @returns {$CancellablePromise<string[]>}
  188. */
  189. export function GetRecordNames() {
  190. return $Call.ByID(2424781591).then(/** @type {($result: any) => any} */(($result) => {
  191. return $$createType0($result);
  192. }));
  193. }
  194. /**
  195. * GetSettings 返回当前配置(读取配置文件,不存在则返回默认值)
  196. * @returns {$CancellablePromise<$models.AppSettings>}
  197. */
  198. export function GetSettings() {
  199. return $Call.ByID(3034808949).then(/** @type {($result: any) => any} */(($result) => {
  200. return $$createType13($result);
  201. }));
  202. }
  203. /**
  204. * GetStocks 按已保存的股票代码拉取最新行情
  205. * @returns {$CancellablePromise<$models.StockQuote[]>}
  206. */
  207. export function GetStocks() {
  208. return $Call.ByID(3187718815).then(/** @type {($result: any) => any} */(($result) => {
  209. return $$createType15($result);
  210. }));
  211. }
  212. /**
  213. * GetTrendingRepos 抓取 GitHub Trending 页的热门仓库列表(英文简介已自动翻译为中文)
  214. * @returns {$CancellablePromise<$models.TrendingRepo[]>}
  215. */
  216. export function GetTrendingRepos() {
  217. return $Call.ByID(4191072422).then(/** @type {($result: any) => any} */(($result) => {
  218. return $$createType17($result);
  219. }));
  220. }
  221. /**
  222. * MarkGithubRepoChecked 标记某仓库已检视:把本地版本更新为最新 release 版本,消除「发现新版本」提示
  223. * @param {string} url
  224. * @param {string} latest
  225. * @returns {$CancellablePromise<void>}
  226. */
  227. export function MarkGithubRepoChecked(url, latest) {
  228. return $Call.ByID(1378316359, url, latest);
  229. }
  230. /**
  231. * PickUploadFile 弹出文件选择对话框,返回用户选中的本地文件路径(取消返回空串)。
  232. * @returns {$CancellablePromise<string>}
  233. */
  234. export function PickUploadFile() {
  235. return $Call.ByID(2719376250);
  236. }
  237. /**
  238. * PickWebDir 弹出目录选择对话框,返回选中的目录(取消返回空串)。
  239. * @returns {$CancellablePromise<string>}
  240. */
  241. export function PickWebDir() {
  242. return $Call.ByID(1493546416);
  243. }
  244. /**
  245. * ReadRecords 读取全部记录(按 id 升序,保持录入顺序)。
  246. * 前端 loadRecords 渲染列表;柱状图按返回顺序绘制。
  247. * @returns {$CancellablePromise<$models.RecordItem[]>}
  248. */
  249. export function ReadRecords() {
  250. return $Call.ByID(2989114738).then(/** @type {($result: any) => any} */(($result) => {
  251. return $$createType19($result);
  252. }));
  253. }
  254. /**
  255. * ReadTextFile 读取任意文本文件内容(供「自定义 Tab」文件类型页面使用)。
  256. * 文件不存在时返回空内容;其他错误原样返回。
  257. * @param {string} path
  258. * @returns {$CancellablePromise<string>}
  259. */
  260. export function ReadTextFile(path) {
  261. return $Call.ByID(3179291801, path);
  262. }
  263. /**
  264. * ReadTodo 读取待办文件内容(每行一个任务);文件不存在时返回空
  265. * @returns {$CancellablePromise<string>}
  266. */
  267. export function ReadTodo() {
  268. return $Call.ByID(1630526072);
  269. }
  270. /**
  271. * RenderMarkdown 把 Markdown 文本渲染为安全 HTML 片段(供文件类自定义 Tab 展示)。
  272. * 使用 gomarkdown 渲染,并启用 CommonMark 扩展(表格、任务列表、围栏代码等)。
  273. * @param {string} md
  274. * @returns {$CancellablePromise<string>}
  275. */
  276. export function RenderMarkdown(md) {
  277. return $Call.ByID(3516797141, md);
  278. }
  279. /**
  280. * SaveSettings 保存配置并立即生效:热键、窗口置顶、开机启动、页面地址、股票代码等
  281. * @param {$models.AppSettings} settings
  282. * @returns {$CancellablePromise<$models.AppSettings>}
  283. */
  284. export function SaveSettings(settings) {
  285. return $Call.ByID(2662658340, settings).then(/** @type {($result: any) => any} */(($result) => {
  286. return $$createType13($result);
  287. }));
  288. }
  289. /**
  290. * SaveTickerEnabled 保存滚动条开关状态(新闻条 / 股票条右侧「关闭」按钮调用)
  291. * @param {string} kind
  292. * @param {boolean} enabled
  293. * @returns {$CancellablePromise<void>}
  294. */
  295. export function SaveTickerEnabled(kind, enabled) {
  296. return $Call.ByID(3033168348, kind, enabled);
  297. }
  298. /**
  299. * SaveTickerPos 保存滚动条窗口拖动后的位置(只更新配置,不重建窗口)
  300. * @param {string} kind
  301. * @param {number} x
  302. * @param {number} y
  303. * @returns {$CancellablePromise<void>}
  304. */
  305. export function SaveTickerPos(kind, x, y) {
  306. return $Call.ByID(371275047, kind, x, y);
  307. }
  308. /**
  309. * SendNtfyChat 向聊天室(主题)发送一条消息,nickname 作为标题发送。
  310. * 与 SendNtfyMessage 的区别:昵称固定作为标题,便于聊天室按昵称区分发言者。
  311. * @param {string} topic
  312. * @param {string} nickname
  313. * @param {string} message
  314. * @returns {$CancellablePromise<void>}
  315. */
  316. export function SendNtfyChat(topic, nickname, message) {
  317. return $Call.ByID(2994892543, topic, nickname, message);
  318. }
  319. /**
  320. * SendNtfyMessage 向指定主题推送一条 ntfy 消息。
  321. * topic 为推送主题(频道名),title 可为空(使用主题名),message 为消息内容。
  322. * @param {string} topic
  323. * @param {string} title
  324. * @param {string} message
  325. * @returns {$CancellablePromise<void>}
  326. */
  327. export function SendNtfyMessage(topic, title, message) {
  328. return $Call.ByID(1563997112, topic, title, message);
  329. }
  330. /**
  331. * SetMobileMode 前端在窗口尺寸变化时调用:移动端(窄屏)隐藏主机 Tab 并禁止滚动条
  332. * @param {boolean} mobile
  333. * @returns {$CancellablePromise<void>}
  334. */
  335. export function SetMobileMode(mobile) {
  336. return $Call.ByID(2881494037, mobile);
  337. }
  338. /**
  339. * SetNtfyChatTopic 设置聊天室要监听的主题。
  340. * 传入空字符串则停止监听(无主题不监听)。
  341. * 若与当前监听主题相同则不做任何事;不同则先停止旧监听再启动新监听。
  342. * @param {string} topic
  343. * @returns {$CancellablePromise<void>}
  344. */
  345. export function SetNtfyChatTopic(topic) {
  346. return $Call.ByID(1718497116, topic);
  347. }
  348. /**
  349. * ShowWindow 供前端主动呼出窗口(例如通知点击后回到主界面)
  350. * @returns {$CancellablePromise<void>}
  351. */
  352. export function ShowWindow() {
  353. return $Call.ByID(3712560909);
  354. }
  355. /**
  356. * ShutdownDelay 在指定分钟后执行关机。
  357. * minutes 必须 > 0;返回计划执行时间(HH:MM:SS)与提示信息。
  358. * @param {number} minutes
  359. * @returns {$CancellablePromise<string>}
  360. */
  361. export function ShutdownDelay(minutes) {
  362. return $Call.ByID(3801676825, minutes);
  363. }
  364. /**
  365. * StartAPIService 启动 / 重启内置 API 服务(服务页手动启动)
  366. * @returns {$CancellablePromise<void>}
  367. */
  368. export function StartAPIService() {
  369. return $Call.ByID(3942830483);
  370. }
  371. /**
  372. * StartWebService 启动静态文件服务(默认页 index.html 或 readme.md)。
  373. * @param {string} dir
  374. * @returns {$CancellablePromise<$models.WebServiceInfo>}
  375. */
  376. export function StartWebService(dir) {
  377. return $Call.ByID(3007036157, dir).then(/** @type {($result: any) => any} */(($result) => {
  378. return $$createType20($result);
  379. }));
  380. }
  381. /**
  382. * StopAPIService 停止内置 API 服务(服务页手动停止)
  383. * @returns {$CancellablePromise<void>}
  384. */
  385. export function StopAPIService() {
  386. return $Call.ByID(1470228927);
  387. }
  388. /**
  389. * StopWebService 停止静态文件服务。
  390. * @returns {$CancellablePromise<void>}
  391. */
  392. export function StopWebService() {
  393. return $Call.ByID(1864477289);
  394. }
  395. /**
  396. * TTS 用微软 Edge 神经网络语音合成文本,返回 data URI(audio/mp3)。
  397. * 前端直接赋给 <audio src> 播放。voice 可选:xiaoxiao/yunxi/yunjian/xiaoyi/yunyang。
  398. * 古诗词朗读用云希(yunxi,沉稳男声)效果最佳。
  399. * @param {string} text
  400. * @param {string} voice
  401. * @returns {$CancellablePromise<string>}
  402. */
  403. export function TTS(text, voice) {
  404. return $Call.ByID(734529301, text, voice);
  405. }
  406. /**
  407. * Translate 翻译文本:输入中文翻译为英文,输入英文翻译为中文(自动检测方向)。
  408. * 使用 MyMemory 免费 API,有每日配额限制。
  409. * @param {string} text
  410. * @returns {$CancellablePromise<$models.TranslateResult>}
  411. */
  412. export function Translate(text) {
  413. return $Call.ByID(3284480866, text).then(/** @type {($result: any) => any} */(($result) => {
  414. return $$createType21($result);
  415. }));
  416. }
  417. /**
  418. * UploadFile 供桌面端「服务」页直接上传本地文件(不走 HTTP、无需密码)。
  419. * 把本地文件压缩为 zip 存入上传目录(zip 内保留原文件名),返回下载信息。
  420. * 仅本机桌面调用,不暴露给外部网络。
  421. * @param {string} diskPath
  422. * @returns {$CancellablePromise<{ [_ in string]?: any }>}
  423. */
  424. export function UploadFile(diskPath) {
  425. return $Call.ByID(417387035, diskPath).then(/** @type {($result: any) => any} */(($result) => {
  426. return $$createType22($result);
  427. }));
  428. }
  429. /**
  430. * WebServiceStatus 返回静态文件服务当前状态。
  431. * @returns {$CancellablePromise<$models.WebServiceInfo>}
  432. */
  433. export function WebServiceStatus() {
  434. return $Call.ByID(1311352355).then(/** @type {($result: any) => any} */(($result) => {
  435. return $$createType20($result);
  436. }));
  437. }
  438. /**
  439. * WriteRecords 全量替换记录:开启事务,先清空再批量插入。
  440. * 前端 saveRecords 提交当前列表全部行,保证与数据库完全一致。
  441. * @param {$models.RecordItem[]} items
  442. * @returns {$CancellablePromise<void>}
  443. */
  444. export function WriteRecords(items) {
  445. return $Call.ByID(1978718139, items);
  446. }
  447. /**
  448. * WriteTextFile 把文本内容写回指定文件(目录不存在时自动创建)。
  449. * 供文件类自定义 Tab 的「保存」使用。
  450. * @param {string} path
  451. * @param {string} content
  452. * @returns {$CancellablePromise<void>}
  453. */
  454. export function WriteTextFile(path, content) {
  455. return $Call.ByID(1781087370, path, content);
  456. }
  457. /**
  458. * WriteTodo 把待办内容写回待办文件(目录不存在时自动创建)
  459. * @param {string} content
  460. * @returns {$CancellablePromise<void>}
  461. */
  462. export function WriteTodo(content) {
  463. return $Call.ByID(3129393963, content);
  464. }
  465. // Private type creation functions
  466. const $$createType0 = $Create.Array($Create.Any);
  467. const $$createType1 = $models.APIStatus.createFrom;
  468. const $$createType2 = $models.BiliDynamicItem.createFrom;
  469. const $$createType3 = $Create.Array($$createType2);
  470. const $$createType4 = $models.RepoFeed.createFrom;
  471. const $$createType5 = $Create.Array($$createType4);
  472. const $$createType6 = $models.KLineBar.createFrom;
  473. const $$createType7 = $Create.Array($$createType6);
  474. const $$createType8 = $models.MinuteChart.createFrom;
  475. const $$createType9 = $models.NewsItem.createFrom;
  476. const $$createType10 = $Create.Array($$createType9);
  477. const $$createType11 = $models.PCStatus.createFrom;
  478. const $$createType12 = $models.PoemData.createFrom;
  479. const $$createType13 = $models.AppSettings.createFrom;
  480. const $$createType14 = $models.StockQuote.createFrom;
  481. const $$createType15 = $Create.Array($$createType14);
  482. const $$createType16 = $models.TrendingRepo.createFrom;
  483. const $$createType17 = $Create.Array($$createType16);
  484. const $$createType18 = $models.RecordItem.createFrom;
  485. const $$createType19 = $Create.Array($$createType18);
  486. const $$createType20 = $models.WebServiceInfo.createFrom;
  487. const $$createType21 = $models.TranslateResult.createFrom;
  488. const $$createType22 = $Create.Map($Create.Any, $Create.Any);