diff --git a/.vscode/settings.json b/.vscode/settings.json index af5aba8..1d04d2e 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,6 +1,17 @@ { - "cSpell.words": ["greasyfork", "ICVE", "ocsjs", "scriptcat", "userscript", "userscripts"], - "eslint.validate": ["javascript", "javascriptreact", "vue"], + "cSpell.words": [ + "greasyfork", + "ICVE", + "ocsjs", + "scriptcat", + "userscript", + "userscripts" + ], + "eslint.validate": [ + "javascript", + "javascriptreact", + "vue" + ], "editor.formatOnSave": true, "editor.codeActionsOnSave": { "source.fixAll.eslint": "explicit" @@ -20,5 +31,8 @@ "typescript.suggest.jsdoc.generateReturns": false, "[typescript]": { "editor.defaultFormatter": "esbenp.prettier-vscode" + }, + "[jsonc]": { + "editor.defaultFormatter": "vscode.json-language-features" } -} +} \ No newline at end of file diff --git a/packages/web/package.json b/packages/web/package.json index fb95f78..c0ebeae 100644 --- a/packages/web/package.json +++ b/packages/web/package.json @@ -17,6 +17,7 @@ "chalk": "4.1.0", "colorpicker-v3": "^2.10.2", "dayjs": "^1.10.7", + "easy-us": "^0.0.11", "events": "^3.3.0", "markdown-it": "^13.0.1", "markdown-it-anchor": "^8.6.7", @@ -24,7 +25,7 @@ "markdown-it-emoji": "^2.0.2", "marked": "^4.2.12", "material-icons": "^1.13.1", - "ocsjs": "^4.4.15", + "ocsjs": "^4.8.13", "playwright-core": "^1.28.0", "video.js": "^8.0.4", "vue": "^3.3.2", diff --git a/packages/web/src/assets/css/common.css b/packages/web/src/assets/css/common.css index 43dbf68..0f9248e 100644 --- a/packages/web/src/assets/css/common.css +++ b/packages/web/src/assets/css/common.css @@ -1,221 +1,221 @@ body, html, #app { - margin: 0; - padding: 0; - width: 100%; - height: 100%; - max-width: 100%; - max-height: 100%; - min-width: 500px; - min-height: 300px; + margin: 0; + padding: 0; + width: 100%; + height: 100%; + max-width: 100%; + max-height: 100%; + min-width: 500px; + min-height: 300px; } /** 兼容 win11 以下的软件不会自动带有阴影和边框 */ html.window-frame { - border: 1px solid #e1e1e1; - overflow: hidden; - box-shadow: 0px 0px 12px #d3d3d3; + border: 1px solid #e1e1e1; + overflow: hidden; + box-shadow: 0px 0px 12px #d3d3d3; } #app { - font-family: Avenir, Helvetica, Arial, sans-serif; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; + font-family: Avenir, Helvetica, Arial, sans-serif; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; } .pointer { - cursor: pointer; + cursor: pointer; } /* 设置滚动条的样式 */ ::-webkit-scrollbar { - width: 10px; - height: 6px; + width: 10px; + height: 6px; } /* 滚动槽 */ ::-webkit-scrollbar-track { - background: #ffffff00; + background: #ffffff00; } /* 滚动条滑块 */ ::-webkit-scrollbar-thumb { - border-radius: 2px; - background: rgba(0, 0, 0, 0.1); - box-shadow: inset006pxrgba(0, 0, 0, 0.3); + border-radius: 2px; + background: rgba(0, 0, 0, 0.1); + box-shadow: inset006pxrgba(0, 0, 0, 0.3); } /** 通知栏样式 */ .arco-notification { - /** 主容器 */ - /** 底部按钮 */ + /** 主容器 */ + /** 底部按钮 */ } .arco-notification .arco-notification-notice { - padding: 12px; + padding: 12px; } .arco-notification .arco-notification-notice-btn { - margin-top: 8px; + margin-top: 8px; } .arco-notification .arco-notification-notice-with-icon .arco-notification-notice-description { - margin-left: 0; - font-size: 12px; + margin-left: 0; + font-size: 12px; } .arco-notification .arco-notification-notice-with-icon .arco-notification-notice-message { - margin-left: 36px; + margin-left: 36px; } .arco-notification .arco-notification-notice-description { - overflow: auto; + overflow: auto; } .anticon { - vertical-align: 0px !important; + vertical-align: 0px !important; } .markdown { - font-size: 14px; - border: 1px solid #e6e6e6; - border-radius: 4px; - padding: 4px; + font-size: 14px; + border: 1px solid #e6e6e6; + border-radius: 4px; + padding: 4px; } code { - margin: 0px 2px !important; - padding: 2px 4px !important; - font-size: 90% !important; - color: #323030; - background-color: #eaeaea; - border-radius: 4px; + margin: 0px 2px !important; + padding: 2px 4px !important; + font-size: 90% !important; + color: #323030; + background-color: #eaeaea; + border-radius: 4px; } em { - background-color: yellow; - font-weight: bold; + background-color: yellow; + font-weight: bold; } body .arco-tree li span.arco-tree-iconEle { - vertical-align: unset; + vertical-align: unset; } body .arco-tree li .arco-tree-node-content-wrapper { - padding: 0; + padding: 0; } body .arco-tree li { - padding: 0px 8px 0px 0px !important; - text-overflow: hidden; - overflow: hidden; - white-space: nowrap; + padding: 0px 8px 0px 0px !important; + text-overflow: hidden; + overflow: hidden; + white-space: nowrap; } body .arco-tree-title { - padding: 4px 8px 4px 0px !important; + padding: 4px 8px 4px 0px !important; } body .arco-tree * { - animation-duration: 0s !important; - animation: none !important; - transition: none !important; + animation-duration: 0s !important; + animation: none !important; + transition: none !important; } body .arco-tree-iconEle.arco-tree-icon__customize { - width: 18px; + width: 18px; } body .arco-tree li span.arco-tree-switcher { - width: 18px; + width: 18px; } body[arco-theme='dark'] { - color: #cccccc; - background-color: #2c2c2c; - /** browser-panel toc */ - /* 滚动槽 */ - /* 滚动条滑块 */ + color: #cccccc; + background-color: #2c2c2c; + /** browser-panel toc */ + /* 滚动槽 */ + /* 滚动条滑块 */ } body[arco-theme='dark'] .bp-toc { - color: #cccccc; - background-color: #2c2c2c; + color: #cccccc; + background-color: #2c2c2c; } body[arco-theme='dark'] .text-secondary { - color: #aaaaaa !important; + color: #aaaaaa !important; } body[arco-theme='dark'] .title { - color: #cccccc; - background-color: #2c2c2c; - border-bottom: 1px solid #4b4848; + color: #cccccc; + background-color: #2c2c2c; + border-bottom: 1px solid #4b4848; } body[arco-theme='dark'] #title ul li { - color: #cccccc; + color: #cccccc; } body[arco-theme='dark'] ::-webkit-scrollbar-track { - background: #9693933a; + background: #9693933a; } body[arco-theme='dark'] ::-webkit-scrollbar-thumb { - background: #c9bfbf98; + background: #c9bfbf98; } body[arco-theme='dark'] a, body[arco-theme='dark'] a.link { - color: #61a5e4 !important; + color: #61a5e4 !important; } body[arco-theme='dark'] .border-end, body[arco-theme='dark'] .border-start, body[arco-theme='dark'] .border-bottom, body[arco-theme='dark'] .border-top { - border-color: #4b4848 !important; + border-color: #4b4848 !important; } body[arco-theme='dark'] * { - box-shadow: none !important; + box-shadow: none !important; } body[arco-theme='dark'] .entity:hover { - background: #3b3b3b !important; + background: #3b3b3b !important; } body[arco-theme='dark'] .screenshot-item { - border: 1px solid; - border-color: #4b4848 !important; + border: 1px solid; + border-color: #4b4848 !important; } body[arco-theme='dark'] .breadcrumb { - background-color: #2c2c2c; - border: 1px solid #4b4848; + background-color: #2c2c2c; + border: 1px solid #4b4848; } body[arco-theme='dark'] .path-item { - color: #cccccc; + color: #cccccc; } body[arco-theme='dark'] .entity { - border-bottom: 1px solid #4b4848; + border-bottom: 1px solid #4b4848; } body[arco-theme='dark'] .entity-properties { - background-color: #4b4b4b; - color: #aaaaaa; + background-color: #4b4b4b; + color: #aaaaaa; } body[arco-theme='dark'] .sider-item.active { - background-color: #4b4b4b; + background-color: #4b4b4b; } body[arco-theme='dark'] .sider { - border-right: 1px solid #4b4848; + border-right: 1px solid #4b4848; } body[arco-theme='dark'] .sider .sider-item { - border-left: 6px solid #2c2c2c; + border-left: 6px solid #2c2c2c; } body[arco-theme='dark'] .sider .sider-item.active { - background-color: #4b4b4b; - border-left: 6px solid #4898e2; + background-color: #4b4b4b; + border-left: 6px solid #4898e2; } body[arco-theme='dark'] .ps-table .ps-body-cell { - border: 1px solid #4b4848; + border: 1px solid #4b4848; } body[arco-theme='dark'] .ps-table .ps-body-cell .arco-input-wrapper { - background: #4b4b4b; + background: #4b4b4b; } body[arco-theme='dark'] .ps-table .arco-table-tr .ps-table-index { - background-color: #4b4b4b; - color: #aaaaaa; + background-color: #4b4b4b; + color: #aaaaaa; } .arco-trigger-popup { - animation-duration: 0s !important; - animation: none !important; - transition: none !important; + animation-duration: 0s !important; + animation: none !important; + transition: none !important; } .arco-trigger-popup * { - animation-duration: 0s !important; - animation: none !important; - transition: none !important; + animation-duration: 0s !important; + animation: none !important; + transition: none !important; } .arco-dropdown-option-content { - font-size: 12px; - line-height: 28px; + font-size: 12px; + line-height: 28px; } /** 简单模式下不要有头部间隔 */ .arco-modal-simple .arco-modal-header { - margin-bottom: 0px; + margin-bottom: 0px; } /** 防止被标题栏遮挡 */ .arco-drawer-container, .arco-modal-container { - top: 32px; + top: 32px; } .arco-notification-list, .arco-message-list { - top: 52px; + top: 52px; } diff --git a/packages/web/src/components/OCSConfigs.vue b/packages/web/src/components/OCSConfigs.vue index 66d6ec4..88dd304 100644 --- a/packages/web/src/components/OCSConfigs.vue +++ b/packages/web/src/components/OCSConfigs.vue @@ -1,14 +1,16 @@