Browse Source

refactor: 移除law-ui依赖并优化代码结构

移除项目中不再使用的law-ui依赖,清理相关代码和配置。优化了部分代码结构,如调整导入语句、删除未使用的变量等,提升代码可维护性。
feat/优化
npmrun 3 days ago
parent
commit
068777d914
  1. 13
      electron.vite.config.ts
  2. 1
      package.json
  3. 4
      packages/logger/crash-handler.ts
  4. 2
      packages/logger/renderer-error.ts
  5. 192
      pnpm-lock.yaml
  6. 18
      src/common/event/PlatForm/main/command.ts
  7. 3
      src/main/App.ts
  8. 2
      src/main/modules/db/index.ts
  9. 29
      src/main/utils/session/index.ts
  10. 0
      src/preload/loading.ts
  11. 3
      src/renderer/components.d.ts
  12. 3
      src/renderer/src/App.vue
  13. 4
      src/renderer/src/main.ts
  14. 23
      src/renderer/src/pages/index/index.vue
  15. 8
      src/renderer/src/router/index.ts
  16. 10
      src/renderer/src/ui/NavBar.vue

13
electron.vite.config.ts

@ -14,8 +14,6 @@ import monacoEditorPlugin from "vite-plugin-monaco-editor"
import IconsResolver from 'unplugin-icons/resolver'
import Icons from 'unplugin-icons/vite'
import LawUIResolver from "law-ui/es/resolver"
export default defineConfig({
main: {
resolve: {
@ -29,6 +27,14 @@ export default defineConfig({
plugins: [externalizeDepsPlugin()],
},
preload: {
build: {
lib: {
entry: {
index: resolve(__dirname, "./src/preload/index.ts"),
loading: resolve(__dirname, "./src/preload/loading.ts"),
}
}
},
plugins: [externalizeDepsPlugin()],
},
renderer: {
@ -101,12 +107,11 @@ export default defineConfig({
// https://github.com/antfu/vite-plugin-components
Components({
dts: true,
dirs: ["src/components"],
dirs: ["src/components", "src/ui"],
resolvers: [
IconsResolver({
prefix: 'icon',
}),
LawUIResolver({ importStyle: 'sass' })
]
}),
Icons(),

1
package.json

@ -56,7 +56,6 @@
"eslint": "^8.57.1",
"eslint-plugin-vue": "^9.32.0",
"extract-zip": "^2.0.1",
"law-ui": "0.0.2-bate.7",
"locales": "workspace:*",
"lodash-es": "^4.17.21",
"logger": "workspace:^",

4
packages/logger/crash-handler.ts

@ -53,7 +53,7 @@ export class CrashHandler {
private crashReportDir: string
private initialized: boolean = false
private startTime: number = Date.now()
private normalShutdown: boolean = false
// private normalShutdown: boolean = false
/**
*
@ -104,7 +104,7 @@ export class CrashHandler {
// 设置应用退出处理
app.on("before-quit", () => {
this.normalShutdown = true
// this.normalShutdown = true
this.clearStartupMarker()
})

2
packages/logger/renderer-error.ts

@ -1,4 +1,4 @@
import { LogLevel, LogLevelName } from "./common"
import { LogLevel } from "./common"
/**
*

192
pnpm-lock.yaml

@ -83,7 +83,7 @@ importers:
version: 31.7.7
electron-builder:
specifier: ^24.13.3
version: 24.13.3(electron-builder-squirrel-windows@24.13.3)
version: 24.13.3(electron-builder-squirrel-windows@24.13.3(dmg-builder@24.13.3))
electron-vite:
specifier: ^2.3.0
version: 2.3.0(vite@5.4.14(@types/node@20.17.19)(sass@1.85.0))
@ -96,9 +96,6 @@ importers:
extract-zip:
specifier: ^2.0.1
version: 2.0.1
law-ui:
specifier: 0.0.2-bate.7
version: 0.0.2-bate.7(ant-design-vue@3.2.20(vue@3.5.13(typescript@5.7.3)))(vue@3.5.13(typescript@5.7.3))
locales:
specifier: workspace:*
version: link:packages/locales
@ -187,17 +184,6 @@ packages:
resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==}
engines: {node: '>=6.0.0'}
'@ant-design/colors@6.0.0':
resolution: {integrity: sha512-qAZRvPzfdWHtfameEGP2Qvuf838NhergR35o+EuVyB5XvSA98xod5r4utvi4TJ3ywmevm290g9nsCG5MryrdWQ==}
'@ant-design/icons-svg@4.4.2':
resolution: {integrity: sha512-vHbT+zJEVzllwP+CM+ul7reTEfBR0vgxFe7+lREAsAA7YGsYpboiq2sQNeQeRvh09GfQgs/GyFEvZpJ9cLXpXA==}
'@ant-design/icons-vue@6.1.0':
resolution: {integrity: sha512-EX6bYm56V+ZrKN7+3MT/ubDkvJ5rK/O2t380WFRflDcVFgsvl3NLH7Wxeau6R8DbrO5jWR6DSTC3B6gYFp77AA==}
peerDependencies:
vue: '>=3.0.3'
'@antfu/install-pkg@0.4.1':
resolution: {integrity: sha512-T7yB5QNG29afhWVkVq7XeIMBa5U/vs9mX69YqayXypPRmYzUmzwnYltplHmPtZ4HPCn+sQKeXW8I47wCbuBOjw==}
@ -330,10 +316,6 @@ packages:
peerDependencies:
'@babel/core': ^7.0.0-0
'@babel/runtime@7.27.0':
resolution: {integrity: sha512-VtPOkrdPHZsKc/clNqyi9WUA8TINkZ4cGk63UUE3u4pmB2k+ZMQRDuIOagv8UVd6j7k0T3+RRIb7beKTebNbcw==}
engines: {node: '>=6.9.0'}
'@babel/template@7.25.9':
resolution: {integrity: sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg==}
engines: {node: '>=6.9.0'}
@ -358,10 +340,6 @@ packages:
resolution: {integrity: sha512-Y3IR1cRnOxOCDvMmNiym7XpXQ93iGDDPHx+Zj+NM+rg0fBaShfQLkg+hKPaZCEvg5N/LeCo4+Rj/i3FuJsIQaw==}
engines: {node: '>=6.9.0'}
'@ctrl/tinycolor@3.6.1':
resolution: {integrity: sha512-SITSV6aIXsuVNV3f3O0f2n/cgyEDWoSqtZMYiAmcsYHydcKrOz3gUxB/iXd/Qf08+IZX4KpgNbvUdMBmWz+kcA==}
engines: {node: '>=10'}
'@develar/schema-utils@2.6.5':
resolution: {integrity: sha512-0cp4PsWQ/9avqTVMCtZ+GirikIA36ikvjtHweU4/j8yLtgObI0+JUPhYFScgwlteveGB1rt3Cm8UhN04XayDig==}
engines: {node: '>= 8.9.0'}
@ -1133,9 +1111,6 @@ packages:
'@rushstack/eslint-patch@1.10.5':
resolution: {integrity: sha512-kkKUDVlII2DQiKy7UstOR1ErJP8kUKAQ4oa+SQtM0K+lPdmmjj0YnnxBgtTVYH7mUKtbsxeFC9y0AmK7Yb78/A==}
'@simonwep/pickr@1.8.2':
resolution: {integrity: sha512-/l5w8BIkrpP6n1xsetx9MWPWlU6OblN5YgZZphxan0Tq4BByTCETL6lyIeY8lagalS2Nbt4F2W034KHLIiunKA==}
'@sindresorhus/is@4.6.0':
resolution: {integrity: sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==}
engines: {node: '>=10'}
@ -1682,12 +1657,6 @@ packages:
resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==}
engines: {node: '>=12'}
ant-design-vue@3.2.20:
resolution: {integrity: sha512-YWpMfGaGoRastIXEYfCoJiaRiDHk4chqtYhlKQM5GqPt6NfvrM1Vg2e60yHtjxlZjed91wCMm0rAmyUr7Hwzdg==}
engines: {node: '>=12.22.0'}
peerDependencies:
vue: '>=3.2.0'
anymatch@3.1.3:
resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==}
engines: {node: '>= 8'}
@ -1717,9 +1686,6 @@ packages:
argparse@2.0.1:
resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
array-tree-filter@2.1.0:
resolution: {integrity: sha512-4ROwICNlNw/Hqa9v+rk5h22KjmzB1JGTMVKP2AKJBOCgb0yL0ASf0+YvCcLNNwquOHNX48jkeZIJ3a+oOQqKcw==}
array-union@2.1.0:
resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==}
engines: {node: '>=8'}
@ -1744,9 +1710,6 @@ packages:
resolution: {integrity: sha512-NW2cX8m1Q7KPA7a5M2ULQeZ2wR5qI5PAbw5L0UOMxdioVk9PMZ0h1TmyZEkPYrCvYjDlFICusOu1dlEKAAeXBw==}
engines: {node: '>=0.12.0'}
async-validator@4.2.5:
resolution: {integrity: sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg==}
async@3.2.6:
resolution: {integrity: sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==}
@ -1913,9 +1876,6 @@ packages:
resolution: {integrity: sha512-D3uMHtGc/fcO1Gt1/L7i1e33VOvD4A9hfQLP+6ewd+BvG/gQ84Yh4oftEhAdjSMgBgwGL+jsppT7JYNpo6MHHg==}
engines: {node: '>= 10'}
compute-scroll-into-view@1.0.20:
resolution: {integrity: sha512-UCB0ioiyj8CRjtrvaceBLqqhZCVP+1B8+NWQhmdsm0VXOJtobBCf1dBQmebCCo34qZmUwZfIH2MZLqNHazrfjg==}
concat-map@0.0.1:
resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
@ -1932,9 +1892,6 @@ packages:
convert-source-map@2.0.0:
resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==}
core-js@3.41.0:
resolution: {integrity: sha512-SJ4/EHwS36QMJd6h/Rg+GyR4A5xE0FSI3eZ+iBVpfqf1x0eTSg1smWLHrA+2jQThZSh97fmSgFSU8B61nxosxA==}
core-util-is@1.0.2:
resolution: {integrity: sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==}
@ -1969,9 +1926,6 @@ packages:
csstype@3.1.3:
resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==}
dayjs@1.11.13:
resolution: {integrity: sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==}
de-indent@1.0.2:
resolution: {integrity: sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==}
@ -2041,12 +1995,6 @@ packages:
resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==}
engines: {node: '>=6.0.0'}
dom-align@1.12.4:
resolution: {integrity: sha512-R8LUSEay/68zE5c8/3BDxiTEvgb4xZTF0RKmAHfiEVN3klfIpXfi2/QCoiWPccVQ0J/ZGdz9OjzL4uJEP/MRAw==}
dom-scroll-into-view@2.0.1:
resolution: {integrity: sha512-bvVTQe1lfaUr1oFzZX80ce9KLDlZ3iU+XGNE/bz9HnGdklTieqsbmsLHe+rT2XWqopvL0PckkYqN7ksmm5pe3w==}
dotenv-expand@5.1.0:
resolution: {integrity: sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==}
@ -2537,10 +2485,6 @@ packages:
resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==}
engines: {node: '>=8'}
is-plain-object@3.0.1:
resolution: {integrity: sha512-Xnpx182SBMrr/aBik8y+GuR4U1L9FqMSojwDQwPMmxyC6bvEqly9UBCxhauBF5vNh2gwWJNX6oDV7O+OM4z34g==}
engines: {node: '>=0.10.0'}
isarray@1.0.0:
resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==}
@ -2623,12 +2567,6 @@ packages:
kolorist@1.8.0:
resolution: {integrity: sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==}
law-ui@0.0.2-bate.7:
resolution: {integrity: sha512-fwglMPWXIlQpnf/KqC2Bt577zipIRhM4UNBSrAJln4dYwHkAUs2P9F5kXui0hqySfuKYFaiZuAMZ8eot+o3c4Q==}
peerDependencies:
ant-design-vue: ^3.0.0
vue: ^3.0.0
lazy-val@1.0.5:
resolution: {integrity: sha512-0/BnGCCfyUMkBpeDgWihanIAF9JmZhHBgUhEqzvf+adhNGLoP6TaiI5oF8oyb3I45P+PcnrqihSf01M0l0G5+Q==}
@ -2687,10 +2625,6 @@ packages:
lodash@4.17.21:
resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==}
loose-envify@1.4.0:
resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==}
hasBin: true
lowdb@7.0.1:
resolution: {integrity: sha512-neJAj8GwF0e8EpycYIDFqEPcx9Qz4GUho20jWFR7YiFeXzF1YMLdxB36PypcTSPMA+4+LvgyMacYhlr18Zlymw==}
engines: {node: '>=18'}
@ -2817,9 +2751,6 @@ packages:
engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
hasBin: true
nanopop@2.4.2:
resolution: {integrity: sha512-NzOgmMQ+elxxHeIha+OG/Pv3Oc3p4RU2aBhwWwAqDpXrdTbtRylbRLQztLy8dMMwfl6pclznBdfUhccEn9ZIzw==}
natural-compare@1.4.0:
resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==}
@ -3021,16 +2952,10 @@ packages:
reflect-metadata@0.2.2:
resolution: {integrity: sha512-urBwgfrvVP/eAyXx4hluJivBKzuEbSQs9rKWCrCkbSxNv8mxPcUZKeuoF3Uy4mJl3Lwprp6yy5/39VWigZ4K6Q==}
regenerator-runtime@0.14.1:
resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==}
require-directory@2.1.1:
resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==}
engines: {node: '>=0.10.0'}
resize-observer-polyfill@1.5.1:
resolution: {integrity: sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==}
resolve-alpn@1.2.1:
resolution: {integrity: sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==}
@ -3093,9 +3018,6 @@ packages:
sax@1.4.1:
resolution: {integrity: sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==}
scroll-into-view-if-needed@2.2.31:
resolution: {integrity: sha512-dGCXy99wZQivjmjIqihaBQNjryrz5rueJY7eHfTdyWEiR4ttYpsajb14rn9s5d4DY4EcY6+4+U/maARBXJedkA==}
scule@1.3.0:
resolution: {integrity: sha512-6FtHJEvt+pVMIB9IBY+IcCJ6Z5f1iQnytgyfKMhDKgmzYG+TeH/wx1y3l27rshSbLiSanrR9ffZDrEsmjlQF2g==}
@ -3115,9 +3037,6 @@ packages:
resolution: {integrity: sha512-8I8TjW5KMOKsZQTvoxjuSIa7foAwPWGOts+6o7sgjz41/qMD9VQHEDxi6PBvK2l0MXUmqZyNpUK+T2tQaaElvw==}
engines: {node: '>=10'}
shallow-equal@1.2.1:
resolution: {integrity: sha512-S4vJDjHHMBaiZuT9NPb616CSmLf618jawtv3sufLl6ivK8WocjAo58cXwbRV1cgqxH0Qbv+iUt6m05eqEa2IRA==}
shebang-command@2.0.0:
resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==}
engines: {node: '>=8'}
@ -3566,12 +3485,6 @@ packages:
peerDependencies:
typescript: '>=5.0.0'
vue-types@3.0.2:
resolution: {integrity: sha512-IwUC0Aq2zwaXqy74h4WCvFCUtoV0iSWr0snWnE9TnU18S66GAQyqQbRf2qfJtUuiFsBf6qp0MEwdonlwznlcrw==}
engines: {node: '>=10.15.0'}
peerDependencies:
vue: ^3.0.0
vue@3.5.13:
resolution: {integrity: sha512-wmeiSMxkZCSc+PM2w2VRsOYAZC8GdipNFRTsLSfodVqI9mbejKeXEGr8SckuLnrQPGe3oJN5c3K0vpoU9q/wCQ==}
peerDependencies:
@ -3580,9 +3493,6 @@ packages:
typescript:
optional: true
warning@4.0.3:
resolution: {integrity: sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==}
webpack-virtual-modules@0.6.2:
resolution: {integrity: sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ==}
@ -3661,18 +3571,6 @@ snapshots:
'@jridgewell/gen-mapping': 0.3.5
'@jridgewell/trace-mapping': 0.3.25
'@ant-design/colors@6.0.0':
dependencies:
'@ctrl/tinycolor': 3.6.1
'@ant-design/icons-svg@4.4.2': {}
'@ant-design/icons-vue@6.1.0(vue@3.5.13(typescript@5.7.3))':
dependencies:
'@ant-design/colors': 6.0.0
'@ant-design/icons-svg': 4.4.2
vue: 3.5.13(typescript@5.7.3)
'@antfu/install-pkg@0.4.1':
dependencies:
package-manager-detector: 0.2.2
@ -3848,10 +3746,6 @@ snapshots:
transitivePeerDependencies:
- supports-color
'@babel/runtime@7.27.0':
dependencies:
regenerator-runtime: 0.14.1
'@babel/template@7.25.9':
dependencies:
'@babel/code-frame': 7.26.2
@ -3898,8 +3792,6 @@ snapshots:
'@babel/helper-string-parser': 7.25.9
'@babel/helper-validator-identifier': 7.25.9
'@ctrl/tinycolor@3.6.1': {}
'@develar/schema-utils@2.6.5':
dependencies:
ajv: 6.12.6
@ -4523,11 +4415,6 @@ snapshots:
'@rushstack/eslint-patch@1.10.5': {}
'@simonwep/pickr@1.8.2':
dependencies:
core-js: 3.41.0
nanopop: 2.4.2
'@sindresorhus/is@4.6.0': {}
'@szmarczak/http-timer@4.0.6':
@ -5311,27 +5198,6 @@ snapshots:
ansi-styles@6.2.1: {}
ant-design-vue@3.2.20(vue@3.5.13(typescript@5.7.3)):
dependencies:
'@ant-design/colors': 6.0.0
'@ant-design/icons-vue': 6.1.0(vue@3.5.13(typescript@5.7.3))
'@babel/runtime': 7.27.0
'@ctrl/tinycolor': 3.6.1
'@simonwep/pickr': 1.8.2
array-tree-filter: 2.1.0
async-validator: 4.2.5
dayjs: 1.11.13
dom-align: 1.12.4
dom-scroll-into-view: 2.0.1
lodash: 4.17.21
lodash-es: 4.17.21
resize-observer-polyfill: 1.5.1
scroll-into-view-if-needed: 2.2.31
shallow-equal: 1.2.1
vue: 3.5.13(typescript@5.7.3)
vue-types: 3.0.2(vue@3.5.13(typescript@5.7.3))
warning: 4.0.3
anymatch@3.1.3:
dependencies:
normalize-path: 3.0.0
@ -5339,7 +5205,7 @@ snapshots:
app-builder-bin@4.0.0: {}
app-builder-lib@24.13.3(dmg-builder@24.13.3)(electron-builder-squirrel-windows@24.13.3):
app-builder-lib@24.13.3(dmg-builder@24.13.3(electron-builder-squirrel-windows@24.13.3))(electron-builder-squirrel-windows@24.13.3(dmg-builder@24.13.3)):
dependencies:
'@develar/schema-utils': 2.6.5
'@electron/notarize': 2.2.1
@ -5411,8 +5277,6 @@ snapshots:
argparse@2.0.1: {}
array-tree-filter@2.1.0: {}
array-union@2.1.0: {}
assert-plus@1.0.0:
@ -5433,8 +5297,6 @@ snapshots:
async-exit-hook@2.0.1: {}
async-validator@4.2.5: {}
async@3.2.6: {}
asynckit@0.4.0: {}
@ -5624,8 +5486,6 @@ snapshots:
normalize-path: 3.0.0
readable-stream: 3.6.2
compute-scroll-into-view@1.0.20: {}
concat-map@0.0.1: {}
confbox@0.1.8: {}
@ -5639,8 +5499,6 @@ snapshots:
convert-source-map@2.0.0: {}
core-js@3.41.0: {}
core-util-is@1.0.2:
optional: true
@ -5673,8 +5531,6 @@ snapshots:
csstype@3.1.3: {}
dayjs@1.11.13: {}
de-indent@1.0.2: {}
debug@4.4.0:
@ -5726,7 +5582,7 @@ snapshots:
dmg-builder@24.13.3(electron-builder-squirrel-windows@24.13.3):
dependencies:
app-builder-lib: 24.13.3(dmg-builder@24.13.3)(electron-builder-squirrel-windows@24.13.3)
app-builder-lib: 24.13.3(dmg-builder@24.13.3(electron-builder-squirrel-windows@24.13.3))(electron-builder-squirrel-windows@24.13.3(dmg-builder@24.13.3))
builder-util: 24.13.1
builder-util-runtime: 9.2.4
fs-extra: 10.1.0
@ -5754,10 +5610,6 @@ snapshots:
dependencies:
esutils: 2.0.3
dom-align@1.12.4: {}
dom-scroll-into-view@2.0.1: {}
dotenv-expand@5.1.0: {}
dotenv@9.0.2: {}
@ -5772,7 +5624,7 @@ snapshots:
electron-builder-squirrel-windows@24.13.3(dmg-builder@24.13.3):
dependencies:
app-builder-lib: 24.13.3(dmg-builder@24.13.3)(electron-builder-squirrel-windows@24.13.3)
app-builder-lib: 24.13.3(dmg-builder@24.13.3(electron-builder-squirrel-windows@24.13.3))(electron-builder-squirrel-windows@24.13.3(dmg-builder@24.13.3))
archiver: 5.3.2
builder-util: 24.13.1
fs-extra: 10.1.0
@ -5780,9 +5632,9 @@ snapshots:
- dmg-builder
- supports-color
electron-builder@24.13.3(electron-builder-squirrel-windows@24.13.3):
electron-builder@24.13.3(electron-builder-squirrel-windows@24.13.3(dmg-builder@24.13.3)):
dependencies:
app-builder-lib: 24.13.3(dmg-builder@24.13.3)(electron-builder-squirrel-windows@24.13.3)
app-builder-lib: 24.13.3(dmg-builder@24.13.3(electron-builder-squirrel-windows@24.13.3))(electron-builder-squirrel-windows@24.13.3(dmg-builder@24.13.3))
builder-util: 24.13.1
builder-util-runtime: 9.2.4
chalk: 4.1.2
@ -6397,8 +6249,6 @@ snapshots:
is-path-inside@3.0.3: {}
is-plain-object@3.0.1: {}
isarray@1.0.0: {}
isbinaryfile@4.0.10: {}
@ -6470,11 +6320,6 @@ snapshots:
kolorist@1.8.0: {}
law-ui@0.0.2-bate.7(ant-design-vue@3.2.20(vue@3.5.13(typescript@5.7.3)))(vue@3.5.13(typescript@5.7.3)):
dependencies:
ant-design-vue: 3.2.20(vue@3.5.13(typescript@5.7.3))
vue: 3.5.13(typescript@5.7.3)
lazy-val@1.0.5: {}
lazystream@1.0.1:
@ -6522,10 +6367,6 @@ snapshots:
lodash@4.17.21: {}
loose-envify@1.4.0:
dependencies:
js-tokens: 4.0.0
lowdb@7.0.1:
dependencies:
steno: 4.0.2
@ -6635,8 +6476,6 @@ snapshots:
nanoid@3.3.7: {}
nanopop@2.4.2: {}
natural-compare@1.4.0: {}
node-addon-api@1.7.2:
@ -6842,12 +6681,8 @@ snapshots:
reflect-metadata@0.2.2: {}
regenerator-runtime@0.14.1: {}
require-directory@2.1.1: {}
resize-observer-polyfill@1.5.1: {}
resolve-alpn@1.2.1: {}
resolve-from@4.0.0: {}
@ -6926,10 +6761,6 @@ snapshots:
sax@1.4.1: {}
scroll-into-view-if-needed@2.2.31:
dependencies:
compute-scroll-into-view: 1.0.20
scule@1.3.0: {}
semver-compare@1.0.0:
@ -6944,8 +6775,6 @@ snapshots:
type-fest: 0.13.1
optional: true
shallow-equal@1.2.1: {}
shebang-command@2.0.0:
dependencies:
shebang-regex: 3.0.0
@ -7453,11 +7282,6 @@ snapshots:
semver: 7.6.3
typescript: 5.7.3
vue-types@3.0.2(vue@3.5.13(typescript@5.7.3)):
dependencies:
is-plain-object: 3.0.1
vue: 3.5.13(typescript@5.7.3)
vue@3.5.13(typescript@5.7.3):
dependencies:
'@vue/compiler-dom': 3.5.13
@ -7468,10 +7292,6 @@ snapshots:
optionalDependencies:
typescript: 5.7.3
warning@4.0.3:
dependencies:
loose-envify: 1.4.0
webpack-virtual-modules@0.6.2: {}
which@2.0.2:

18
src/common/event/PlatForm/main/command.ts

@ -3,7 +3,7 @@ import { inject } from "inversify"
import errorHandler from "logger/main-error"
import Tabs from "main/modules/tabs"
import WindowManager from "main/modules/window-manager"
import { getFileUrl } from "main/utils"
import { getFileUrl, getPreloadUrl } from "main/utils"
import icon from "@res/icon.png?asset"
import setting from "setting/main"
import { LogLevel } from "logger/common"
@ -37,15 +37,15 @@ export default class PlatFormCommand {
let srdWindow = this._WindowManager.get("srd")
let mainWindow = this._WindowManager.getMainWindow()
if (srdWindow && mainWindow) {
console.log(srdWindow.webContents.session);
console.log(srdWindow.webContents.session.storagePath);
console.log(srdWindow.webContents.session.cookies);
console.log(srdWindow.webContents.session)
console.log(srdWindow.webContents.session.storagePath)
console.log(srdWindow.webContents.session.cookies)
}
}
showSrd(){
showSrd() {
this._WindowManager.createWindow("srd", {
url: "https://www.srdcloud.cn/",
url: "https://baidu.com/",
overideWindowOpts: true,
confrimWindowClose: false,
type: "info",
@ -54,9 +54,11 @@ export default class PlatFormCommand {
height: 400,
darkTheme: true,
modal: true,
show: false,
show: true,
resizable: true,
icon: icon,
webPreferences: {
preload: getPreloadUrl("loading"),
devTools: false,
sandbox: false,
nodeIntegration: false,
@ -78,7 +80,7 @@ export default class PlatFormCommand {
minimizable: false,
darkTheme: true,
modal: true,
show: false,
show: true,
resizable: false,
icon: icon,
webPreferences: {

3
src/main/App.ts

@ -62,6 +62,9 @@ class App extends BaseClass {
}
async init() {
// 新开窗口的时候,会有个窗口闪烁的问题,也可以理解为渐入效果
// 主进程中添加如下代码即可
app.commandLine.appendSwitch("wm-window-animations-disabled")
crashHandler.init()
this._Updater.init()
this._DB.init()

2
src/main/modules/db/index.ts

@ -1,4 +1,4 @@
import { inject, injectable } from "inversify"
import { injectable } from "inversify"
import Setting from "setting/main"
import { CustomAdapter, CustomLow } from "./custom"
import path from "node:path"

29
src/main/utils/session/index.ts

@ -9,8 +9,8 @@ import { BrowserWindow } from "electron"
*/
function createLoginWin(partition) {
partition = partition || `persist:${Math.random()}`
const charset = require("superagent-charset")
const request = charset(require("superagent")) // HTTP
// const charset = require("superagent-charset")
// const request = charset(require("superagent")) // HTTP
let presWindow = new BrowserWindow({
width: 1280,
height: 768,
@ -22,9 +22,9 @@ function createLoginWin(partition) {
},
})
let webContents = presWindow.webContents
return new Promise(function (resove, reject) {
return new Promise(function (resove, _) {
// webContents.openDevTools();
presWindow.loadURL("http://taobao.com/#/login")
presWindow.loadURL("https://login.taobao.com/member/login.jhtml")
webContents.on("did-navigate-in-page", async function () {
// 这里可以看情况进行参数的传递,获取制定的 cookies
const cookies = await webContents.session.cookies.get({})
@ -37,6 +37,25 @@ function createLoginWin(partition) {
// }
// let obj = { partition, cookies }
// resove(obj)
// fetch("https://login.taobao.com/member/login.jhtml", {
// method: "GET",
// credentials: "include",
// headers: {
// Cookie: cookies.map(item => `${item.name}=${item.value};`).join(" "),
// "Content-Type": "application/json",
// },
// })
// .then(response => response.json())
// .then(data => {
// console.log(data)
// presWindow.close()
// resove(obj)
// })
// .catch(err => {
// presWindow.close()
// reject(err)
// })
// })
// 这一步并不是必需的。
// request
// .get("http://taobao.com/userinfo")
@ -60,4 +79,4 @@ function createLoginWin(partition) {
export {
createLoginWin
}
}

0
src/preload/loading.ts

3
src/renderer/components.d.ts

@ -11,8 +11,7 @@ declare module 'vue' {
AdjustLine: typeof import('./src/components/AdjustLine.vue')['default']
CodeEditor: typeof import('./src/components/CodeEditor/code-editor.vue')['default']
'IconStash:arrowReplyDuotone': typeof import('~icons/stash/arrow-reply-duotone')['default']
LawDialog: typeof import('law-ui/es')['LawDialog']
NavBar: typeof import('./src/components/NavBar.vue')['default']
NavBar: typeof import('./src/ui/NavBar.vue')['default']
RouterLink: typeof import('vue-router')['RouterLink']
RouterView: typeof import('vue-router')['RouterView']
Versions: typeof import('./src/components/Versions.vue')['default']

3
src/renderer/src/App.vue

@ -1,5 +1,5 @@
<script setup lang="ts">
import { ModalContainer } from "law-ui"
</script>
<template>
@ -11,7 +11,6 @@ import { ModalContainer } from "law-ui"
<component :is="Component" :key="route.fullPath" />
</Transition>
</router-view>
<ModalContainer to="#page-container"/>
</div>
</div>
</template>

4
src/renderer/src/main.ts

@ -3,8 +3,6 @@ import "simplebar-vue/dist/simplebar.min.css"
import "@unocss/reset/normalize.css"
import "@/assets/style/_common.scss"
import "virtual:uno.css"
import 'law-ui/theme-chalk/law-mask.css';
import 'law-ui/theme-chalk/law-dialog.css';
import 'nprogress/nprogress.css';
import { createApp } from "vue"
@ -16,7 +14,7 @@ import i18n from "./i18n"
const app = createApp(App)
// 全局错误处理
app.config.errorHandler = (err, instance, info) => {
app.config.errorHandler = (err, _, info) => {
// console.error("应用错误:", err)
// console.info("错误信息:", info)
errorHandler.captureError(err)

23
src/renderer/src/pages/index/index.vue

@ -1,6 +1,4 @@
<script setup lang="ts">
import { useDialog } from "law-ui"
definePage({
meta: {
home: true,
@ -8,30 +6,13 @@
})
const showDialog = ref(false)
const { show, hide } = useDialog({
renderUI: () => import("./_ui/_dialog.vue"),
dialogProps: {
style: {
width: "50%",
}
}
})
</script>
<template>
<div @click="show()">sad--{{ showDialog }}</div>asd
<div>sad--{{ showDialog }}</div>asd
<div @click="$router.push('/demo')">aaa</div>
<!-- <Dialog inBox disabled v-model:show="showDialog">
<template v-slot:placeholder><div class="dialog-placeholder"></div></template>
<div bg-white>saasda</div>
</Dialog> -->
</template>
<style lang="scss" scoped>
// .dialog-placeholder :deep() {
// & + .dialog__content {
// width: 50%;
// }
// }
</style>

8
src/renderer/src/router/index.ts

@ -3,7 +3,7 @@ import { routes as generatedRoutes, handleHotUpdate } from "vue-router/auto-rout
import { setupLayouts } from "virtual:generated-layouts"
import NProgress from 'nprogress'
NProgress.configure({ showSpinner: false, parent: "#page-container" })
NProgress.configure({ showSpinner: false, parent: "#page-container" })
const routes = setupLayouts(generatedRoutes)
@ -12,13 +12,13 @@ const router = createRouter({
routes,
})
router.beforeEach((to, from, next)=>{
router.beforeEach((_to, _from, next)=>{
console.log("开始导航");
NProgress.start();
return next()
})
router.afterEach((to, from, failure) => {
router
router.afterEach((_to, _from, failure) => {
console.log("结束导航");
NProgress.done();
if (isNavigationFailure(failure)) {

10
src/renderer/src/components/NavBar.vue → src/renderer/src/ui/NavBar.vue

@ -34,7 +34,7 @@
>
<icon-stash:arrow-reply-duotone></icon-stash:arrow-reply-duotone>
</div>
<div
<!-- <div
v-if="!isHome"
text-sm
px-2
@ -46,7 +46,7 @@
@click="backHome"
>
🏠
</div>
</div> -->
<div text-sm px-2 hover:rounded-md hover:bg-gray-2 hover:cursor-pointer text="hover:hover" @click="onClickAbout">关于</div>
</div>
</div>
@ -79,9 +79,9 @@ import { LogLevel } from "logger/common"
return false
})
function backHome() {
router.push("/")
}
// function backHome() {
// router.push("/")
// }
function back() {
router.back()
}
Loading…
Cancel
Save