// @ts-check // Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL // This file is automatically generated. DO NOT EDIT // eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-ignore: Unused imports import { Create as $Create } from "@wailsio/runtime"; /** * APIStatus API 服务运行状态,供「主机」页展示 */ export class APIStatus { /** * Creates a new APIStatus instance. * @param {Partial} [$$source = {}] - The source object to create the APIStatus. */ constructor($$source = {}) { if (!("addr" in $$source)) { /** * 当前监听地址 * @member * @type {string} */ this["addr"] = ""; } if (!("running" in $$source)) { /** * 是否正在监听 * @member * @type {boolean} */ this["running"] = false; } if (!("startedAt" in $$source)) { /** * 启动时间 * @member * @type {string} */ this["startedAt"] = ""; } if (!("error" in $$source)) { /** * 最近错误信息 * @member * @type {string} */ this["error"] = ""; } Object.assign(this, $$source); } /** * Creates a new APIStatus instance from a string or object. * @param {any} [$$source = {}] * @returns {APIStatus} */ static createFrom($$source = {}) { let $$parsedSource = typeof $$source === 'string' ? JSON.parse($$source) : $$source; return new APIStatus(/** @type {Partial} */($$parsedSource)); } } /** * AppSettings 保存全部可自定义配置,序列化为 JSON 存于用户配置目录 */ export class AppSettings { /** * Creates a new AppSettings instance. * @param {Partial} [$$source = {}] - The source object to create the AppSettings. */ constructor($$source = {}) { if (!("theme" in $$source)) { /** * 界面主题:dark / light * @member * @type {string} */ this["theme"] = ""; } if (!("autostart" in $$source)) { /** * 系统启动时运行 * @member * @type {boolean} */ this["autostart"] = false; } if (!("alwaysOnTop" in $$source)) { /** * 窗口置顶 * @member * @type {boolean} */ this["alwaysOnTop"] = false; } if (!("hotkey" in $$source)) { /** * 呼出(显示)窗口的全局热键 * @member * @type {string} */ this["hotkey"] = ""; } if (!("tabOrder" in $$source)) { /** * Tab 显示顺序(tabId 列表,未列出的追加到末尾) * @member * @type {string[]} */ this["tabOrder"] = []; } if (!("stockCodes" in $$source)) { /** * 股市页展示的股票代码列表 * @member * @type {string[]} */ this["stockCodes"] = []; } if (!("links" in $$source)) { /** * 常用网址列表 * @member * @type {LinkItem[]} */ this["links"] = []; } if (!("newsKeywords" in $$source)) { /** * 新闻关注关键词,逗号分隔 * @member * @type {string} */ this["newsKeywords"] = ""; } if (!("biliCookie" in $$source)) { /** * B站登录 cookie(含 SESSDATA),用于抓取「关注的人最新动态」 * @member * @type {string} */ this["biliCookie"] = ""; } if (!("githubRepos" in $$source)) { /** * 关注的 GitHub 仓库列表 * @member * @type {RepoItem[]} */ this["githubRepos"] = []; } if (!("customTabs" in $$source)) { /** * 用户自定义 Tab 页面(名字 + 网址) * @member * @type {CustomTab[]} */ this["customTabs"] = []; } if (!("apiAddr" in $$source)) { /** * 内置 API 服务监听地址 * @member * @type {string} */ this["apiAddr"] = ""; } if (!("apiAutoStart" in $$source)) { /** * 应用启动时自动启动内置 API 服务(默认开启) * @member * @type {boolean} */ this["apiAutoStart"] = false; } if (!("uploadPassword" in $$source)) { /** * 文件上传密码(空=不启用上传/下载接口) * @member * @type {string} */ this["uploadPassword"] = ""; } if (!("uploadDir" in $$source)) { /** * 文件上传保存目录(空=用户配置目录/uploads) * @member * @type {string} */ this["uploadDir"] = ""; } if (!("uploadMaxSize" in $$source)) { /** * 单个上传文件大小上限(MB),<=0 用默认 512 * @member * @type {number} */ this["uploadMaxSize"] = 0; } if (!("todoPath" in $$source)) { /** * 待办(TODO)文件路径 * @member * @type {string} */ this["todoPath"] = ""; } if (!("recordPath" in $$source)) { /** * 记录(Record)文件路径:每行「姓名|名称|值」(保留兼容) * @member * @type {string} */ this["recordPath"] = ""; } if (!("recordDBPath" in $$source)) { /** * 记录数据库路径:SQLite3 数据库文件(记录 Tab 实际存储) * @member * @type {string} */ this["recordDBPath"] = ""; } if (!("backupDir" in $$source)) { /** * 文本文件备份目录(文件类自定义 Tab「备份」按钮使用) * @member * @type {string} */ this["backupDir"] = ""; } if (!("stockTicker" in $$source)) { /** * 股票滚动条配置 * @member * @type {TickerConfig} */ this["stockTicker"] = (new TickerConfig()); } if (!("newsTicker" in $$source)) { /** * 新闻滚动条配置 * @member * @type {TickerConfig} */ this["newsTicker"] = (new TickerConfig()); } if (!("poem" in $$source)) { /** * 随机古诗显示配置 * @member * @type {PoemConfig} */ this["poem"] = (new PoemConfig()); } if (!("mouseAlert" in $$source)) { /** * 系统级鼠标提醒气泡配置 * @member * @type {MouseAlertConfig} */ this["mouseAlert"] = (new MouseAlertConfig()); } if (!("stockUpColor" in $$source)) { /** * 股票上涨颜色 * @member * @type {string} */ this["stockUpColor"] = ""; } if (!("stockDownColor" in $$source)) { /** * 股票下跌颜色 * @member * @type {string} */ this["stockDownColor"] = ""; } if (!("stockRefreshSecs" in $$source)) { /** * 股市自动刷新间隔(秒) * @member * @type {number} */ this["stockRefreshSecs"] = 0; } if (!("stockClosedRefreshSecs" in $$source)) { /** * 股市休市时自动刷新间隔(秒) * @member * @type {number} */ this["stockClosedRefreshSecs"] = 0; } if (!("newsRefreshMinutes" in $$source)) { /** * 新闻自动刷新间隔(分钟) * @member * @type {number} */ this["newsRefreshMinutes"] = 0; } if (!("newsCount" in $$source)) { /** * 新闻页显示条数 * @member * @type {number} */ this["newsCount"] = 0; } if (!("githubRefreshMinutes" in $$source)) { /** * Github 自动刷新间隔(分钟) * @member * @type {number} */ this["githubRefreshMinutes"] = 0; } if (!("fontDelta" in $$source)) { /** * 全局字号偏移(px),+-3 范围内调整 * @member * @type {number} */ this["fontDelta"] = 0; } Object.assign(this, $$source); } /** * Creates a new AppSettings instance from a string or object. * @param {any} [$$source = {}] * @returns {AppSettings} */ static createFrom($$source = {}) { const $$createField4_0 = $$createType0; const $$createField5_0 = $$createType0; const $$createField6_0 = $$createType2; const $$createField9_0 = $$createType4; const $$createField10_0 = $$createType6; const $$createField20_0 = $$createType7; const $$createField21_0 = $$createType7; const $$createField22_0 = $$createType8; const $$createField23_0 = $$createType9; let $$parsedSource = typeof $$source === 'string' ? JSON.parse($$source) : $$source; if ("tabOrder" in $$parsedSource) { $$parsedSource["tabOrder"] = $$createField4_0($$parsedSource["tabOrder"]); } if ("stockCodes" in $$parsedSource) { $$parsedSource["stockCodes"] = $$createField5_0($$parsedSource["stockCodes"]); } if ("links" in $$parsedSource) { $$parsedSource["links"] = $$createField6_0($$parsedSource["links"]); } if ("githubRepos" in $$parsedSource) { $$parsedSource["githubRepos"] = $$createField9_0($$parsedSource["githubRepos"]); } if ("customTabs" in $$parsedSource) { $$parsedSource["customTabs"] = $$createField10_0($$parsedSource["customTabs"]); } if ("stockTicker" in $$parsedSource) { $$parsedSource["stockTicker"] = $$createField20_0($$parsedSource["stockTicker"]); } if ("newsTicker" in $$parsedSource) { $$parsedSource["newsTicker"] = $$createField21_0($$parsedSource["newsTicker"]); } if ("poem" in $$parsedSource) { $$parsedSource["poem"] = $$createField22_0($$parsedSource["poem"]); } if ("mouseAlert" in $$parsedSource) { $$parsedSource["mouseAlert"] = $$createField23_0($$parsedSource["mouseAlert"]); } return new AppSettings(/** @type {Partial} */($$parsedSource)); } } /** * BiliDynamicItem 一条 B站动态,供「新闻」页展示 */ export class BiliDynamicItem { /** * Creates a new BiliDynamicItem instance. * @param {Partial} [$$source = {}] - The source object to create the BiliDynamicItem. */ constructor($$source = {}) { if (!("source" in $$source)) { /** * 来源:B站动态 * @member * @type {string} */ this["source"] = ""; } if (!("title" in $$source)) { /** * 标题(动态文案或视频标题) * @member * @type {string} */ this["title"] = ""; } if (!("url" in $$source)) { /** * 详情页地址 * @member * @type {string} */ this["url"] = ""; } if (!("matched" in $$source)) { /** * 是否命中关注关键词 * @member * @type {boolean} */ this["matched"] = false; } Object.assign(this, $$source); } /** * Creates a new BiliDynamicItem instance from a string or object. * @param {any} [$$source = {}] * @returns {BiliDynamicItem} */ static createFrom($$source = {}) { let $$parsedSource = typeof $$source === 'string' ? JSON.parse($$source) : $$source; return new BiliDynamicItem(/** @type {Partial} */($$parsedSource)); } } /** * CommitItem 仓库的一条提交记录 */ export class CommitItem { /** * Creates a new CommitItem instance. * @param {Partial} [$$source = {}] - The source object to create the CommitItem. */ constructor($$source = {}) { if (!("title" in $$source)) { /** * 提交标题(首行) * @member * @type {string} */ this["title"] = ""; } if (!("url" in $$source)) { /** * 提交详情页地址 * @member * @type {string} */ this["url"] = ""; } if (!("updated" in $$source)) { /** * 提交时间(MM-DD HH:MM) * @member * @type {string} */ this["updated"] = ""; } Object.assign(this, $$source); } /** * Creates a new CommitItem instance from a string or object. * @param {any} [$$source = {}] * @returns {CommitItem} */ static createFrom($$source = {}) { let $$parsedSource = typeof $$source === 'string' ? JSON.parse($$source) : $$source; return new CommitItem(/** @type {Partial} */($$parsedSource)); } } /** * CustomTab 用户自定义 Tab 页面 */ export class CustomTab { /** * Creates a new CustomTab instance. * @param {Partial} [$$source = {}] - The source object to create the CustomTab. */ constructor($$source = {}) { if (!("name" in $$source)) { /** * 页面名称(Tab 按钮显示文字) * @member * @type {string} */ this["name"] = ""; } if (!("url" in $$source)) { /** * 页面地址(iframe 加载) * @member * @type {string} */ this["url"] = ""; } if (!("desc" in $$source)) { /** * 备注/提示信息(可空),Tab 说明文字优先显示 * @member * @type {string} */ this["desc"] = ""; } Object.assign(this, $$source); } /** * Creates a new CustomTab instance from a string or object. * @param {any} [$$source = {}] * @returns {CustomTab} */ static createFrom($$source = {}) { let $$parsedSource = typeof $$source === 'string' ? JSON.parse($$source) : $$source; return new CustomTab(/** @type {Partial} */($$parsedSource)); } } /** * KLineBar 日 K 的一根柱子 */ export class KLineBar { /** * Creates a new KLineBar instance. * @param {Partial} [$$source = {}] - The source object to create the KLineBar. */ constructor($$source = {}) { if (!("date" in $$source)) { /** * 交易日 * @member * @type {string} */ this["date"] = ""; } if (!("open" in $$source)) { /** * 开盘价 * @member * @type {number} */ this["open"] = 0; } if (!("close" in $$source)) { /** * 收盘价 * @member * @type {number} */ this["close"] = 0; } if (!("high" in $$source)) { /** * 最高价 * @member * @type {number} */ this["high"] = 0; } if (!("low" in $$source)) { /** * 最低价 * @member * @type {number} */ this["low"] = 0; } if (!("volume" in $$source)) { /** * 成交量(手) * @member * @type {number} */ this["volume"] = 0; } Object.assign(this, $$source); } /** * Creates a new KLineBar instance from a string or object. * @param {any} [$$source = {}] * @returns {KLineBar} */ static createFrom($$source = {}) { let $$parsedSource = typeof $$source === 'string' ? JSON.parse($$source) : $$source; return new KLineBar(/** @type {Partial} */($$parsedSource)); } } /** * LinkItem 常用网址条目 */ export class LinkItem { /** * Creates a new LinkItem instance. * @param {Partial} [$$source = {}] - The source object to create the LinkItem. */ constructor($$source = {}) { if (!("name" in $$source)) { /** * 网站名称 * @member * @type {string} */ this["name"] = ""; } if (!("url" in $$source)) { /** * 网站地址 * @member * @type {string} */ this["url"] = ""; } Object.assign(this, $$source); } /** * Creates a new LinkItem instance from a string or object. * @param {any} [$$source = {}] * @returns {LinkItem} */ static createFrom($$source = {}) { let $$parsedSource = typeof $$source === 'string' ? JSON.parse($$source) : $$source; return new LinkItem(/** @type {Partial} */($$parsedSource)); } } /** * MinuteChart 分时图数据 */ export class MinuteChart { /** * Creates a new MinuteChart instance. * @param {Partial} [$$source = {}] - The source object to create the MinuteChart. */ constructor($$source = {}) { if (!("code" in $$source)) { /** * 股票代码 * @member * @type {string} */ this["code"] = ""; } if (!("prevClose" in $$source)) { /** * 昨收,作为分时基准线 * @member * @type {number} */ this["prevClose"] = 0; } if (!("points" in $$source)) { /** * 分时点序列 * @member * @type {MinutePoint[]} */ this["points"] = []; } Object.assign(this, $$source); } /** * Creates a new MinuteChart instance from a string or object. * @param {any} [$$source = {}] * @returns {MinuteChart} */ static createFrom($$source = {}) { const $$createField2_0 = $$createType11; let $$parsedSource = typeof $$source === 'string' ? JSON.parse($$source) : $$source; if ("points" in $$parsedSource) { $$parsedSource["points"] = $$createField2_0($$parsedSource["points"]); } return new MinuteChart(/** @type {Partial} */($$parsedSource)); } } /** * MinutePoint 分时图上的一个点 */ export class MinutePoint { /** * Creates a new MinutePoint instance. * @param {Partial} [$$source = {}] - The source object to create the MinutePoint. */ constructor($$source = {}) { if (!("time" in $$source)) { /** * HH:MM * @member * @type {string} */ this["time"] = ""; } if (!("price" in $$source)) { /** * 当前价 * @member * @type {number} */ this["price"] = 0; } if (!("avg" in $$source)) { /** * 均价 * @member * @type {number} */ this["avg"] = 0; } Object.assign(this, $$source); } /** * Creates a new MinutePoint instance from a string or object. * @param {any} [$$source = {}] * @returns {MinutePoint} */ static createFrom($$source = {}) { let $$parsedSource = typeof $$source === 'string' ? JSON.parse($$source) : $$source; return new MinutePoint(/** @type {Partial} */($$parsedSource)); } } /** * MouseAlertConfig 系统级鼠标提醒气泡的显示配置 */ export class MouseAlertConfig { /** * Creates a new MouseAlertConfig instance. * @param {Partial} [$$source = {}] - The source object to create the MouseAlertConfig. */ constructor($$source = {}) { if (!("fontSize" in $$source)) { /** * 字号(px) * @member * @type {number} */ this["fontSize"] = 0; } if (!("width" in $$source)) { /** * 气泡窗口宽度(px) * @member * @type {number} */ this["width"] = 0; } if (!("speed" in $$source)) { /** * 超长文字滚动速度(px/s) * @member * @type {number} */ this["speed"] = 0; } if (!("color" in $$source)) { /** * 文字颜色 * @member * @type {string} */ this["color"] = ""; } if (!("background" in $$source)) { /** * 气泡背景色(COLORKEY 抠成透明,仅作底色参考) * @member * @type {string} */ this["background"] = ""; } if (!("duration" in $$source)) { /** * 显示时长(秒) * @member * @type {number} */ this["duration"] = 0; } if (!("outlineColor" in $$source)) { /** * 文字描边颜色(白边/黑边,与文字形成反差) * @member * @type {string} */ this["outlineColor"] = ""; } if (!("outlineWidth" in $$source)) { /** * 文字描边宽度(px),0 表示关闭描边 * @member * @type {number} */ this["outlineWidth"] = 0; } Object.assign(this, $$source); } /** * Creates a new MouseAlertConfig instance from a string or object. * @param {any} [$$source = {}] * @returns {MouseAlertConfig} */ static createFrom($$source = {}) { let $$parsedSource = typeof $$source === 'string' ? JSON.parse($$source) : $$source; return new MouseAlertConfig(/** @type {Partial} */($$parsedSource)); } } /** * NewsItem 一条新闻标题,供「新闻」页与新闻滚动条使用 */ export class NewsItem { /** * Creates a new NewsItem instance. * @param {Partial} [$$source = {}] - The source object to create the NewsItem. */ constructor($$source = {}) { if (!("source" in $$source)) { /** * 来源:煎蛋 / 头条 / 腾讯 * @member * @type {string} */ this["source"] = ""; } if (!("title" in $$source)) { /** * 标题 * @member * @type {string} */ this["title"] = ""; } if (!("url" in $$source)) { /** * 详情页地址 * @member * @type {string} */ this["url"] = ""; } if (!("matched" in $$source)) { /** * 是否命中关注关键词 * @member * @type {boolean} */ this["matched"] = false; } Object.assign(this, $$source); } /** * Creates a new NewsItem instance from a string or object. * @param {any} [$$source = {}] * @returns {NewsItem} */ static createFrom($$source = {}) { let $$parsedSource = typeof $$source === 'string' ? JSON.parse($$source) : $$source; return new NewsItem(/** @type {Partial} */($$parsedSource)); } } /** * PCStatus 电源命令状态快照,供 API 与「主机」页查询 */ export class PCStatus { /** * Creates a new PCStatus instance. * @param {Partial} [$$source = {}] - The source object to create the PCStatus. */ constructor($$source = {}) { if (!("command" in $$source)) { /** * 最近一次命令类型 * @member * @type {string} */ this["command"] = ""; } if (!("pending" in $$source)) { /** * 是否有待执行命令 * @member * @type {boolean} */ this["pending"] = false; } if (!("executeAt" in $$source)) { /** * 计划执行时间 * @member * @type {string} */ this["executeAt"] = ""; } if (!("remainingSecs" in $$source)) { /** * 剩余秒数 * @member * @type {number} */ this["remainingSecs"] = 0; } if (!("clientIp" in $$source)) { /** * 最近一次请求的客户端 IP * @member * @type {string} */ this["clientIp"] = ""; } if (!("requestTime" in $$source)) { /** * 最近一次请求时间 * @member * @type {string} */ this["requestTime"] = ""; } if (!("requested" in $$source)) { /** * 是否收到过请求 * @member * @type {boolean} */ this["requested"] = false; } Object.assign(this, $$source); } /** * Creates a new PCStatus instance from a string or object. * @param {any} [$$source = {}] * @returns {PCStatus} */ static createFrom($$source = {}) { let $$parsedSource = typeof $$source === 'string' ? JSON.parse($$source) : $$source; return new PCStatus(/** @type {Partial} */($$parsedSource)); } } /** * PoemConfig 古诗显示的配置 */ export class PoemConfig { /** * Creates a new PoemConfig instance. * @param {Partial} [$$source = {}] - The source object to create the PoemConfig. */ constructor($$source = {}) { if (!("enabled" in $$source)) { /** * 是否启用古诗显示 * @member * @type {boolean} */ this["enabled"] = false; } if (!("color" in $$source)) { /** * 文字颜色 * @member * @type {string} */ this["color"] = ""; } if (!("fontSize" in $$source)) { /** * 字号(px) * @member * @type {number} */ this["fontSize"] = 0; } if (!("tts" in $$source)) { /** * 允许 TTS 阅读(显示朗读按钮) * @member * @type {boolean} */ this["tts"] = false; } if (!("interval" in $$source)) { /** * 自动换诗间隔(秒),0 表示不自动换 * @member * @type {number} */ this["interval"] = 0; } if (!("speed" in $$source)) { /** * 滚动速度(秒/轮),即滚动一个文本周期所需秒数,越小越快 * @member * @type {number} */ this["speed"] = 0; } Object.assign(this, $$source); } /** * Creates a new PoemConfig instance from a string or object. * @param {any} [$$source = {}] * @returns {PoemConfig} */ static createFrom($$source = {}) { let $$parsedSource = typeof $$source === 'string' ? JSON.parse($$source) : $$source; return new PoemConfig(/** @type {Partial} */($$parsedSource)); } } /** * PoemData 一首古诗的完整数据(从接口解析) */ export class PoemData { /** * Creates a new PoemData instance. * @param {Partial} [$$source = {}] - The source object to create the PoemData. */ constructor($$source = {}) { if (!("title" in $$source)) { /** * 题目 * @member * @type {string} */ this["title"] = ""; } if (!("author" in $$source)) { /** * 作者 * @member * @type {string} */ this["author"] = ""; } if (!("dynasty" in $$source)) { /** * 朝代 * @member * @type {string} */ this["dynasty"] = ""; } if (!("content" in $$source)) { /** * 每句诗(数组,按行显示) * @member * @type {string[]} */ this["content"] = []; } if (!("type" in $$source)) { /** * 体裁,如 五言律诗 * @member * @type {string} */ this["type"] = ""; } Object.assign(this, $$source); } /** * Creates a new PoemData instance from a string or object. * @param {any} [$$source = {}] * @returns {PoemData} */ static createFrom($$source = {}) { const $$createField3_0 = $$createType0; let $$parsedSource = typeof $$source === 'string' ? JSON.parse($$source) : $$source; if ("content" in $$parsedSource) { $$parsedSource["content"] = $$createField3_0($$parsedSource["content"]); } return new PoemData(/** @type {Partial} */($$parsedSource)); } } /** * RecordItem 一条记录:姓名 + 名称 + 值 + 备注 + 录入时间,供记录 Tab 列表与柱状图使用 */ export class RecordItem { /** * Creates a new RecordItem instance. * @param {Partial} [$$source = {}] - The source object to create the RecordItem. */ constructor($$source = {}) { if (!("name" in $$source)) { /** * 姓名 * @member * @type {string} */ this["name"] = ""; } if (!("item" in $$source)) { /** * 名称 * @member * @type {string} */ this["item"] = ""; } if (!("value" in $$source)) { /** * 值 * @member * @type {number} */ this["value"] = 0; } if (!("remark" in $$source)) { /** * 备注(可选) * @member * @type {string} */ this["remark"] = ""; } if (!("createdAt" in $$source)) { /** * 录入时间 YYYY-MM-DD HH:MM:SS(前端新增时生成;为空时后端用当前时间) * @member * @type {string} */ this["createdAt"] = ""; } Object.assign(this, $$source); } /** * Creates a new RecordItem instance from a string or object. * @param {any} [$$source = {}] * @returns {RecordItem} */ static createFrom($$source = {}) { let $$parsedSource = typeof $$source === 'string' ? JSON.parse($$source) : $$source; return new RecordItem(/** @type {Partial} */($$parsedSource)); } } /** * ReleaseItem 一个 GitHub release 的简略信息,用于列出 Latest 之后的版本(Pre-release 等) */ export class ReleaseItem { /** * Creates a new ReleaseItem instance. * @param {Partial} [$$source = {}] - The source object to create the ReleaseItem. */ constructor($$source = {}) { if (!("tagName" in $$source)) { /** * 版本标签,如 v1.3.0-beta.1 * @member * @type {string} */ this["tagName"] = ""; } if (!("name" in $$source)) { /** * release 显示名称(标题),可能比 tag 更完整,如 "Rolling: v2.1.0-..." * @member * @type {string} */ this["name"] = ""; } if (!("url" in $$source)) { /** * release 详情页地址 * @member * @type {string} */ this["url"] = ""; } if (!("isPrerelease" in $$source)) { /** * 是否预发布版本 * @member * @type {boolean} */ this["isPrerelease"] = false; } if (!("isDraft" in $$source)) { /** * 是否草稿版本 * @member * @type {boolean} */ this["isDraft"] = false; } if (!("publishedAt" in $$source)) { /** * 发布时间(MM-DD HH:MM) * @member * @type {string} */ this["publishedAt"] = ""; } Object.assign(this, $$source); } /** * Creates a new ReleaseItem instance from a string or object. * @param {any} [$$source = {}] * @returns {ReleaseItem} */ static createFrom($$source = {}) { let $$parsedSource = typeof $$source === 'string' ? JSON.parse($$source) : $$source; return new ReleaseItem(/** @type {Partial} */($$parsedSource)); } } /** * RepoFeed 一个 GitHub 仓库的最新提交摘要 */ export class RepoFeed { /** * Creates a new RepoFeed instance. * @param {Partial} [$$source = {}] - The source object to create the RepoFeed. */ constructor($$source = {}) { if (!("url" in $$source)) { /** * 仓库地址(设置中配置) * @member * @type {string} */ this["url"] = ""; } if (!("desc" in $$source)) { /** * 项目说明 * @member * @type {string} */ this["desc"] = ""; } if (!("repo" in $$source)) { /** * owner/repo 短名 * @member * @type {string} */ this["repo"] = ""; } if (!("version" in $$source)) { /** * 本地已安装版本(设置中配置) * @member * @type {string} */ this["version"] = ""; } if (!("latest" in $$source)) { /** * 最新正式 release 版本号,无正式 release 时为空 * @member * @type {string} */ this["latest"] = ""; } if (!("hasUpdate" in $$source)) { /** * 是否存在可用更新(本地版本低于最新正式 release) * @member * @type {boolean} */ this["hasUpdate"] = false; } if (!("releaseURL" in $$source)) { /** * 最新正式 release 的下载 / 详情页地址 * @member * @type {string} */ this["releaseURL"] = ""; } if (!("newer" in $$source)) { /** * Latest 之后的版本(Pre-release 等,仅列出不参与更新比较) * @member * @type {ReleaseItem[]} */ this["newer"] = []; } if (!("commits" in $$source)) { /** * 最近提交(最多 5 条) * @member * @type {CommitItem[]} */ this["commits"] = []; } if (!("error" in $$source)) { /** * 抓取失败原因,为空表示正常 * @member * @type {string} */ this["error"] = ""; } Object.assign(this, $$source); } /** * Creates a new RepoFeed instance from a string or object. * @param {any} [$$source = {}] * @returns {RepoFeed} */ static createFrom($$source = {}) { const $$createField7_0 = $$createType13; const $$createField8_0 = $$createType15; let $$parsedSource = typeof $$source === 'string' ? JSON.parse($$source) : $$source; if ("newer" in $$parsedSource) { $$parsedSource["newer"] = $$createField7_0($$parsedSource["newer"]); } if ("commits" in $$parsedSource) { $$parsedSource["commits"] = $$createField8_0($$parsedSource["commits"]); } return new RepoFeed(/** @type {Partial} */($$parsedSource)); } } /** * RepoItem 关注的 GitHub 仓库条目 */ export class RepoItem { /** * Creates a new RepoItem instance. * @param {Partial} [$$source = {}] - The source object to create the RepoItem. */ constructor($$source = {}) { if (!("url" in $$source)) { /** * 仓库地址,如 https://github.com/wailsapp/wails * @member * @type {string} */ this["url"] = ""; } if (!("desc" in $$source)) { /** * 项目说明 * @member * @type {string} */ this["desc"] = ""; } if (!("version" in $$source)) { /** * 本地已安装版本(用于与最新 release 比较),可为空 * @member * @type {string} */ this["version"] = ""; } Object.assign(this, $$source); } /** * Creates a new RepoItem instance from a string or object. * @param {any} [$$source = {}] * @returns {RepoItem} */ static createFrom($$source = {}) { let $$parsedSource = typeof $$source === 'string' ? JSON.parse($$source) : $$source; return new RepoItem(/** @type {Partial} */($$parsedSource)); } } /** * StockQuote 单只股票的行情快照,供前端「股市」页展示 */ export class StockQuote { /** * Creates a new StockQuote instance. * @param {Partial} [$$source = {}] - The source object to create the StockQuote. */ constructor($$source = {}) { if (!("code" in $$source)) { /** * 带市场前缀的代码,如 sh600519 * @member * @type {string} */ this["code"] = ""; } if (!("name" in $$source)) { /** * 股票名称 * @member * @type {string} */ this["name"] = ""; } if (!("price" in $$source)) { /** * 当前价 * @member * @type {number} */ this["price"] = 0; } if (!("change" in $$source)) { /** * 涨跌额 * @member * @type {number} */ this["change"] = 0; } if (!("changePercent" in $$source)) { /** * 涨跌幅(%) * @member * @type {number} */ this["changePercent"] = 0; } if (!("amount" in $$source)) { /** * 成交额(万元) * @member * @type {number} */ this["amount"] = 0; } if (!("time" in $$source)) { /** * 行情时间 HH:MM:SS * @member * @type {string} */ this["time"] = ""; } Object.assign(this, $$source); } /** * Creates a new StockQuote instance from a string or object. * @param {any} [$$source = {}] * @returns {StockQuote} */ static createFrom($$source = {}) { let $$parsedSource = typeof $$source === 'string' ? JSON.parse($$source) : $$source; return new StockQuote(/** @type {Partial} */($$parsedSource)); } } /** * TickerConfig 置顶滚动条(股票 / 新闻)的显示配置 */ export class TickerConfig { /** * Creates a new TickerConfig instance. * @param {Partial} [$$source = {}] - The source object to create the TickerConfig. */ constructor($$source = {}) { if (!("enabled" in $$source)) { /** * 是否显示滚动条窗口 * @member * @type {boolean} */ this["enabled"] = false; } if (!("width" in $$source)) { /** * 窗口宽度(px),0 表示默认 1400 * @member * @type {number} */ this["width"] = 0; } if (!("fontSize" in $$source)) { /** * 字号(px) * @member * @type {number} */ this["fontSize"] = 0; } if (!("color" in $$source)) { /** * 文字颜色 * @member * @type {string} */ this["color"] = ""; } if (!("speed" in $$source)) { /** * 滚动速度(px/s) * @member * @type {number} */ this["speed"] = 0; } if (!("transparent" in $$source)) { /** * 背景透明,不遮挡下方内容 * @member * @type {boolean} */ this["transparent"] = false; } if (!("x" in $$source)) { /** * 窗口位置,-1 表示未设置(系统默认位置) * @member * @type {number} */ this["x"] = 0; } if (!("y" in $$source)) { /** * 窗口位置,-1 表示未设置 * @member * @type {number} */ this["y"] = 0; } Object.assign(this, $$source); } /** * Creates a new TickerConfig instance from a string or object. * @param {any} [$$source = {}] * @returns {TickerConfig} */ static createFrom($$source = {}) { let $$parsedSource = typeof $$source === 'string' ? JSON.parse($$source) : $$source; return new TickerConfig(/** @type {Partial} */($$parsedSource)); } } /** * TranslateResult 一次翻译的结果,供前端展示。 */ export class TranslateResult { /** * Creates a new TranslateResult instance. * @param {Partial} [$$source = {}] - The source object to create the TranslateResult. */ constructor($$source = {}) { if (!("text" in $$source)) { /** * 翻译结果文本 * @member * @type {string} */ this["text"] = ""; } if (!("detected" in $$source)) { /** * 检测到的源语言(zh / en) * @member * @type {string} */ this["detected"] = ""; } if (!("target" in $$source)) { /** * 目标语言(zh / en) * @member * @type {string} */ this["target"] = ""; } Object.assign(this, $$source); } /** * Creates a new TranslateResult instance from a string or object. * @param {any} [$$source = {}] * @returns {TranslateResult} */ static createFrom($$source = {}) { let $$parsedSource = typeof $$source === 'string' ? JSON.parse($$source) : $$source; return new TranslateResult(/** @type {Partial} */($$parsedSource)); } } /** * TrendingRepo 一个热门仓库条目(来源可为 GitHub Trending 或 HelloGitHub) */ export class TrendingRepo { /** * Creates a new TrendingRepo instance. * @param {Partial} [$$source = {}] - The source object to create the TrendingRepo. */ constructor($$source = {}) { if (!("name" in $$source)) { /** * owner/repo 短名 * @member * @type {string} */ this["name"] = ""; } if (!("url" in $$source)) { /** * 仓库主页地址(GitHub 直链) * @member * @type {string} */ this["url"] = ""; } if (!("desc" in $$source)) { /** * 简介(英文已自动翻译为中文,翻译失败保留原文) * @member * @type {string} */ this["desc"] = ""; } if (!("lang" in $$source)) { /** * 主要语言,无则空 * @member * @type {string} */ this["lang"] = ""; } if (!("stars" in $$source)) { /** * 总星数(如 "106,375") * @member * @type {string} */ this["stars"] = ""; } if (!("todayStars" in $$source)) { /** * 今日新增星数(如 "1,140",无则空) * @member * @type {string} */ this["todayStars"] = ""; } if (!("forks" in $$source)) { /** * fork 数(如 "9,365",无则空) * @member * @type {string} */ this["forks"] = ""; } if (!("source" in $$source)) { /** * 来源:"github"(GitHub Trending)/ "hellogithub" * @member * @type {string} */ this["source"] = ""; } if (!("heat" in $$source)) { /** * 热度(HelloGitHub 点击量,其它来源为空) * @member * @type {string} */ this["heat"] = ""; } Object.assign(this, $$source); } /** * Creates a new TrendingRepo instance from a string or object. * @param {any} [$$source = {}] * @returns {TrendingRepo} */ static createFrom($$source = {}) { let $$parsedSource = typeof $$source === 'string' ? JSON.parse($$source) : $$source; return new TrendingRepo(/** @type {Partial} */($$parsedSource)); } } /** * WebServiceInfo 描述一次 Web 服务运行实例的状态,供前端展示。 */ export class WebServiceInfo { /** * Creates a new WebServiceInfo instance. * @param {Partial} [$$source = {}] - The source object to create the WebServiceInfo. */ constructor($$source = {}) { if (!("running" in $$source)) { /** * 是否运行中 * @member * @type {boolean} */ this["running"] = false; } if (!("dir" in $$source)) { /** * 服务目录 * @member * @type {string} */ this["dir"] = ""; } if (!("url" in $$source)) { /** * 访问地址 http://127.0.0.1:port/ * @member * @type {string} */ this["url"] = ""; } if (!("indexName" in $$source)) { /** * 实际用作默认页的文件(index.html / readme.md / 空) * @member * @type {string} */ this["indexName"] = ""; } if (!("startedAt" in $$source)) { /** * 启动时间 * @member * @type {string} */ this["startedAt"] = ""; } if (!("error" in $$source)) { /** * 最近一次错误 * @member * @type {string} */ this["error"] = ""; } if (!("connections" in $$source)) { /** * 累计请求次数 * @member * @type {number} */ this["connections"] = 0; } Object.assign(this, $$source); } /** * Creates a new WebServiceInfo instance from a string or object. * @param {any} [$$source = {}] * @returns {WebServiceInfo} */ static createFrom($$source = {}) { let $$parsedSource = typeof $$source === 'string' ? JSON.parse($$source) : $$source; return new WebServiceInfo(/** @type {Partial} */($$parsedSource)); } } // Private type creation functions const $$createType0 = $Create.Array($Create.Any); const $$createType1 = LinkItem.createFrom; const $$createType2 = $Create.Array($$createType1); const $$createType3 = RepoItem.createFrom; const $$createType4 = $Create.Array($$createType3); const $$createType5 = CustomTab.createFrom; const $$createType6 = $Create.Array($$createType5); const $$createType7 = TickerConfig.createFrom; const $$createType8 = PoemConfig.createFrom; const $$createType9 = MouseAlertConfig.createFrom; const $$createType10 = MinutePoint.createFrom; const $$createType11 = $Create.Array($$createType10); const $$createType12 = ReleaseItem.createFrom; const $$createType13 = $Create.Array($$createType12); const $$createType14 = CommitItem.createFrom; const $$createType15 = $Create.Array($$createType14);