v0.1.0 — MVP

 功能亮点

书籍导入与解析

本地 TXT 文件导入(系统文件选择对话框)

自动检测 GBK / UTF-8 等常见中文编码

自动分章:识别「第 X 章」「Chapter N」「楔子/序章/前言/引子/后记/尾声/番外」等格式,无法识别时整书作为单章导入

自动统计章节数与总字数

书架管理

封面网格展示(本地封面 / 默认封面)

按书名模糊搜索

右键菜单编辑与删除(二次确认)

空状态一键导入引导

书籍详情

作者、章节数、总字数、导入时间、上次阅读、阅读进度展示

简介悬停浮层,超长简介可滚动

章节列表分页展示(20 / 50 / 100 每页)

分页阅读

点击页面左右半屏翻页;支持 ↑↓、PgUp/PgDn、空格、←→ 键盘操作
This commit is contained in:
sparksfly 2026-08-21 15:58:09 +08:00
parent 475619b7a0
commit e6780d6f6c
54 changed files with 62 additions and 254 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 MiB

After

Width:  |  Height:  |  Size: 3.2 MiB

View File

@ -28,19 +28,19 @@ importers:
version: 1.11.23 version: 1.11.23
naive-ui: naive-ui:
specifier: ^2.45.0 specifier: ^2.45.0
version: 2.45.0(vue@3.5.41(typescript@7.0.2)) version: 2.45.0(vue@3.5.41(typescript@5.6.3))
pinia: pinia:
specifier: ^4.0.3 specifier: ^4.0.3
version: 4.0.3(@vue/devtools-api@8.2.1)(typescript@7.0.2)(vue@3.5.41(typescript@7.0.2)) version: 4.0.3(@vue/devtools-api@8.2.1)(typescript@5.6.3)(vue@3.5.41(typescript@5.6.3))
pinia-plugin-persistedstate: pinia-plugin-persistedstate:
specifier: ^4.7.1 specifier: ^4.7.1
version: 4.7.1(pinia@4.0.3(@vue/devtools-api@8.2.1)(typescript@7.0.2)(vue@3.5.41(typescript@7.0.2))) version: 4.7.1(pinia@4.0.3(@vue/devtools-api@8.2.1)(typescript@5.6.3)(vue@3.5.41(typescript@5.6.3)))
vue: vue:
specifier: ^3.5.13 specifier: ^3.5.13
version: 3.5.41(typescript@7.0.2) version: 3.5.41(typescript@5.6.3)
vue-router: vue-router:
specifier: ^5.2.0 specifier: ^5.2.0
version: 5.2.0(@vue/compiler-sfc@3.5.41)(pinia@4.0.3(@vue/devtools-api@8.2.1)(typescript@7.0.2)(vue@3.5.41(typescript@7.0.2)))(rolldown@1.2.4)(vite@8.2.1(@types/node@26.2.0)(sass@1.102.0)(yaml@2.9.0))(vue@3.5.41(typescript@7.0.2)) version: 5.2.0(@vue/compiler-sfc@3.5.41)(pinia@4.0.3(@vue/devtools-api@8.2.1)(typescript@5.6.3)(vue@3.5.41(typescript@5.6.3)))(rolldown@1.2.4)(vite@8.2.1(@types/node@26.2.0)(sass@1.102.0)(yaml@2.9.0))(vue@3.5.41(typescript@5.6.3))
devDependencies: devDependencies:
'@tauri-apps/cli': '@tauri-apps/cli':
specifier: ^2 specifier: ^2
@ -74,28 +74,28 @@ importers:
version: 0.13.0 version: 0.13.0
'@vicons/utils': '@vicons/utils':
specifier: ^0.1.4 specifier: ^0.1.4
version: 0.1.4(vue@3.5.41(typescript@7.0.2)) version: 0.1.4(vue@3.5.41(typescript@5.6.3))
'@vitejs/plugin-vue': '@vitejs/plugin-vue':
specifier: ^6.0.8 specifier: ^6.0.8
version: 6.0.8(vite@8.2.1(@types/node@26.2.0)(sass@1.102.0)(yaml@2.9.0))(vue@3.5.41(typescript@7.0.2)) version: 6.0.8(vite@8.2.1(@types/node@26.2.0)(sass@1.102.0)(yaml@2.9.0))(vue@3.5.41(typescript@5.6.3))
sass: sass:
specifier: ^1.102.0 specifier: ^1.102.0
version: 1.102.0 version: 1.102.0
typescript: typescript:
specifier: ~7.0.2 specifier: ~5.6.2
version: 7.0.2 version: 5.6.3
unplugin-auto-import: unplugin-auto-import:
specifier: ^21.1.0 specifier: ^21.1.0
version: 21.1.0(rolldown@1.2.4)(vite@8.2.1(@types/node@26.2.0)(sass@1.102.0)(yaml@2.9.0)) version: 21.1.0(rolldown@1.2.4)(vite@8.2.1(@types/node@26.2.0)(sass@1.102.0)(yaml@2.9.0))
unplugin-vue-components: unplugin-vue-components:
specifier: ^32.1.0 specifier: ^32.1.0
version: 32.1.0(rolldown@1.2.4)(vite@8.2.1(@types/node@26.2.0)(sass@1.102.0)(yaml@2.9.0))(vue@3.5.41(typescript@7.0.2)) version: 32.1.0(rolldown@1.2.4)(vite@8.2.1(@types/node@26.2.0)(sass@1.102.0)(yaml@2.9.0))(vue@3.5.41(typescript@5.6.3))
vite: vite:
specifier: ^8.2.1 specifier: ^8.2.1
version: 8.2.1(@types/node@26.2.0)(sass@1.102.0)(yaml@2.9.0) version: 8.2.1(@types/node@26.2.0)(sass@1.102.0)(yaml@2.9.0)
vue-tsc: vue-tsc:
specifier: ^3.3.10 specifier: ^3.3.10
version: 3.3.10(typescript@7.0.2) version: 3.3.10(typescript@5.6.3)
packages: packages:
@ -461,126 +461,6 @@ packages:
'@types/node@26.2.0': '@types/node@26.2.0':
resolution: {integrity: sha512-5IviulTZeRNp2vAJ514cc/HUlY5nZ9fCbq9DMyC52BrhFZACo3nI0R7qBxhQmo/d27NFe96ur/b7Wwxklda+kg==} resolution: {integrity: sha512-5IviulTZeRNp2vAJ514cc/HUlY5nZ9fCbq9DMyC52BrhFZACo3nI0R7qBxhQmo/d27NFe96ur/b7Wwxklda+kg==}
'@typescript/typescript-aix-ppc64@7.0.2':
resolution: {integrity: sha512-MTKKkWB7p/0E9xi1d1tHtZ5PiLkGEMIq88pK2CubZjOsLtYTLqhgIgi6zepFa+9GHZ6h05NMCkQxGKiPXMxXtQ==}
engines: {node: '>=16.20.0'}
cpu: [ppc64]
os: [aix]
'@typescript/typescript-darwin-arm64@7.0.2':
resolution: {integrity: sha512-gowzar9MwS/aRWp6f3a4KUqzRjAZjOsmGNCM6LcTgXum+dBfgsBVMN+AgvOCCbguXyick6LJhpBszxMebJ8syA==}
engines: {node: '>=16.20.0'}
cpu: [arm64]
os: [darwin]
'@typescript/typescript-darwin-x64@7.0.2':
resolution: {integrity: sha512-SZ9xZInqApNlNGc9s0W1VSsktYSOe9cFqNOIqmN1Gs8SmkjKZYFt017G4VwPxASInODuAdbTW7sXiFUf893RgA==}
engines: {node: '>=16.20.0'}
cpu: [x64]
os: [darwin]
'@typescript/typescript-freebsd-arm64@7.0.2':
resolution: {integrity: sha512-W5NH4y/J0plIIS5b2xvTEkU7JFxyqdMAOgf+Ilhl0vHQXKO5dZoxd+C/jEtq56c4F3wk71RB4BMRQ2XdI+bwYQ==}
engines: {node: '>=16.20.0'}
cpu: [arm64]
os: [freebsd]
'@typescript/typescript-freebsd-x64@7.0.2':
resolution: {integrity: sha512-UMGDx5sTpzNw3WiPebH7l90IWfJggEd+egHt/q6p7/Cm3zqoV7VxkGXt+3DxPIw8CcmvAB0j3sVVfbhX+M4Tpw==}
engines: {node: '>=16.20.0'}
cpu: [x64]
os: [freebsd]
'@typescript/typescript-linux-arm64@7.0.2':
resolution: {integrity: sha512-Qh4eU4/y3yDjnfjjyPYihMj5/ODIlmt+Bzu17OI+fiSRDW57QmU5SiN63exPRNJPKUzcc1INa1NXdrJ+MqHjUQ==}
engines: {node: '>=16.20.0'}
cpu: [arm64]
os: [linux]
'@typescript/typescript-linux-arm@7.0.2':
resolution: {integrity: sha512-gffT3xPz9sR7j/YJExkyPntrI0P2EP9XbOyWzth2/Gs0RstK+90RBcO0ncXoXy/beYll1SXw846Nf2zdnEz0QQ==}
engines: {node: '>=16.20.0'}
cpu: [arm]
os: [linux]
'@typescript/typescript-linux-loong64@7.0.2':
resolution: {integrity: sha512-uEHck9i8hoAzXPiYRib1O7miOnz23SxIeVl6F4LXox+qov1K35jHcEW6VHKvZI+pyvl7fZEP4MCU5LYvIq1GuQ==}
engines: {node: '>=16.20.0'}
cpu: [loong64]
os: [linux]
'@typescript/typescript-linux-mips64el@7.0.2':
resolution: {integrity: sha512-R4KvAMnE43W5Qeqb0Ly56O3mWMWIAgsMyz36DCaycd5nbg/9kzm0liw3JocfRqyJY0KPmzFjbswozXyW0DnIYA==}
engines: {node: '>=16.20.0'}
cpu: [mips64el]
os: [linux]
'@typescript/typescript-linux-ppc64@7.0.2':
resolution: {integrity: sha512-DORx5b3sd/4S7eayxm4FQv+A7CrkUIGRaHiwI8oiHTAI1fAPWhF4J0vAlkC8biAlHSVVwxMQ3tjZ2/DVbnQiiA==}
engines: {node: '>=16.20.0'}
cpu: [ppc64]
os: [linux]
'@typescript/typescript-linux-riscv64@7.0.2':
resolution: {integrity: sha512-wf0jqEDOjrPRnKwYRyyJDRo11KMbvMFrU+q4zqKyChODBzvlkbhNQfKvLxQCcwTpdDaXSHZTVuh0JoCrKCUMHQ==}
engines: {node: '>=16.20.0'}
cpu: [riscv64]
os: [linux]
'@typescript/typescript-linux-s390x@7.0.2':
resolution: {integrity: sha512-IkwJc3L7yhytWd/ewjyxNDfOmswCm9GWMJT/ue/dU4aZNbwZeYAetq42VyLmsmSjvoX7z74X6ZaYCtzAr0EuGw==}
engines: {node: '>=16.20.0'}
cpu: [s390x]
os: [linux]
'@typescript/typescript-linux-x64@7.0.2':
resolution: {integrity: sha512-EYdf2cNg7rgCWJnxCdJ+F3V39O8ihb37eHAu1LK8oAFizgTQbPOK7zHHXbPt8rX24COqODXeI3sIf0fCXG7H/A==}
engines: {node: '>=16.20.0'}
cpu: [x64]
os: [linux]
'@typescript/typescript-netbsd-arm64@7.0.2':
resolution: {integrity: sha512-+polYF4MF04aPpO5FTkHran9yUQDSXqy5GiSDKpsll5jy3l3+g9QLhpf39T+ePtefhXLOGrLl0QIjkQP6VnelA==}
engines: {node: '>=16.20.0'}
cpu: [arm64]
os: [netbsd]
'@typescript/typescript-netbsd-x64@7.0.2':
resolution: {integrity: sha512-8YIT0EHM/3dq10ZOVF/A7pc/YSMtbcecct4rWtexrnSCHOPcpC2KTLXfTCR6vDpnSiY12heNb1GiN/wu+T/FyA==}
engines: {node: '>=16.20.0'}
cpu: [x64]
os: [netbsd]
'@typescript/typescript-openbsd-arm64@7.0.2':
resolution: {integrity: sha512-APT8+ClYnuYm1u9+kgGXoMj2VzWzcymwh2gNSQVySHfkRDGOTVkoWLjCmOQSaO+PoqQ57B0flRp9SA+7GnnkzQ==}
engines: {node: '>=16.20.0'}
cpu: [arm64]
os: [openbsd]
'@typescript/typescript-openbsd-x64@7.0.2':
resolution: {integrity: sha512-yX7s+Q0Dln0Dt9tEzZsAjXXR/+ytBM7AlglaqyeMPxQszJ1JhlJdZ6jLA+IzldHtflX81em7lDao1xXu+aRRkg==}
engines: {node: '>=16.20.0'}
cpu: [x64]
os: [openbsd]
'@typescript/typescript-sunos-x64@7.0.2':
resolution: {integrity: sha512-dLJDGaLZ1D4HPQn62u1n8mBDkJREwMsAkCdkwd4Ieqw+x3TUyTsqY0YiBCtE6H6OzzgGk3iuZ3vFWRS+E8/d1g==}
engines: {node: '>=16.20.0'}
cpu: [x64]
os: [sunos]
'@typescript/typescript-win32-arm64@7.0.2':
resolution: {integrity: sha512-Gyl1Vy6OsWesLzmq+EP0Fb7b4Nid5232AvcA2SFcdYreldpNtYFFofPjnt62y9hQy7VTaZp65ICJjuAQRaVcIQ==}
engines: {node: '>=16.20.0'}
cpu: [arm64]
os: [win32]
'@typescript/typescript-win32-x64@7.0.2':
resolution: {integrity: sha512-0BQ3HkAHHlKLSp1qRvf3SUhGpGsDuhB/jgFw75guyqbxJqEaS0Cw/VFO8i2nHglJUzQCRtMMR/IBAKE3ETMC4g==}
engines: {node: '>=16.20.0'}
cpu: [x64]
os: [win32]
'@vicons/antd@0.13.0': '@vicons/antd@0.13.0':
resolution: {integrity: sha512-yrUGoUSz2BbGupk9ghQOahc04n5H3MwUDM9pVPsLh9U1uqB47oRWZvYRiZaT1JKPqgTgSE6BXcVw4i9MOF4M+g==} resolution: {integrity: sha512-yrUGoUSz2BbGupk9ghQOahc04n5H3MwUDM9pVPsLh9U1uqB47oRWZvYRiZaT1JKPqgTgSE6BXcVw4i9MOF4M+g==}
@ -1130,9 +1010,9 @@ packages:
treemate@0.3.11: treemate@0.3.11:
resolution: {integrity: sha512-M8RGFoKtZ8dF+iwJfAJTOH/SM4KluKOKRJpjCMhI8bG3qB74zrFoArKZ62ll0Fr3mqkMJiQOmWYkdYgDeITYQg==} resolution: {integrity: sha512-M8RGFoKtZ8dF+iwJfAJTOH/SM4KluKOKRJpjCMhI8bG3qB74zrFoArKZ62ll0Fr3mqkMJiQOmWYkdYgDeITYQg==}
typescript@7.0.2: typescript@5.6.3:
resolution: {integrity: sha512-8FYau96o3NKOhbjKi/qNvG/W5jhzxkbdm5sj9AbZ/5T5sWqn3hJgLfGx27sRKZWTvyzCP8dLRBTf5tBTSRVUNA==} resolution: {integrity: sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw==}
engines: {node: '>=16.20.0'} engines: {node: '>=14.17'}
hasBin: true hasBin: true
ufo@1.6.4: ufo@1.6.4:
@ -1354,9 +1234,9 @@ snapshots:
dependencies: dependencies:
css-render: 0.15.14 css-render: 0.15.14
'@css-render/vue3-ssr@0.15.14(vue@3.5.41(typescript@7.0.2))': '@css-render/vue3-ssr@0.15.14(vue@3.5.41(typescript@5.6.3))':
dependencies: dependencies:
vue: 3.5.41(typescript@7.0.2) vue: 3.5.41(typescript@5.6.3)
'@emotion/hash@0.8.0': {} '@emotion/hash@0.8.0': {}
@ -1569,66 +1449,6 @@ snapshots:
dependencies: dependencies:
undici-types: 8.3.0 undici-types: 8.3.0
'@typescript/typescript-aix-ppc64@7.0.2':
optional: true
'@typescript/typescript-darwin-arm64@7.0.2':
optional: true
'@typescript/typescript-darwin-x64@7.0.2':
optional: true
'@typescript/typescript-freebsd-arm64@7.0.2':
optional: true
'@typescript/typescript-freebsd-x64@7.0.2':
optional: true
'@typescript/typescript-linux-arm64@7.0.2':
optional: true
'@typescript/typescript-linux-arm@7.0.2':
optional: true
'@typescript/typescript-linux-loong64@7.0.2':
optional: true
'@typescript/typescript-linux-mips64el@7.0.2':
optional: true
'@typescript/typescript-linux-ppc64@7.0.2':
optional: true
'@typescript/typescript-linux-riscv64@7.0.2':
optional: true
'@typescript/typescript-linux-s390x@7.0.2':
optional: true
'@typescript/typescript-linux-x64@7.0.2':
optional: true
'@typescript/typescript-netbsd-arm64@7.0.2':
optional: true
'@typescript/typescript-netbsd-x64@7.0.2':
optional: true
'@typescript/typescript-openbsd-arm64@7.0.2':
optional: true
'@typescript/typescript-openbsd-x64@7.0.2':
optional: true
'@typescript/typescript-sunos-x64@7.0.2':
optional: true
'@typescript/typescript-win32-arm64@7.0.2':
optional: true
'@typescript/typescript-win32-x64@7.0.2':
optional: true
'@vicons/antd@0.13.0': {} '@vicons/antd@0.13.0': {}
'@vicons/carbon@0.13.0': {} '@vicons/carbon@0.13.0': {}
@ -1645,16 +1465,16 @@ snapshots:
'@vicons/tabler@0.13.0': {} '@vicons/tabler@0.13.0': {}
'@vicons/utils@0.1.4(vue@3.5.41(typescript@7.0.2))': '@vicons/utils@0.1.4(vue@3.5.41(typescript@5.6.3))':
dependencies: dependencies:
'@xicons/utils': 0.1.4 '@xicons/utils': 0.1.4
vue: 3.5.41(typescript@7.0.2) vue: 3.5.41(typescript@5.6.3)
'@vitejs/plugin-vue@6.0.8(vite@8.2.1(@types/node@26.2.0)(sass@1.102.0)(yaml@2.9.0))(vue@3.5.41(typescript@7.0.2))': '@vitejs/plugin-vue@6.0.8(vite@8.2.1(@types/node@26.2.0)(sass@1.102.0)(yaml@2.9.0))(vue@3.5.41(typescript@5.6.3))':
dependencies: dependencies:
'@rolldown/pluginutils': 1.0.1 '@rolldown/pluginutils': 1.0.1
vite: 8.2.1(@types/node@26.2.0)(sass@1.102.0)(yaml@2.9.0) vite: 8.2.1(@types/node@26.2.0)(sass@1.102.0)(yaml@2.9.0)
vue: 3.5.41(typescript@7.0.2) vue: 3.5.41(typescript@5.6.3)
'@volar/language-core@2.4.28': '@volar/language-core@2.4.28':
dependencies: dependencies:
@ -1668,7 +1488,7 @@ snapshots:
path-browserify: 1.0.1 path-browserify: 1.0.1
vscode-uri: 3.1.0 vscode-uri: 3.1.0
'@vue-macros/common@3.1.4(vue@3.5.41(typescript@7.0.2))': '@vue-macros/common@3.1.4(vue@3.5.41(typescript@5.6.3))':
dependencies: dependencies:
'@vue/compiler-sfc': 3.5.41 '@vue/compiler-sfc': 3.5.41
ast-kit: 2.1.2 ast-kit: 2.1.2
@ -1676,7 +1496,7 @@ snapshots:
magic-string-ast: 1.0.2 magic-string-ast: 1.0.2
unplugin-utils: 0.3.2 unplugin-utils: 0.3.2
optionalDependencies: optionalDependencies:
vue: 3.5.41(typescript@7.0.2) vue: 3.5.41(typescript@5.6.3)
'@vue/compiler-core@3.5.41': '@vue/compiler-core@3.5.41':
dependencies: dependencies:
@ -2052,10 +1872,10 @@ snapshots:
muggle-string@0.4.1: {} muggle-string@0.4.1: {}
naive-ui@2.45.0(vue@3.5.41(typescript@7.0.2)): naive-ui@2.45.0(vue@3.5.41(typescript@5.6.3)):
dependencies: dependencies:
'@css-render/plugin-bem': 0.15.14(css-render@0.15.14) '@css-render/plugin-bem': 0.15.14(css-render@0.15.14)
'@css-render/vue3-ssr': 0.15.14(vue@3.5.41(typescript@7.0.2)) '@css-render/vue3-ssr': 0.15.14(vue@3.5.41(typescript@5.6.3))
'@types/lodash': 4.17.25 '@types/lodash': 4.17.25
'@types/lodash-es': 4.17.12 '@types/lodash-es': 4.17.12
async-validator: 4.2.5 async-validator: 4.2.5
@ -2069,10 +1889,10 @@ snapshots:
lodash-es: 4.18.1 lodash-es: 4.18.1
seemly: 0.3.10 seemly: 0.3.10
treemate: 0.3.11 treemate: 0.3.11
vdirs: 0.1.8(vue@3.5.41(typescript@7.0.2)) vdirs: 0.1.8(vue@3.5.41(typescript@5.6.3))
vooks: 0.2.12(vue@3.5.41(typescript@7.0.2)) vooks: 0.2.12(vue@3.5.41(typescript@5.6.3))
vue: 3.5.41(typescript@7.0.2) vue: 3.5.41(typescript@5.6.3)
vueuc: 0.4.65(vue@3.5.41(typescript@7.0.2)) vueuc: 0.4.65(vue@3.5.41(typescript@5.6.3))
nanoid@3.3.18: {} nanoid@3.3.18: {}
@ -2093,19 +1913,19 @@ snapshots:
picomatch@4.0.5: {} picomatch@4.0.5: {}
pinia-plugin-persistedstate@4.7.1(pinia@4.0.3(@vue/devtools-api@8.2.1)(typescript@7.0.2)(vue@3.5.41(typescript@7.0.2))): pinia-plugin-persistedstate@4.7.1(pinia@4.0.3(@vue/devtools-api@8.2.1)(typescript@5.6.3)(vue@3.5.41(typescript@5.6.3))):
dependencies: dependencies:
defu: 6.1.7 defu: 6.1.7
optionalDependencies: optionalDependencies:
pinia: 4.0.3(@vue/devtools-api@8.2.1)(typescript@7.0.2)(vue@3.5.41(typescript@7.0.2)) pinia: 4.0.3(@vue/devtools-api@8.2.1)(typescript@5.6.3)(vue@3.5.41(typescript@5.6.3))
pinia@4.0.3(@vue/devtools-api@8.2.1)(typescript@7.0.2)(vue@3.5.41(typescript@7.0.2)): pinia@4.0.3(@vue/devtools-api@8.2.1)(typescript@5.6.3)(vue@3.5.41(typescript@5.6.3)):
dependencies: dependencies:
'@vue/devtools-api': 8.2.1 '@vue/devtools-api': 8.2.1
nostics: 1.2.0 nostics: 1.2.0
vue: 3.5.41(typescript@7.0.2) vue: 3.5.41(typescript@5.6.3)
optionalDependencies: optionalDependencies:
typescript: 7.0.2 typescript: 5.6.3
pkg-types@1.3.1: pkg-types@1.3.1:
dependencies: dependencies:
@ -2176,28 +1996,7 @@ snapshots:
treemate@0.3.11: {} treemate@0.3.11: {}
typescript@7.0.2: typescript@5.6.3: {}
optionalDependencies:
'@typescript/typescript-aix-ppc64': 7.0.2
'@typescript/typescript-darwin-arm64': 7.0.2
'@typescript/typescript-darwin-x64': 7.0.2
'@typescript/typescript-freebsd-arm64': 7.0.2
'@typescript/typescript-freebsd-x64': 7.0.2
'@typescript/typescript-linux-arm': 7.0.2
'@typescript/typescript-linux-arm64': 7.0.2
'@typescript/typescript-linux-loong64': 7.0.2
'@typescript/typescript-linux-mips64el': 7.0.2
'@typescript/typescript-linux-ppc64': 7.0.2
'@typescript/typescript-linux-riscv64': 7.0.2
'@typescript/typescript-linux-s390x': 7.0.2
'@typescript/typescript-linux-x64': 7.0.2
'@typescript/typescript-netbsd-arm64': 7.0.2
'@typescript/typescript-netbsd-x64': 7.0.2
'@typescript/typescript-openbsd-arm64': 7.0.2
'@typescript/typescript-openbsd-x64': 7.0.2
'@typescript/typescript-sunos-x64': 7.0.2
'@typescript/typescript-win32-arm64': 7.0.2
'@typescript/typescript-win32-x64': 7.0.2
ufo@1.6.4: {} ufo@1.6.4: {}
@ -2256,7 +2055,7 @@ snapshots:
pathe: 2.0.3 pathe: 2.0.3
picomatch: 4.0.5 picomatch: 4.0.5
unplugin-vue-components@32.1.0(rolldown@1.2.4)(vite@8.2.1(@types/node@26.2.0)(sass@1.102.0)(yaml@2.9.0))(vue@3.5.41(typescript@7.0.2)): unplugin-vue-components@32.1.0(rolldown@1.2.4)(vite@8.2.1(@types/node@26.2.0)(sass@1.102.0)(yaml@2.9.0))(vue@3.5.41(typescript@5.6.3)):
dependencies: dependencies:
chokidar: 5.0.0 chokidar: 5.0.0
local-pkg: 1.2.1 local-pkg: 1.2.1
@ -2267,7 +2066,7 @@ snapshots:
tinyglobby: 0.2.17 tinyglobby: 0.2.17
unplugin: 3.3.0(rolldown@1.2.4)(vite@8.2.1(@types/node@26.2.0)(sass@1.102.0)(yaml@2.9.0)) unplugin: 3.3.0(rolldown@1.2.4)(vite@8.2.1(@types/node@26.2.0)(sass@1.102.0)(yaml@2.9.0))
unplugin-utils: 0.3.2 unplugin-utils: 0.3.2
vue: 3.5.41(typescript@7.0.2) vue: 3.5.41(typescript@5.6.3)
transitivePeerDependencies: transitivePeerDependencies:
- '@farmfe/core' - '@farmfe/core'
- '@rspack/core' - '@rspack/core'
@ -2288,10 +2087,10 @@ snapshots:
rolldown: 1.2.4 rolldown: 1.2.4
vite: 8.2.1(@types/node@26.2.0)(sass@1.102.0)(yaml@2.9.0) vite: 8.2.1(@types/node@26.2.0)(sass@1.102.0)(yaml@2.9.0)
vdirs@0.1.8(vue@3.5.41(typescript@7.0.2)): vdirs@0.1.8(vue@3.5.41(typescript@5.6.3)):
dependencies: dependencies:
evtd: 0.2.4 evtd: 0.2.4
vue: 3.5.41(typescript@7.0.2) vue: 3.5.41(typescript@5.6.3)
vite@8.2.1(@types/node@26.2.0)(sass@1.102.0)(yaml@2.9.0): vite@8.2.1(@types/node@26.2.0)(sass@1.102.0)(yaml@2.9.0):
dependencies: dependencies:
@ -2306,17 +2105,17 @@ snapshots:
sass: 1.102.0 sass: 1.102.0
yaml: 2.9.0 yaml: 2.9.0
vooks@0.2.12(vue@3.5.41(typescript@7.0.2)): vooks@0.2.12(vue@3.5.41(typescript@5.6.3)):
dependencies: dependencies:
evtd: 0.2.4 evtd: 0.2.4
vue: 3.5.41(typescript@7.0.2) vue: 3.5.41(typescript@5.6.3)
vscode-uri@3.1.0: {} vscode-uri@3.1.0: {}
vue-router@5.2.0(@vue/compiler-sfc@3.5.41)(pinia@4.0.3(@vue/devtools-api@8.2.1)(typescript@7.0.2)(vue@3.5.41(typescript@7.0.2)))(rolldown@1.2.4)(vite@8.2.1(@types/node@26.2.0)(sass@1.102.0)(yaml@2.9.0))(vue@3.5.41(typescript@7.0.2)): vue-router@5.2.0(@vue/compiler-sfc@3.5.41)(pinia@4.0.3(@vue/devtools-api@8.2.1)(typescript@5.6.3)(vue@3.5.41(typescript@5.6.3)))(rolldown@1.2.4)(vite@8.2.1(@types/node@26.2.0)(sass@1.102.0)(yaml@2.9.0))(vue@3.5.41(typescript@5.6.3)):
dependencies: dependencies:
'@babel/generator': 8.0.0 '@babel/generator': 8.0.0
'@vue-macros/common': 3.1.4(vue@3.5.41(typescript@7.0.2)) '@vue-macros/common': 3.1.4(vue@3.5.41(typescript@5.6.3))
'@vue/devtools-api': 8.2.1 '@vue/devtools-api': 8.2.1
ast-walker-scope: 0.9.0 ast-walker-scope: 0.9.0
chokidar: 5.0.0 chokidar: 5.0.0
@ -2332,11 +2131,11 @@ snapshots:
tinyglobby: 0.2.17 tinyglobby: 0.2.17
unplugin: 3.3.0(rolldown@1.2.4)(vite@8.2.1(@types/node@26.2.0)(sass@1.102.0)(yaml@2.9.0)) unplugin: 3.3.0(rolldown@1.2.4)(vite@8.2.1(@types/node@26.2.0)(sass@1.102.0)(yaml@2.9.0))
unplugin-utils: 0.3.2 unplugin-utils: 0.3.2
vue: 3.5.41(typescript@7.0.2) vue: 3.5.41(typescript@5.6.3)
yaml: 2.9.0 yaml: 2.9.0
optionalDependencies: optionalDependencies:
'@vue/compiler-sfc': 3.5.41 '@vue/compiler-sfc': 3.5.41
pinia: 4.0.3(@vue/devtools-api@8.2.1)(typescript@7.0.2)(vue@3.5.41(typescript@7.0.2)) pinia: 4.0.3(@vue/devtools-api@8.2.1)(typescript@5.6.3)(vue@3.5.41(typescript@5.6.3))
vite: 8.2.1(@types/node@26.2.0)(sass@1.102.0)(yaml@2.9.0) vite: 8.2.1(@types/node@26.2.0)(sass@1.102.0)(yaml@2.9.0)
transitivePeerDependencies: transitivePeerDependencies:
- '@farmfe/core' - '@farmfe/core'
@ -2348,13 +2147,13 @@ snapshots:
- unloader - unloader
- webpack - webpack
vue-tsc@3.3.10(typescript@7.0.2): vue-tsc@3.3.10(typescript@5.6.3):
dependencies: dependencies:
'@volar/typescript': 2.4.28 '@volar/typescript': 2.4.28
'@vue/language-core': 3.3.10 '@vue/language-core': 3.3.10
typescript: 7.0.2 typescript: 5.6.3
vue@3.5.41(typescript@7.0.2): vue@3.5.41(typescript@5.6.3):
dependencies: dependencies:
'@vue/compiler-dom': 3.5.41 '@vue/compiler-dom': 3.5.41
'@vue/compiler-sfc': 3.5.41 '@vue/compiler-sfc': 3.5.41
@ -2362,18 +2161,18 @@ snapshots:
'@vue/server-renderer': 3.5.41 '@vue/server-renderer': 3.5.41
'@vue/shared': 3.5.41 '@vue/shared': 3.5.41
optionalDependencies: optionalDependencies:
typescript: 7.0.2 typescript: 5.6.3
vueuc@0.4.65(vue@3.5.41(typescript@7.0.2)): vueuc@0.4.65(vue@3.5.41(typescript@5.6.3)):
dependencies: dependencies:
'@css-render/vue3-ssr': 0.15.14(vue@3.5.41(typescript@7.0.2)) '@css-render/vue3-ssr': 0.15.14(vue@3.5.41(typescript@5.6.3))
'@juggle/resize-observer': 3.4.0 '@juggle/resize-observer': 3.4.0
css-render: 0.15.14 css-render: 0.15.14
evtd: 0.2.4 evtd: 0.2.4
seemly: 0.3.10 seemly: 0.3.10
vdirs: 0.1.8(vue@3.5.41(typescript@7.0.2)) vdirs: 0.1.8(vue@3.5.41(typescript@5.6.3))
vooks: 0.2.12(vue@3.5.41(typescript@7.0.2)) vooks: 0.2.12(vue@3.5.41(typescript@5.6.3))
vue: 3.5.41(typescript@7.0.2) vue: 3.5.41(typescript@5.6.3)
webpack-virtual-modules@0.6.2: {} webpack-virtual-modules@0.6.2: {}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.4 KiB

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.8 KiB

After

Width:  |  Height:  |  Size: 70 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 974 B

After

Width:  |  Height:  |  Size: 1.9 KiB

BIN
src-tauri/icons/64x64.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.8 KiB

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.8 KiB

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.9 KiB

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.6 KiB

After

Width:  |  Height:  |  Size: 84 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 903 B

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.4 KiB

After

Width:  |  Height:  |  Size: 98 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

After

Width:  |  Height:  |  Size: 8.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 KiB

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 4.6 KiB

View File

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<foreground android:drawable="@mipmap/ic_launcher_foreground"/>
<background android:drawable="@color/ic_launcher_background"/>
</adaptive-icon>

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 53 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 105 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 178 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

View File

@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="ic_launcher_background">#fff</color>
</resources>

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 85 KiB

After

Width:  |  Height:  |  Size: 87 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 243 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 895 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 904 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB