Merge pull request #17 from nongyehong/dev

新增苹方作为默认字体,解决#15
This commit is contained in:
nongyehong 2024-09-14 18:57:59 +08:00 committed by GitHub
commit 0f47cbdb8e
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
24 changed files with 319 additions and 205 deletions

View File

@ -3,8 +3,10 @@
### Bug Fixes
* **common:** :bug: 修复插件下载模块进度问题 ([85bc525](https://github.com/nongyehong/HuLa-IM-Tauri/commit/85bc525c1191d65eee0aef0592bf6a2e47746244))
* **component:** :bug: 修复windows上的样式问题 ([bb6a9d4](https://github.com/nongyehong/HuLa-IM-Tauri/commit/bb6a9d440db4777989d9a922a5135350e2dbf894))
* **component:** :bug: 修复系统托盘功能和一些样式问题 ([18277ef](https://github.com/nongyehong/HuLa-IM-Tauri/commit/18277ef0f1ce286b77b91dbc8c6ea8a628eba7d3))
* **layout:** :bug: 修复ts类型错误导致打包出差问题 ([0d7f7e0](https://github.com/nongyehong/HuLa-IM-Tauri/commit/0d7f7e024d9404fe5fe6829504594a902c27c501))
* **style:** :bug: 统一修复svg点击时有轮廓问题 ([ce68fa1](https://github.com/nongyehong/HuLa-IM-Tauri/commit/ce68fa134368b34802d5b101a1f98a2493f7120b))
* **system:** :bug: 修复mac端右键菜单透明度问题 ([39d795f](https://github.com/nongyehong/HuLa-IM-Tauri/commit/39d795ff655afd699340d3021a0b471c3060b11c))
* **system:** :bug: 修复win下窗口高度不一致问题 ([30bb3de](https://github.com/nongyehong/HuLa-IM-Tauri/commit/30bb3de5d10ffea949c32b505f6501b3f7d0f573))

View File

@ -7,7 +7,7 @@
<title>HuLa</title>
<!--引入iconpark图标库-->
<script defer src="https://lf1-cdn-tos.bytegoofy.com/obj/iconpark/svg_30895_122.6a2196c3637253b659223f2334a8756e.js"></script>
<script defer src="/icon.js"></script>
</head>
<body>

View File

@ -90,7 +90,7 @@
"prettier": "^3.3.2",
"sass": "1.77.6",
"sass-loader": "^14.2.1",
"typescript": "^5.5.3",
"typescript": "^5.6.2",
"unplugin-auto-import": "^0.18.2",
"unplugin-vue-components": "^0.27.4",
"vite": "5.4.3",

View File

@ -43,32 +43,32 @@ importers:
version: 3.0.1
naive-ui:
specifier: ^2.39.0
version: 2.39.0(vue@3.5.4(typescript@5.5.3))
version: 2.39.0(vue@3.5.4(typescript@5.6.2))
pinia:
specifier: ^2.2.1
version: 2.2.1(typescript@5.5.3)(vue@3.5.4(typescript@5.5.3))
version: 2.2.1(typescript@5.6.2)(vue@3.5.4(typescript@5.6.2))
pinia-plugin-persistedstate:
specifier: ^3.2.1
version: 3.2.1(pinia@2.2.1(typescript@5.5.3)(vue@3.5.4(typescript@5.5.3)))
version: 3.2.1(pinia@2.2.1(typescript@5.6.2)(vue@3.5.4(typescript@5.6.2)))
pinia-shared-state:
specifier: ^0.5.1
version: 0.5.1(pinia@2.2.1(typescript@5.5.3)(vue@3.5.4(typescript@5.5.3)))(vue@3.5.4(typescript@5.5.3))
version: 0.5.1(pinia@2.2.1(typescript@5.6.2)(vue@3.5.4(typescript@5.6.2)))(vue@3.5.4(typescript@5.6.2))
vue:
specifier: ^3.5.4
version: 3.5.4(typescript@5.5.3)
version: 3.5.4(typescript@5.6.2)
vue-draggable-plus:
specifier: ^0.5.3
version: 0.5.3(@types/sortablejs@1.15.8)
vue-router:
specifier: ^4.4.2
version: 4.4.3(vue@3.5.4(typescript@5.5.3))
version: 4.4.3(vue@3.5.4(typescript@5.6.2))
devDependencies:
'@babel/eslint-parser':
specifier: ^7.24.7
version: 7.25.1(@babel/core@7.25.2)(eslint@8.57.0)
'@commitlint/cli':
specifier: ^19.3.0
version: 19.4.0(@types/node@20.14.15)(typescript@5.5.3)
version: 19.4.0(@types/node@20.14.15)(typescript@5.6.2)
'@commitlint/config-conventional':
specifier: ^19.2.2
version: 19.2.2
@ -86,10 +86,10 @@ importers:
version: 20.14.15
'@typescript-eslint/eslint-plugin':
specifier: 7.1.0
version: 7.1.0(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.5.3))(eslint@8.57.0)(typescript@5.5.3)
version: 7.1.0(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.6.2))(eslint@8.57.0)(typescript@5.6.2)
'@typescript-eslint/parser':
specifier: ^7.15.0
version: 7.18.0(eslint@8.57.0)(typescript@5.5.3)
version: 7.18.0(eslint@8.57.0)(typescript@5.6.2)
'@unocss/preset-uno':
specifier: ^0.62.3
version: 0.62.3
@ -107,16 +107,16 @@ importers:
version: 0.62.3(rollup@4.21.2)(vite@5.4.3(@types/node@20.14.15)(sass@1.77.6)(terser@5.31.5))
'@vitejs/plugin-vue':
specifier: ^5.1.2
version: 5.1.2(vite@5.4.3(@types/node@20.14.15)(sass@1.77.6)(terser@5.31.5))(vue@3.5.4(typescript@5.5.3))
version: 5.1.2(vite@5.4.3(@types/node@20.14.15)(sass@1.77.6)(terser@5.31.5))(vue@3.5.4(typescript@5.6.2))
'@vitejs/plugin-vue-jsx':
specifier: ^4.0.0
version: 4.0.0(vite@5.4.3(@types/node@20.14.15)(sass@1.77.6)(terser@5.31.5))(vue@3.5.4(typescript@5.5.3))
version: 4.0.0(vite@5.4.3(@types/node@20.14.15)(sass@1.77.6)(terser@5.31.5))(vue@3.5.4(typescript@5.6.2))
'@vueuse/core':
specifier: ^10.11.0
version: 10.11.1(vue@3.5.4(typescript@5.5.3))
version: 10.11.1(vue@3.5.4(typescript@5.6.2))
commitizen:
specifier: ^4.3.0
version: 4.3.0(@types/node@20.14.15)(typescript@5.5.3)
version: 4.3.0(@types/node@20.14.15)(typescript@5.6.2)
conventional-changelog:
specifier: ^6.0.0
version: 6.0.0(conventional-commits-filter@5.0.0)
@ -134,7 +134,7 @@ importers:
version: 9.1.0(eslint@8.57.0)
eslint-plugin-import:
specifier: ^2.29.1
version: 2.29.1(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.5.3))(eslint@8.57.0)
version: 2.29.1(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.6.2))(eslint@8.57.0)
eslint-plugin-prettier:
specifier: ^5.1.3
version: 5.2.1(eslint-config-prettier@9.1.0(eslint@8.57.0))(eslint@8.57.0)(prettier@3.3.3)
@ -160,20 +160,20 @@ importers:
specifier: ^14.2.1
version: 14.2.1(sass@1.77.6)
typescript:
specifier: ^5.5.3
version: 5.5.3
specifier: ^5.6.2
version: 5.6.2
unplugin-auto-import:
specifier: ^0.18.2
version: 0.18.2(@nuxt/kit@3.13.1(rollup@4.21.2)(webpack-sources@3.2.3))(@vueuse/core@10.11.1(vue@3.5.4(typescript@5.5.3)))(rollup@4.21.2)(webpack-sources@3.2.3)
version: 0.18.2(@nuxt/kit@3.13.1(rollup@4.21.2)(webpack-sources@3.2.3))(@vueuse/core@10.11.1(vue@3.5.4(typescript@5.6.2)))(rollup@4.21.2)(webpack-sources@3.2.3)
unplugin-vue-components:
specifier: ^0.27.4
version: 0.27.4(@babel/parser@7.25.6)(@nuxt/kit@3.13.1(rollup@4.21.2)(webpack-sources@3.2.3))(rollup@4.21.2)(vue@3.5.4(typescript@5.5.3))(webpack-sources@3.2.3)
version: 0.27.4(@babel/parser@7.25.6)(@nuxt/kit@3.13.1(rollup@4.21.2)(webpack-sources@3.2.3))(rollup@4.21.2)(vue@3.5.4(typescript@5.6.2))(webpack-sources@3.2.3)
vite:
specifier: 5.4.3
version: 5.4.3(@types/node@20.14.15)(sass@1.77.6)(terser@5.31.5)
vue-tsc:
specifier: ^2.1.4
version: 2.1.4(typescript@5.5.3)
version: 2.1.4(typescript@5.6.2)
packages:
@ -3633,8 +3633,8 @@ packages:
resolution: {integrity: sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==}
engines: {node: '>= 0.4'}
typescript@5.5.3:
resolution: {integrity: sha512-/hreyEujaB0w76zKo6717l3L0o/qEUtRgdvUBvlkhoWeOVMjMuHNHk0BRBzikzuGDqNmPQbg5ifMEqsHLiIUcQ==}
typescript@5.6.2:
resolution: {integrity: sha512-NW8ByodCSNCwZeghjN3o+JX5OFH0Ojg6sadjEKY4huZ52TqbJTJnDo5+Tw98lSy63NZvi4n+ez5m2u5d4PkZyw==}
engines: {node: '>=14.17'}
hasBin: true
@ -4137,11 +4137,11 @@ snapshots:
'@babel/helper-validator-identifier': 7.24.7
to-fast-properties: 2.0.0
'@commitlint/cli@19.4.0(@types/node@20.14.15)(typescript@5.5.3)':
'@commitlint/cli@19.4.0(@types/node@20.14.15)(typescript@5.6.2)':
dependencies:
'@commitlint/format': 19.3.0
'@commitlint/lint': 19.2.2
'@commitlint/load': 19.4.0(@types/node@20.14.15)(typescript@5.5.3)
'@commitlint/load': 19.4.0(@types/node@20.14.15)(typescript@5.6.2)
'@commitlint/read': 19.4.0
'@commitlint/types': 19.0.3
execa: 8.0.1
@ -4188,15 +4188,15 @@ snapshots:
'@commitlint/rules': 19.0.3
'@commitlint/types': 19.0.3
'@commitlint/load@19.4.0(@types/node@20.14.15)(typescript@5.5.3)':
'@commitlint/load@19.4.0(@types/node@20.14.15)(typescript@5.6.2)':
dependencies:
'@commitlint/config-validator': 19.0.3
'@commitlint/execute-rule': 19.0.0
'@commitlint/resolve-extends': 19.1.0
'@commitlint/types': 19.0.3
chalk: 5.3.0
cosmiconfig: 9.0.0(typescript@5.5.3)
cosmiconfig-typescript-loader: 5.0.0(@types/node@20.14.15)(cosmiconfig@9.0.0(typescript@5.5.3))(typescript@5.5.3)
cosmiconfig: 9.0.0(typescript@5.6.2)
cosmiconfig-typescript-loader: 5.0.0(@types/node@20.14.15)(cosmiconfig@9.0.0(typescript@5.6.2))(typescript@5.6.2)
lodash.isplainobject: 4.0.6
lodash.merge: 4.6.2
lodash.uniq: 4.5.0
@ -4260,9 +4260,9 @@ snapshots:
dependencies:
css-render: 0.15.14
'@css-render/vue3-ssr@0.15.14(vue@3.5.4(typescript@5.5.3))':
'@css-render/vue3-ssr@0.15.14(vue@3.5.4(typescript@5.6.2))':
dependencies:
vue: 3.5.4(typescript@5.5.3)
vue: 3.5.4(typescript@5.6.2)
'@emotion/hash@0.8.0': {}
@ -4723,13 +4723,13 @@ snapshots:
'@types/web-bluetooth@0.0.20': {}
'@typescript-eslint/eslint-plugin@7.1.0(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.5.3))(eslint@8.57.0)(typescript@5.5.3)':
'@typescript-eslint/eslint-plugin@7.1.0(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.6.2))(eslint@8.57.0)(typescript@5.6.2)':
dependencies:
'@eslint-community/regexpp': 4.11.0
'@typescript-eslint/parser': 7.18.0(eslint@8.57.0)(typescript@5.5.3)
'@typescript-eslint/parser': 7.18.0(eslint@8.57.0)(typescript@5.6.2)
'@typescript-eslint/scope-manager': 7.1.0
'@typescript-eslint/type-utils': 7.1.0(eslint@8.57.0)(typescript@5.5.3)
'@typescript-eslint/utils': 7.1.0(eslint@8.57.0)(typescript@5.5.3)
'@typescript-eslint/type-utils': 7.1.0(eslint@8.57.0)(typescript@5.6.2)
'@typescript-eslint/utils': 7.1.0(eslint@8.57.0)(typescript@5.6.2)
'@typescript-eslint/visitor-keys': 7.1.0
debug: 4.3.6
eslint: 8.57.0
@ -4737,22 +4737,22 @@ snapshots:
ignore: 5.3.1
natural-compare: 1.4.0
semver: 7.6.3
ts-api-utils: 1.3.0(typescript@5.5.3)
ts-api-utils: 1.3.0(typescript@5.6.2)
optionalDependencies:
typescript: 5.5.3
typescript: 5.6.2
transitivePeerDependencies:
- supports-color
'@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.5.3)':
'@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.6.2)':
dependencies:
'@typescript-eslint/scope-manager': 7.18.0
'@typescript-eslint/types': 7.18.0
'@typescript-eslint/typescript-estree': 7.18.0(typescript@5.5.3)
'@typescript-eslint/typescript-estree': 7.18.0(typescript@5.6.2)
'@typescript-eslint/visitor-keys': 7.18.0
debug: 4.3.6
eslint: 8.57.0
optionalDependencies:
typescript: 5.5.3
typescript: 5.6.2
transitivePeerDependencies:
- supports-color
@ -4766,15 +4766,15 @@ snapshots:
'@typescript-eslint/types': 7.18.0
'@typescript-eslint/visitor-keys': 7.18.0
'@typescript-eslint/type-utils@7.1.0(eslint@8.57.0)(typescript@5.5.3)':
'@typescript-eslint/type-utils@7.1.0(eslint@8.57.0)(typescript@5.6.2)':
dependencies:
'@typescript-eslint/typescript-estree': 7.1.0(typescript@5.5.3)
'@typescript-eslint/utils': 7.1.0(eslint@8.57.0)(typescript@5.5.3)
'@typescript-eslint/typescript-estree': 7.1.0(typescript@5.6.2)
'@typescript-eslint/utils': 7.1.0(eslint@8.57.0)(typescript@5.6.2)
debug: 4.3.6
eslint: 8.57.0
ts-api-utils: 1.3.0(typescript@5.5.3)
ts-api-utils: 1.3.0(typescript@5.6.2)
optionalDependencies:
typescript: 5.5.3
typescript: 5.6.2
transitivePeerDependencies:
- supports-color
@ -4782,7 +4782,7 @@ snapshots:
'@typescript-eslint/types@7.18.0': {}
'@typescript-eslint/typescript-estree@7.1.0(typescript@5.5.3)':
'@typescript-eslint/typescript-estree@7.1.0(typescript@5.6.2)':
dependencies:
'@typescript-eslint/types': 7.1.0
'@typescript-eslint/visitor-keys': 7.1.0
@ -4791,13 +4791,13 @@ snapshots:
is-glob: 4.0.3
minimatch: 9.0.3
semver: 7.6.3
ts-api-utils: 1.3.0(typescript@5.5.3)
ts-api-utils: 1.3.0(typescript@5.6.2)
optionalDependencies:
typescript: 5.5.3
typescript: 5.6.2
transitivePeerDependencies:
- supports-color
'@typescript-eslint/typescript-estree@7.18.0(typescript@5.5.3)':
'@typescript-eslint/typescript-estree@7.18.0(typescript@5.6.2)':
dependencies:
'@typescript-eslint/types': 7.18.0
'@typescript-eslint/visitor-keys': 7.18.0
@ -4806,20 +4806,20 @@ snapshots:
is-glob: 4.0.3
minimatch: 9.0.5
semver: 7.6.3
ts-api-utils: 1.3.0(typescript@5.5.3)
ts-api-utils: 1.3.0(typescript@5.6.2)
optionalDependencies:
typescript: 5.5.3
typescript: 5.6.2
transitivePeerDependencies:
- supports-color
'@typescript-eslint/utils@7.1.0(eslint@8.57.0)(typescript@5.5.3)':
'@typescript-eslint/utils@7.1.0(eslint@8.57.0)(typescript@5.6.2)':
dependencies:
'@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0)
'@types/json-schema': 7.0.15
'@types/semver': 7.5.8
'@typescript-eslint/scope-manager': 7.1.0
'@typescript-eslint/types': 7.1.0
'@typescript-eslint/typescript-estree': 7.1.0(typescript@5.5.3)
'@typescript-eslint/typescript-estree': 7.1.0(typescript@5.6.2)
eslint: 8.57.0
semver: 7.6.3
transitivePeerDependencies:
@ -4913,20 +4913,20 @@ snapshots:
- rollup
- supports-color
'@vitejs/plugin-vue-jsx@4.0.0(vite@5.4.3(@types/node@20.14.15)(sass@1.77.6)(terser@5.31.5))(vue@3.5.4(typescript@5.5.3))':
'@vitejs/plugin-vue-jsx@4.0.0(vite@5.4.3(@types/node@20.14.15)(sass@1.77.6)(terser@5.31.5))(vue@3.5.4(typescript@5.6.2))':
dependencies:
'@babel/core': 7.25.2
'@babel/plugin-transform-typescript': 7.25.2(@babel/core@7.25.2)
'@vue/babel-plugin-jsx': 1.2.2(@babel/core@7.25.2)
vite: 5.4.3(@types/node@20.14.15)(sass@1.77.6)(terser@5.31.5)
vue: 3.5.4(typescript@5.5.3)
vue: 3.5.4(typescript@5.6.2)
transitivePeerDependencies:
- supports-color
'@vitejs/plugin-vue@5.1.2(vite@5.4.3(@types/node@20.14.15)(sass@1.77.6)(terser@5.31.5))(vue@3.5.4(typescript@5.5.3))':
'@vitejs/plugin-vue@5.1.2(vite@5.4.3(@types/node@20.14.15)(sass@1.77.6)(terser@5.31.5))(vue@3.5.4(typescript@5.6.2))':
dependencies:
vite: 5.4.3(@types/node@20.14.15)(sass@1.77.6)(terser@5.31.5)
vue: 3.5.4(typescript@5.5.3)
vue: 3.5.4(typescript@5.6.2)
'@volar/language-core@2.4.1':
dependencies:
@ -5049,7 +5049,7 @@ snapshots:
'@vue/devtools-api@6.6.3': {}
'@vue/language-core@2.1.4(typescript@5.5.3)':
'@vue/language-core@2.1.4(typescript@5.6.2)':
dependencies:
'@volar/language-core': 2.4.1
'@vue/compiler-dom': 3.4.38
@ -5060,7 +5060,7 @@ snapshots:
muggle-string: 0.4.1
path-browserify: 1.0.1
optionalDependencies:
typescript: 5.5.3
typescript: 5.6.2
'@vue/reactivity@3.5.4':
dependencies:
@ -5078,11 +5078,11 @@ snapshots:
'@vue/shared': 3.5.4
csstype: 3.1.3
'@vue/server-renderer@3.5.4(vue@3.5.4(typescript@5.5.3))':
'@vue/server-renderer@3.5.4(vue@3.5.4(typescript@5.6.2))':
dependencies:
'@vue/compiler-ssr': 3.5.4
'@vue/shared': 3.5.4
vue: 3.5.4(typescript@5.5.3)
vue: 3.5.4(typescript@5.6.2)
'@vue/shared@3.4.37': {}
@ -5090,21 +5090,21 @@ snapshots:
'@vue/shared@3.5.4': {}
'@vueuse/core@10.11.1(vue@3.5.4(typescript@5.5.3))':
'@vueuse/core@10.11.1(vue@3.5.4(typescript@5.6.2))':
dependencies:
'@types/web-bluetooth': 0.0.20
'@vueuse/metadata': 10.11.1
'@vueuse/shared': 10.11.1(vue@3.5.4(typescript@5.5.3))
vue-demi: 0.14.10(vue@3.5.4(typescript@5.5.3))
'@vueuse/shared': 10.11.1(vue@3.5.4(typescript@5.6.2))
vue-demi: 0.14.10(vue@3.5.4(typescript@5.6.2))
transitivePeerDependencies:
- '@vue/composition-api'
- vue
'@vueuse/metadata@10.11.1': {}
'@vueuse/shared@10.11.1(vue@3.5.4(typescript@5.5.3))':
'@vueuse/shared@10.11.1(vue@3.5.4(typescript@5.6.2))':
dependencies:
vue-demi: 0.14.10(vue@3.5.4(typescript@5.5.3))
vue-demi: 0.14.10(vue@3.5.4(typescript@5.6.2))
transitivePeerDependencies:
- '@vue/composition-api'
- vue
@ -5423,10 +5423,10 @@ snapshots:
commander@2.20.3: {}
commitizen@4.3.0(@types/node@20.14.15)(typescript@5.5.3):
commitizen@4.3.0(@types/node@20.14.15)(typescript@5.6.2):
dependencies:
cachedir: 2.3.0
cz-conventional-changelog: 3.3.0(@types/node@20.14.15)(typescript@5.5.3)
cz-conventional-changelog: 3.3.0(@types/node@20.14.15)(typescript@5.6.2)
dedent: 0.7.0
detect-indent: 6.1.0
find-node-modules: 2.1.3
@ -5561,21 +5561,21 @@ snapshots:
core-util-is@1.0.2: {}
cosmiconfig-typescript-loader@5.0.0(@types/node@20.14.15)(cosmiconfig@9.0.0(typescript@5.5.3))(typescript@5.5.3):
cosmiconfig-typescript-loader@5.0.0(@types/node@20.14.15)(cosmiconfig@9.0.0(typescript@5.6.2))(typescript@5.6.2):
dependencies:
'@types/node': 20.14.15
cosmiconfig: 9.0.0(typescript@5.5.3)
cosmiconfig: 9.0.0(typescript@5.6.2)
jiti: 1.21.6
typescript: 5.5.3
typescript: 5.6.2
cosmiconfig@9.0.0(typescript@5.5.3):
cosmiconfig@9.0.0(typescript@5.6.2):
dependencies:
env-paths: 2.2.1
import-fresh: 3.3.0
js-yaml: 4.1.0
parse-json: 5.2.0
optionalDependencies:
typescript: 5.5.3
typescript: 5.6.2
cross-spawn@7.0.3:
dependencies:
@ -5603,16 +5603,16 @@ snapshots:
dependencies:
uniq: 1.0.1
cz-conventional-changelog@3.3.0(@types/node@20.14.15)(typescript@5.5.3):
cz-conventional-changelog@3.3.0(@types/node@20.14.15)(typescript@5.6.2):
dependencies:
chalk: 2.4.2
commitizen: 4.3.0(@types/node@20.14.15)(typescript@5.5.3)
commitizen: 4.3.0(@types/node@20.14.15)(typescript@5.6.2)
conventional-commit-types: 3.0.0
lodash.map: 4.6.0
longest: 2.0.1
word-wrap: 1.2.5
optionalDependencies:
'@commitlint/load': 19.4.0(@types/node@20.14.15)(typescript@5.5.3)
'@commitlint/load': 19.4.0(@types/node@20.14.15)(typescript@5.6.2)
transitivePeerDependencies:
- '@types/node'
- typescript
@ -5892,17 +5892,17 @@ snapshots:
transitivePeerDependencies:
- supports-color
eslint-module-utils@2.8.1(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.5.3))(eslint-import-resolver-node@0.3.9)(eslint@8.57.0):
eslint-module-utils@2.8.1(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint@8.57.0):
dependencies:
debug: 3.2.7
optionalDependencies:
'@typescript-eslint/parser': 7.18.0(eslint@8.57.0)(typescript@5.5.3)
'@typescript-eslint/parser': 7.18.0(eslint@8.57.0)(typescript@5.6.2)
eslint: 8.57.0
eslint-import-resolver-node: 0.3.9
transitivePeerDependencies:
- supports-color
eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.5.3))(eslint@8.57.0):
eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.6.2))(eslint@8.57.0):
dependencies:
array-includes: 3.1.8
array.prototype.findlastindex: 1.2.5
@ -5912,7 +5912,7 @@ snapshots:
doctrine: 2.1.0
eslint: 8.57.0
eslint-import-resolver-node: 0.3.9
eslint-module-utils: 2.8.1(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.5.3))(eslint-import-resolver-node@0.3.9)(eslint@8.57.0)
eslint-module-utils: 2.8.1(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint@8.57.0)
hasown: 2.0.2
is-core-module: 2.15.0
is-glob: 4.0.3
@ -5923,7 +5923,7 @@ snapshots:
semver: 6.3.1
tsconfig-paths: 3.15.0
optionalDependencies:
'@typescript-eslint/parser': 7.18.0(eslint@8.57.0)(typescript@5.5.3)
'@typescript-eslint/parser': 7.18.0(eslint@8.57.0)(typescript@5.6.2)
transitivePeerDependencies:
- eslint-import-resolver-typescript
- eslint-import-resolver-webpack
@ -6839,10 +6839,10 @@ snapshots:
mute-stream@0.0.8: {}
naive-ui@2.39.0(vue@3.5.4(typescript@5.5.3)):
naive-ui@2.39.0(vue@3.5.4(typescript@5.6.2)):
dependencies:
'@css-render/plugin-bem': 0.15.14(css-render@0.15.14)
'@css-render/vue3-ssr': 0.15.14(vue@3.5.4(typescript@5.5.3))
'@css-render/vue3-ssr': 0.15.14(vue@3.5.4(typescript@5.6.2))
'@types/katex': 0.16.7
'@types/lodash': 4.17.7
'@types/lodash-es': 4.17.12
@ -6857,10 +6857,10 @@ snapshots:
lodash-es: 4.17.21
seemly: 0.3.8
treemate: 0.3.11
vdirs: 0.1.8(vue@3.5.4(typescript@5.5.3))
vooks: 0.2.12(vue@3.5.4(typescript@5.5.3))
vue: 3.5.4(typescript@5.5.3)
vueuc: 0.4.58(vue@3.5.4(typescript@5.5.3))
vdirs: 0.1.8(vue@3.5.4(typescript@5.6.2))
vooks: 0.2.12(vue@3.5.4(typescript@5.6.2))
vue: 3.5.4(typescript@5.6.2)
vueuc: 0.4.58(vue@3.5.4(typescript@5.6.2))
nanoid@3.3.7: {}
@ -7086,26 +7086,26 @@ snapshots:
pidtree@0.6.0: {}
pinia-plugin-persistedstate@3.2.1(pinia@2.2.1(typescript@5.5.3)(vue@3.5.4(typescript@5.5.3))):
pinia-plugin-persistedstate@3.2.1(pinia@2.2.1(typescript@5.6.2)(vue@3.5.4(typescript@5.6.2))):
dependencies:
pinia: 2.2.1(typescript@5.5.3)(vue@3.5.4(typescript@5.5.3))
pinia: 2.2.1(typescript@5.6.2)(vue@3.5.4(typescript@5.6.2))
pinia-shared-state@0.5.1(pinia@2.2.1(typescript@5.5.3)(vue@3.5.4(typescript@5.5.3)))(vue@3.5.4(typescript@5.5.3)):
pinia-shared-state@0.5.1(pinia@2.2.1(typescript@5.6.2)(vue@3.5.4(typescript@5.6.2)))(vue@3.5.4(typescript@5.6.2)):
dependencies:
broadcast-channel: 7.0.0
pinia: 2.2.1(typescript@5.5.3)(vue@3.5.4(typescript@5.5.3))
vue-demi: 0.14.10(vue@3.5.4(typescript@5.5.3))
pinia: 2.2.1(typescript@5.6.2)(vue@3.5.4(typescript@5.6.2))
vue-demi: 0.14.10(vue@3.5.4(typescript@5.6.2))
transitivePeerDependencies:
- '@vue/composition-api'
- vue
pinia@2.2.1(typescript@5.5.3)(vue@3.5.4(typescript@5.5.3)):
pinia@2.2.1(typescript@5.6.2)(vue@3.5.4(typescript@5.6.2)):
dependencies:
'@vue/devtools-api': 6.6.3
vue: 3.5.4(typescript@5.5.3)
vue-demi: 0.14.10(vue@3.5.4(typescript@5.5.3))
vue: 3.5.4(typescript@5.6.2)
vue-demi: 0.14.10(vue@3.5.4(typescript@5.6.2))
optionalDependencies:
typescript: 5.5.3
typescript: 5.6.2
pkg-types@1.2.0:
dependencies:
@ -7555,9 +7555,9 @@ snapshots:
treemate@0.3.11: {}
ts-api-utils@1.3.0(typescript@5.5.3):
ts-api-utils@1.3.0(typescript@5.6.2):
dependencies:
typescript: 5.5.3
typescript: 5.6.2
tsconfig-paths@3.15.0:
dependencies:
@ -7623,7 +7623,7 @@ snapshots:
is-typed-array: 1.1.13
possible-typed-array-names: 1.0.0
typescript@5.5.3: {}
typescript@5.6.2: {}
ufo@1.5.4: {}
@ -7707,7 +7707,7 @@ snapshots:
unload@2.4.1: {}
unplugin-auto-import@0.18.2(@nuxt/kit@3.13.1(rollup@4.21.2)(webpack-sources@3.2.3))(@vueuse/core@10.11.1(vue@3.5.4(typescript@5.5.3)))(rollup@4.21.2)(webpack-sources@3.2.3):
unplugin-auto-import@0.18.2(@nuxt/kit@3.13.1(rollup@4.21.2)(webpack-sources@3.2.3))(@vueuse/core@10.11.1(vue@3.5.4(typescript@5.6.2)))(rollup@4.21.2)(webpack-sources@3.2.3):
dependencies:
'@antfu/utils': 0.7.10
'@rollup/pluginutils': 5.1.0(rollup@4.21.2)
@ -7719,12 +7719,12 @@ snapshots:
unplugin: 1.14.1(webpack-sources@3.2.3)
optionalDependencies:
'@nuxt/kit': 3.13.1(rollup@4.21.2)(webpack-sources@3.2.3)
'@vueuse/core': 10.11.1(vue@3.5.4(typescript@5.5.3))
'@vueuse/core': 10.11.1(vue@3.5.4(typescript@5.6.2))
transitivePeerDependencies:
- rollup
- webpack-sources
unplugin-vue-components@0.27.4(@babel/parser@7.25.6)(@nuxt/kit@3.13.1(rollup@4.21.2)(webpack-sources@3.2.3))(rollup@4.21.2)(vue@3.5.4(typescript@5.5.3))(webpack-sources@3.2.3):
unplugin-vue-components@0.27.4(@babel/parser@7.25.6)(@nuxt/kit@3.13.1(rollup@4.21.2)(webpack-sources@3.2.3))(rollup@4.21.2)(vue@3.5.4(typescript@5.6.2))(webpack-sources@3.2.3):
dependencies:
'@antfu/utils': 0.7.10
'@rollup/pluginutils': 5.1.0(rollup@4.21.2)
@ -7736,7 +7736,7 @@ snapshots:
minimatch: 9.0.5
mlly: 1.7.1
unplugin: 1.14.1(webpack-sources@3.2.3)
vue: 3.5.4(typescript@5.5.3)
vue: 3.5.4(typescript@5.6.2)
optionalDependencies:
'@babel/parser': 7.25.6
'@nuxt/kit': 3.13.1(rollup@4.21.2)(webpack-sources@3.2.3)
@ -7784,10 +7784,10 @@ snapshots:
spdx-correct: 3.2.0
spdx-expression-parse: 3.0.1
vdirs@0.1.8(vue@3.5.4(typescript@5.5.3)):
vdirs@0.1.8(vue@3.5.4(typescript@5.6.2)):
dependencies:
evtd: 0.2.4
vue: 3.5.4(typescript@5.5.3)
vue: 3.5.4(typescript@5.6.2)
verror@1.10.0:
dependencies:
@ -7806,16 +7806,16 @@ snapshots:
sass: 1.77.6
terser: 5.31.5
vooks@0.2.12(vue@3.5.4(typescript@5.5.3)):
vooks@0.2.12(vue@3.5.4(typescript@5.6.2)):
dependencies:
evtd: 0.2.4
vue: 3.5.4(typescript@5.5.3)
vue: 3.5.4(typescript@5.6.2)
vscode-uri@3.0.8: {}
vue-demi@0.14.10(vue@3.5.4(typescript@5.5.3)):
vue-demi@0.14.10(vue@3.5.4(typescript@5.6.2)):
dependencies:
vue: 3.5.4(typescript@5.5.3)
vue: 3.5.4(typescript@5.6.2)
vue-draggable-plus@0.5.3(@types/sortablejs@1.15.8):
dependencies:
@ -7834,38 +7834,38 @@ snapshots:
transitivePeerDependencies:
- supports-color
vue-router@4.4.3(vue@3.5.4(typescript@5.5.3)):
vue-router@4.4.3(vue@3.5.4(typescript@5.6.2)):
dependencies:
'@vue/devtools-api': 6.6.3
vue: 3.5.4(typescript@5.5.3)
vue: 3.5.4(typescript@5.6.2)
vue-tsc@2.1.4(typescript@5.5.3):
vue-tsc@2.1.4(typescript@5.6.2):
dependencies:
'@volar/typescript': 2.4.1
'@vue/language-core': 2.1.4(typescript@5.5.3)
'@vue/language-core': 2.1.4(typescript@5.6.2)
semver: 7.6.3
typescript: 5.5.3
typescript: 5.6.2
vue@3.5.4(typescript@5.5.3):
vue@3.5.4(typescript@5.6.2):
dependencies:
'@vue/compiler-dom': 3.5.4
'@vue/compiler-sfc': 3.5.4
'@vue/runtime-dom': 3.5.4
'@vue/server-renderer': 3.5.4(vue@3.5.4(typescript@5.5.3))
'@vue/server-renderer': 3.5.4(vue@3.5.4(typescript@5.6.2))
'@vue/shared': 3.5.4
optionalDependencies:
typescript: 5.5.3
typescript: 5.6.2
vueuc@0.4.58(vue@3.5.4(typescript@5.5.3)):
vueuc@0.4.58(vue@3.5.4(typescript@5.6.2)):
dependencies:
'@css-render/vue3-ssr': 0.15.14(vue@3.5.4(typescript@5.5.3))
'@css-render/vue3-ssr': 0.15.14(vue@3.5.4(typescript@5.6.2))
'@juggle/resize-observer': 3.4.0
css-render: 0.15.14
evtd: 0.2.4
seemly: 0.3.8
vdirs: 0.1.8(vue@3.5.4(typescript@5.5.3))
vooks: 0.2.12(vue@3.5.4(typescript@5.5.3))
vue: 3.5.4(typescript@5.5.3)
vdirs: 0.1.8(vue@3.5.4(typescript@5.6.2))
vooks: 0.2.12(vue@3.5.4(typescript@5.6.2))
vue: 3.5.4(typescript@5.6.2)
wcwidth@1.0.1:
dependencies:

1
public/icon.js Normal file

File diff suppressed because one or more lines are too long

Binary file not shown.

Binary file not shown.

View File

@ -5,6 +5,7 @@
<div
id="message-input"
ref="messageInputDom"
style="outline: none"
contenteditable
spellcheck="false"
@paste="handlePaste($event, messageInputDom)"
@ -91,7 +92,7 @@
<svg class="size-12px"><use href="#Enter"></use></svg>
发送/
<n-flex align="center" :size="0">
{{ type() === 'macos' ? MacOsKeyEnum['⌘'] : WinKeyEnum.ctrl }}
{{ type() === 'macos' ? MacOsKeyEnum['⇧'] : WinKeyEnum.SHIFT }}
<svg class="size-12px"><use href="#Enter"></use></svg>
</n-flex>
换行

View File

@ -254,9 +254,10 @@ export enum MacOsKeyEnum {
/** Windows键盘映射 */
export enum WinKeyEnum {
ctrl = 'Ctrl',
win = 'Win',
alt = 'Alt'
CTRL = 'Ctrl',
WIN = 'Win',
ALT = 'Alt',
SHIFT = 'Shift'
}
/** 插件状态 */

View File

@ -13,7 +13,7 @@
:size="8"
:class="{ 'filter-shadow': page.shadow }"
class="box bg-[--info-hover]">
<svg class="size-38px color-#777"><use :href="`#${plugin.icon}`"></use></svg>
<svg class="size-38px color-#999"><use :href="`#${plugin.icon}`"></use></svg>
<p class="text-(12px #666)">{{ plugin.title }}</p>
<!-- 在下载中进度条 -->
@ -61,8 +61,7 @@
'filter-shadow': page.shadow
}
]">
<img v-if="plugin.isAnimate" class="size-38px" :src="`/emoji/${plugin.icon}.webp`" alt="" />
<svg v-else class="size-38px color-#555"><use :href="`#${plugin.iconAction || plugin.icon}`"></use></svg>
<svg class="size-38px color-#555"><use :href="`#${plugin.iconAction || plugin.icon}`"></use></svg>
<p class="text-(12px #666)">{{ plugin.title }}</p>
<n-flex
@ -154,6 +153,7 @@ const handleState = (plugin: STO.Plugins<PluginEnum>) => {
} else {
clearInterval(interval)
plugin.state = PluginEnum.INSTALLED
plugin.progress = 0
updatePlugins(plugin)
}
}, 500)
@ -165,6 +165,7 @@ const handleUnload = (plugin: STO.Plugins<PluginEnum>) => {
handleDelete(plugin)
plugin.isAdd = false
plugin.state = PluginEnum.NOT_INSTALLED
plugin.progress = 0
updatePlugins(plugin)
}, 2000)
}

View File

@ -9,13 +9,11 @@
<Transition mode="out-in">
<svg
v-if="plugin.state === PluginEnum.NOT_INSTALLED || plugin.state === PluginEnum.DOWNLOADING"
class="size-34px color-#666">
class="size-34px color-#999">
<use :href="`#${plugin.icon}`"></use>
</svg>
<template v-else>
<img v-if="plugin.isAnimate" class="size-34px" :src="`/emoji/${plugin.icon}.webp`" alt="" />
<svg v-else class="size-34px color-#666">
<svg class="size-34px color-#555">
<use :href="`#${plugin.iconAction || plugin.icon}`"></use>
</svg>
</template>
@ -151,6 +149,7 @@ const handleState = (plugin: STO.Plugins<PluginEnum>) => {
} else {
clearInterval(interval)
plugin.state = PluginEnum.INSTALLED
plugin.progress = 0
updatePlugins(plugin)
}
}, 500)
@ -162,6 +161,7 @@ const handleUnload = (plugin: STO.Plugins<PluginEnum>) => {
handleDelete(plugin)
plugin.isAdd = false
plugin.state = PluginEnum.NOT_INSTALLED
plugin.progress = 0
updatePlugins(plugin)
}, 2000)
}

View File

@ -14,7 +14,7 @@ const itemsBottom: OPT.L.Common[] = [
title: '邮件',
url: 'mail',
icon: 'mail',
iconAction: 'mail-action2',
iconAction: 'mail-action',
size: {
width: 840,
height: 600
@ -27,7 +27,7 @@ const itemsBottom: OPT.L.Common[] = [
title: '文件管理器',
url: 'mail',
icon: 'file',
iconAction: 'file-action2',
iconAction: 'file-action',
size: {
width: 840,
height: 600
@ -40,7 +40,7 @@ const itemsBottom: OPT.L.Common[] = [
title: '收藏',
url: 'mail',
icon: 'collect',
iconAction: 'heart',
iconAction: 'collect-action',
size: {
width: 840,
height: 600
@ -97,8 +97,7 @@ const pluginsList = ref<STO.Plugins<PluginEnum>[]>([
url: 'dynamic',
icon: 'fire',
title: '动态',
isAnimate: true,
iconAction: 'fire-action2',
iconAction: 'fire-action',
state: PluginEnum.BUILTIN,
isAdd: true,
dot: false,
@ -113,10 +112,9 @@ const pluginsList = ref<STO.Plugins<PluginEnum>[]>([
},
{
icon: 'robot',
iconAction: 'robot-action',
iconAction: 'GPT',
url: 'robot',
title: 'ChatBot',
isAnimate: true,
tip: 'ChatBot新应用上线',
state: PluginEnum.NOT_INSTALLED,
version: 'v2.0.0-Bate',

View File

@ -107,15 +107,25 @@ export const LockScreen = defineComponent(() => {
)
})
/** 检查更新弹窗 */
/**
*
* 40
* @example v2.0.0 -> v2.39.0 -> v3.0.0
*/
export const CheckUpdate = defineComponent(() => {
const url = `https://gitee.com/api/v5/repos/nongyehong/HuLa-IM-Tauri/releases/tags/v${pkg.version}?access_token=${import.meta.env.VITE_GITEE_TOKEN}`
const url = ref(
`https://gitee.com/api/v5/repos/nongyehong/HuLa-IM-Tauri/releases/tags/v${pkg.version}?access_token=${import.meta.env.VITE_GITEE_TOKEN}`
)
/** 项目提交日志记录 */
const commitLog = ref<{ message: string; icon: string }[]>([])
const newCommitLog = ref<{ message: string; icon: string }[]>([])
const text = ref('检查更新')
const newVersion = ref()
const loading = ref(false)
const checkLoading = ref(false)
/** 版本更新日期 */
const versionTime = ref('')
const newVersionTime = ref('')
// const commitTypeMap: { [key: string]: string } = {
// feat: 'feat',
@ -156,6 +166,44 @@ export const CheckUpdate = defineComponent(() => {
/* 记录检测更新的版本 */
let lastVersion: string | null = null
const getCommitLog = (url: string, isNew = false) => {
fetch(url).then((res) => {
if (!res.ok) {
commitLog.value = [{ message: '获取更新日志失败请配置token后再试', icon: 'cloudError' }]
loading.value = false
return
}
res.json().then(async (data) => {
isNew ? (newVersionTime.value = data.created_at) : (versionTime.value = data.created_at)
await nextTick(() => {
// 使用正则表达式提取 * 号后面的内容
const regex = /\* (.+)/g
let match
const logs = []
while ((match = regex.exec(data.body)) !== null) {
logs.push(match[1])
}
const processedLogs = logs.map((commit) => {
// 获取最后一个 : 号的位置
const lastColonIndex = commit.lastIndexOf(':')
// 截取最后一个 : 号后的内容
const message = lastColonIndex !== -1 ? commit.substring(lastColonIndex + 1).trim() : commit
return {
message: message,
icon: mapCommitType(commit) || 'alien-monster'
}
})
isNew ? (newCommitLog.value = processedLogs) : (commitLog.value = processedLogs)
loading.value = false
})
})
})
}
const handleUpdate = () => {
window.$message.warning('更新功能暂未开放,敬请期待, 请到github或gitee下载最新版本')
}
const checkUpdate = () => {
const url = `https://gitee.com/api/v5/repos/nongyehong/HuLa-IM-Tauri/tags?access_token=${import.meta.env.VITE_GITEE_TOKEN}&sort=name&direction=desc&page=1&per_page=1`
if (lastVersion && lastVersion === `v${pkg.version}`) {
@ -174,7 +222,25 @@ export const CheckUpdate = defineComponent(() => {
checkLoading.value = false
}, 600)
} else {
// TODO 获取最新版本的提交日志,并且更换按钮文字为下载最新版本 (nyh -> 2024-07-11 22:20:33)
setTimeout(() => {
let url = `https://gitee.com/api/v5/repos/nongyehong/HuLa-IM-Tauri/tags?access_token=${import.meta.env.VITE_GITEE_TOKEN}&sort=name&direction=asc&page=1`
fetch(url).then((res) => {
res.json().then(async (data) => {
const allVersion = [] as number[]
data.forEach((item: any) => {
// 只获取item.name中[1,4]的内容
allVersion.push(Number(item.name.slice(1, 4)))
})
newVersion.value = `v${Math.max(...allVersion)}.0`
url = `https://gitee.com/api/v5/repos/nongyehong/HuLa-IM-Tauri/releases/tags/${newVersion.value}?access_token=${import.meta.env.VITE_GITEE_TOKEN}`
getCommitLog(url, true)
text.value = '立即更新'
checkLoading.value = false
})
})
window.$message.success('有新版本发布,请下载最新版本')
// TODO 获取最新版本的提交日志,并且更换按钮文字为下载最新版本 (nyh -> 2024-07-11 22:20:33)
}, 1200)
}
})
.catch(() => {
@ -186,40 +252,11 @@ export const CheckUpdate = defineComponent(() => {
const init = () => {
loading.value = true
fetch(url).then((res) => {
if (!res.ok) {
commitLog.value = [{ message: '获取更新日志失败请配置token后再试', icon: 'cloudError' }]
loading.value = false
return
}
res.json().then(async (data) => {
versionTime.value = data.created_at
await nextTick(() => {
// 使用正则表达式提取 * 号后面的内容
const regex = /\* (.+)/g
let match
const logs = []
while ((match = regex.exec(data.body)) !== null) {
logs.push(match[1])
}
commitLog.value = logs.map((commit) => {
// 获取最后一个 : 号的位置
const lastColonIndex = commit.lastIndexOf(':')
// 截取最后一个 : 号后的内容
const message = lastColonIndex !== -1 ? commit.substring(lastColonIndex + 1).trim() : commit
return {
message: message,
icon: mapCommitType(commit) || 'alien-monster'
}
})
loading.value = false
})
})
})
}
onMounted(() => {
init()
getCommitLog(url.value)
})
return () => (
<NModal v-model:show={lock.value.modalShow} maskClosable={false} class="w-350px border-rd-8px">
@ -245,18 +282,75 @@ export const CheckUpdate = defineComponent(() => {
</NFlex>
) : (
<NFlex size={10} vertical justify={'center'} class="p-14px box-border select-none">
<NFlex justify={'space-between'} align={'center'}>
<NFlex justify={'space-between'} align={'center'} size={0}>
<NFlex align={'center'} size={10}>
<p>:</p>
<p class="text-(24px #909090) font-500">v{pkg.version}</p>
<NFlex align={'center'} size={10}>
<p>:</p>
<p class="text-(20px #909090) font-500">v{pkg.version}</p>
</NFlex>
{newVersion.value ? (
<NFlex align={'center'} size={10} class="relative">
<svg class="w-24px h-24px select-none color-#ccc">
<use href={'#RightArrow'}></use>
</svg>
<p class="relative text-(20px #13987f) font-500">{newVersion.value}</p>
<span class="absolute top--10px right--44px p-[4px_8px] bg-#f6dfe3ff rounded-6px text-(12px #ce304f)">
new
</span>
</NFlex>
) : null}
</NFlex>
<NFlex align={'center'} size={10}>
<p class="text-(12px #909090)">:</p>
<p class="text-(12px #13987f)">{handRelativeTime(versionTime.value)}</p>
{newVersionTime.value ? (
<>
<p class="text-(12px #909090)">:</p>
<p class="text-(12px #13987f)">{handRelativeTime(newVersionTime.value)}</p>
</>
) : (
<>
<p class="text-(12px #909090)">:</p>
<p class="text-(12px #13987f)">{handRelativeTime(versionTime.value)}</p>
</>
)}
</NFlex>
</NFlex>
<p class="text-(14px #909090)"></p>
<NScrollbar class="max-h-460px p-[0_10px] box-border">
{newCommitLog.value.length > 0 ? (
<>
<span class="p-[4px_8px] mb-10px w-fit bg-#f6dfe3ff rounded-6px text-(12px #ce304f)">
{newVersion.value}
</span>
<NTimeline class="p-16px box-border">
{newCommitLog.value.map((log, index) => (
<NTimelineItem key={index} content={log.message}>
{{
icon: () => (
<NIcon size={32}>
<img class="size-32px" src={`/emoji/${log.icon}.webp`} alt="" />
</NIcon>
)
}}
</NTimelineItem>
))}
</NTimeline>
<NFlex>
<NFlex vertical size={20}>
<svg class="m-[10px_40px] w-24px h-24px select-none rotate-270 color-#ccc">
<use href={'#RightArrow'}></use>
</svg>
<span class="p-[4px_8px] w-fit bg-#f1f1f1 rounded-6px text-(12px #999)">v{pkg.version}</span>
</NFlex>
</NFlex>
</>
) : null}
<NTimeline class="p-16px box-border">
{commitLog.value.map((log, index) => (
<NTimelineItem key={index} content={log.message}>
@ -275,9 +369,15 @@ export const CheckUpdate = defineComponent(() => {
</NTimeline>
</NScrollbar>
<NFlex justify={'end'}>
<NButton loading={checkLoading.value} onClick={checkUpdate} secondary type="tertiary">
</NButton>
{text.value === '立即更新' ? (
<NButton loading={checkLoading.value} onClick={handleUpdate} secondary type="primary">
{text.value}
</NButton>
) : (
<NButton loading={checkLoading.value} onClick={checkUpdate} secondary type="tertiary">
{text.value}
</NButton>
)}
</NFlex>
</NFlex>
)}

View File

@ -40,7 +40,7 @@ export const setting = defineStore(StoresEnum.SETTING, {
},
page: {
shadow: true,
fonts: 'AliFangYuan'
fonts: 'PingFang'
}
}),
actions: {

View File

@ -15,3 +15,9 @@
src: url('/src/assets/fonts/AlimamaDongFangDaKai-Regular.ttf');
font-display: swap;
}
@font-face {
font-family: 'PingFang';
src: url('/src/assets/fonts/PingFang Regular.ttf');
font-display: swap;
}

View File

@ -14,7 +14,7 @@ html, body, svg {
// 是否启用阴影
--shadow-enabled: 1;
// 字体
--font-family: 'AliFangYuan';
--font-family: 'PingFang';
// 整体布局背景
--left-bg-color: rgba(241, 241, 241, 1);

View File

@ -99,7 +99,6 @@ declare namespace STO {
state: T
version?: string
isAdd: boolean
isAnimate?: boolean
dot?: boolean
progress: number
} & OPT.L.Common

View File

@ -1,5 +1,5 @@
<template>
<main class="login-box rounded-8px size-full select-none">
<main class="login-box size-full select-none">
<ActionBar :shrink="false" :max-w="false" />
<n-flex vertical align="center" :size="20" class="size-full pt-100px">
@ -7,8 +7,8 @@
<div id="computer" class="computer">
<img class="w-224px h-158px relative" src="@/assets/img/win.png" alt="" />
<div
style="background: rgba(80, 80, 80, 0.1)"
class="w-170px h-113px backdrop-blur-0 absolute top-9% left-51% transform -translate-x-51% -translate-y-9%"></div>
style="background: rgba(111, 111, 111, 0.1)"
class="w-170px h-113px absolute top-9% left-51% transform -translate-x-51% -translate-y-9%"></div>
<img
class="drop-shadow-md absolute top-30% left-1/2 transform -translate-x-1/2 -translate-y-30% w-140px h-60px"
src="@/assets/logo/hula.png"

View File

@ -2,7 +2,7 @@ import { type } from '@tauri-apps/plugin-os'
import { MacOsKeyEnum, WinKeyEnum } from '@/enums'
const key = computed(() => {
return `${type() === 'windows' ? WinKeyEnum.ctrl : MacOsKeyEnum['⌘']}`
return `${type() === 'windows' ? WinKeyEnum.CTRL : MacOsKeyEnum['⌘']}`
})
/** 侧边栏选项 */
const sideOptions = ref<OPT.L.SettingSide[]>([
@ -32,6 +32,10 @@ const sendOptions = [
/** 字体 */
const fontOptions = [
{
label: '苹方',
value: 'PingFang'
},
{
label: '阿里妈妈刀隶体',
value: 'AliDaoLiTi'

View File

@ -1,7 +1,7 @@
<template>
<main class="size-full flex select-none">
<!-- 侧边栏选项 -->
<section class="left-bar rounded-l-8px" data-tauri-drag-region>
<section class="left-bar" data-tauri-drag-region>
<div class="menu-list relative">
<div v-for="(item, index) in sideOptions" :key="index">
<div class="menu-item" :class="{ active: activeItem === item.url }" @click="pageJumps(item.url, item.label)">

View File

@ -1,12 +1,12 @@
<template>
<main class="size-full rounded-8px bg-#fff select-none">
<main class="size-full bg-#fff select-none">
<ActionBar class="absolute right-0 w-full" :shrink="false" :max-w="false" :min-w="false" />
<n-flex
vertical
:size="130"
:style="`background: linear-gradient(to bottom, ${RGBA} 0%, #f1f1f1 100%)`"
class="size-full p-20px box-border rounded-8px">
class="size-full p-20px box-border">
<!-- 当前选中的状态 -->
<n-flex justify="center" align="center" class="pt-80px">
<img class="w-34px h-34px" :src="activeItem.url" alt="" />

View File

@ -3,7 +3,7 @@
vertical
:size="0"
data-tauri-drag-region
class="bg-[--chat-left-bg] rounded-l-8px select-none w-300px h-full p-[40px_20px_6px_20px] box-border">
class="bg-[--chat-left-bg] select-none w-300px h-full p-[40px_20px_6px_20px] box-border">
<n-flex vertical :size="30">
<!-- 标题 -->
<n-flex justify="space-between" align="center" :size="0">

View File

@ -61,14 +61,19 @@
<div class="h-1px bg-[--line-color]"></div>
<!-- 下半部分输入框以及功能栏 -->
<n-flex vertical :size="6" class="size-full p-[14px_22px] box-border">
<n-flex :size="26" class="options">
<n-flex vertical :size="6" class="size-full p-[8px_22px] box-border">
<n-flex align="center" :size="26" class="options">
<n-popover v-for="(item, index) in features" :key="index" trigger="hover" :show-arrow="false" placement="top">
<template #trigger>
<svg><use :href="`#${item.icon}`"></use></svg>
</template>
<p>{{ item.label }}</p>
</n-popover>
<div class="flex items-center gap-6px bg-[--chat-hover-color] rounded-50px w-fit h-fit p-[4px_6px]">
<svg style="width: 22px; height: 22px; outline: none; cursor: pointer"><use href="#explosion"></use></svg>
<p class="text-(12px #707070) cursor-default select-none pr-6px">使用0</p>
</div>
</n-flex>
<div class="flex flex-col items-end gap-6px">
@ -98,20 +103,16 @@ const currentChat = ref({
})
const features = ref([
{
icon: 'SmilingFace',
label: '所有人物'
icon: 'model',
label: '模型'
},
{
icon: 'MagicWand',
label: '快捷指令'
icon: 'voice',
label: '语音输入'
},
{
icon: 'explosion',
label: '增强插件'
},
{
icon: 'robot-action',
label: 'GPT4'
icon: 'plugins2',
label: '插件'
}
])
@ -162,7 +163,7 @@ onMounted(() => {
.options {
padding-left: 4px;
svg {
@apply size-24px cursor-pointer outline-none;
@apply size-22px cursor-pointer outline-none;
}
}
</style>

View File

@ -6,7 +6,7 @@ import { type } from '@tauri-apps/plugin-os'
import { MacOsKeyEnum, WinKeyEnum } from '@/enums'
const key = computed(() => {
return `${type() === 'windows' ? WinKeyEnum.ctrl : MacOsKeyEnum['⌘']}`
return `${type() === 'windows' ? WinKeyEnum.CTRL : MacOsKeyEnum['⌘']}`
})
type ConfigItemType = 'system' | 'record' | 'identity' | 'cueWords' | 'APIAddress' | 'model' | 'clear'