Browse Source

feat: 添加vscode-icons-js依赖并在index.vue中使用图标

feat/icon
npmrun 2 weeks ago
parent
commit
f5c6bf2432
  1. 1
      .gitattributes
  2. 1
      package.json
  3. 4
      packages/logger/crash-handler.ts
  4. 2
      packages/logger/renderer-error.ts
  5. 29
      pnpm-lock.yaml
  6. 2
      src/main/modules/db/index.ts
  7. 2
      src/renderer/src/main.ts
  8. 4
      src/renderer/src/pages/index.vue

1
.gitattributes

@ -0,0 +1 @@
src/renderer/public/icons/*.svg filter=lfs diff=lfs merge=lfs -text

1
package.json

@ -72,6 +72,7 @@
"vite": "^5.4.14",
"vite-plugin-monaco-editor": "^1.1.0",
"vite-plugin-vue-layouts": "^0.11.0",
"vscode-icons-js": "^11.6.1",
"vue": "^3.5.13",
"vue-i18n": "^11.1.1",
"vue-router": "^4.5.0",

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"
/**
*

29
pnpm-lock.yaml

@ -144,6 +144,9 @@ importers:
vite-plugin-vue-layouts:
specifier: ^0.11.0
version: 0.11.0(vite@5.4.14(@types/node@20.17.19)(sass@1.85.0))(vue-router@4.5.0(vue@3.5.13(typescript@5.7.3)))(vue@3.5.13(typescript@5.7.3))
vscode-icons-js:
specifier: ^11.6.1
version: 11.6.1
vue:
specifier: ^3.5.13
version: 3.5.13(typescript@5.7.3)
@ -736,8 +739,8 @@ packages:
resolution: {integrity: sha512-2kGiWoXaeV8HZlhU/Nml12oTbhv7j2ufsJ5vQaa0VTjzUmZVdd/nmKFRAOJ/FtjO90Qba5AnZDwsrY7ZND5udA==}
engines: {node: '>= 16'}
'@intlify/shared@11.1.2':
resolution: {integrity: sha512-dF2iMMy8P9uKVHV/20LA1ulFLL+MKSbfMiixSmn6fpwqzvix38OIc7ebgnFbBqElvghZCW9ACtzKTGKsTGTWGA==}
'@intlify/shared@11.1.3':
resolution: {integrity: sha512-pTFBgqa/99JRA2H1qfyqv97MKWJrYngXBA/I0elZcYxvJgcCw3mApAoPW3mJ7vx3j+Ti0FyKUFZ4hWxdjKaxvA==}
engines: {node: '>= 16'}
'@intlify/shared@12.0.0-alpha.2':
@ -1120,6 +1123,9 @@ packages:
'@types/http-cache-semantics@4.0.4':
resolution: {integrity: sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==}
'@types/jasmine@3.10.18':
resolution: {integrity: sha512-jOk52a1Kz+1oU5fNWwAcNe64/GsE7r/Q6ronwDox0D3ETo/cr4ICMQyeXrj7G6FPW1n8YjRoAZA2F0XBr6GicQ==}
'@types/keyv@3.1.4':
resolution: {integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==}
@ -3380,6 +3386,9 @@ packages:
terser:
optional: true
vscode-icons-js@11.6.1:
resolution: {integrity: sha512-rht18IFYv117UlqBn6o9j258SOtwhDBmtVrGwdoLPpSj6Z5LKQIzarQDd/tCRWneU68KEX25+nsh48tAoknKNw==}
vscode-uri@3.0.8:
resolution: {integrity: sha512-AyFQ0EVmsOZOlAnxoFOGOq1SQDWAB7C6aqMGS23svWAllfOaxbuFvcT8D1i8z3Gyn8fraVeZNNmN6e9bxxXkKw==}
@ -4043,7 +4052,7 @@ snapshots:
'@intlify/shared@11.1.1': {}
'@intlify/shared@11.1.2': {}
'@intlify/shared@11.1.3': {}
'@intlify/shared@12.0.0-alpha.2': {}
@ -4051,8 +4060,8 @@ snapshots:
dependencies:
'@eslint-community/eslint-utils': 4.4.1(eslint@8.57.1)
'@intlify/bundle-utils': 10.0.0(vue-i18n@11.1.1(vue@3.5.13(typescript@5.7.3)))
'@intlify/shared': 11.1.2
'@intlify/vue-i18n-extensions': 8.0.0(@intlify/shared@11.1.2)(@vue/compiler-dom@3.5.13)(vue-i18n@11.1.1(vue@3.5.13(typescript@5.7.3)))(vue@3.5.13(typescript@5.7.3))
'@intlify/shared': 11.1.3
'@intlify/vue-i18n-extensions': 8.0.0(@intlify/shared@11.1.3)(@vue/compiler-dom@3.5.13)(vue-i18n@11.1.1(vue@3.5.13(typescript@5.7.3)))(vue@3.5.13(typescript@5.7.3))
'@rollup/pluginutils': 5.1.4(rollup@4.26.0)
'@typescript-eslint/scope-manager': 8.25.0
'@typescript-eslint/typescript-estree': 8.25.0(typescript@5.7.3)
@ -4074,11 +4083,11 @@ snapshots:
- supports-color
- typescript
'@intlify/vue-i18n-extensions@8.0.0(@intlify/shared@11.1.2)(@vue/compiler-dom@3.5.13)(vue-i18n@11.1.1(vue@3.5.13(typescript@5.7.3)))(vue@3.5.13(typescript@5.7.3))':
'@intlify/vue-i18n-extensions@8.0.0(@intlify/shared@11.1.3)(@vue/compiler-dom@3.5.13)(vue-i18n@11.1.1(vue@3.5.13(typescript@5.7.3)))(vue@3.5.13(typescript@5.7.3))':
dependencies:
'@babel/parser': 7.26.9
optionalDependencies:
'@intlify/shared': 11.1.2
'@intlify/shared': 11.1.3
'@vue/compiler-dom': 3.5.13
vue: 3.5.13(typescript@5.7.3)
vue-i18n: 11.1.1(vue@3.5.13(typescript@5.7.3))
@ -4361,6 +4370,8 @@ snapshots:
'@types/http-cache-semantics@4.0.4': {}
'@types/jasmine@3.10.18': {}
'@types/keyv@3.1.4':
dependencies:
'@types/node': 20.17.19
@ -7128,6 +7139,10 @@ snapshots:
fsevents: 2.3.3
sass: 1.85.0
vscode-icons-js@11.6.1:
dependencies:
'@types/jasmine': 3.10.18
vscode-uri@3.0.8: {}
vue-demi@0.13.11(vue@3.5.13(typescript@5.7.3)):

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"

2
src/renderer/src/main.ts

@ -13,7 +13,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)

4
src/renderer/src/pages/index.vue

@ -1,13 +1,17 @@
<script setup lang="ts">
import { getIconForFile } from 'vscode-icons-js';
definePage({
meta: {
home: true,
},
})
const img = getIconForFile('main.cpp')
</script>
<template>
<div>
sad
<img :src="'./icons/' + img" alt="">
</div>
</template>

Loading…
Cancel
Save