feat: Vue Router 集成 + 压缩密码编码修复

前端:
- 引入 vue-router,HTML5 History 模式,干净 URL
- ClientPage.vue 拆分为 5 个独立路由视图组件
- 提取共享状态到 composables(useLibraryRoots/useMediaPlayer/useViewMode/useModals)
- 新增 DefaultLayout 统一布局
- 导航链接改为 router-link
- FileCard 网格视图修复删除/压缩按钮 hover 不显示问题

后端:
- 压缩密码编码修复:DotNetZip/SharpZipLib 不支持 UTF-8 密码
- 替换为 SharpZipLib + 中文字符替换为 # 的 ASCII 安全密码方案
This commit is contained in:
2026-07-10 15:22:09 +08:00
parent 87f5c1ffb8
commit 6bdcb48c97
22 changed files with 2001 additions and 935 deletions
@@ -48,7 +48,7 @@ defineEmits<{
<button type="submit" class="search-submit">搜索</button>
</form>
<button type="button" class="qr-button" title="生成二维码" @click="$emit('openQr')">二维码</button>
<a href="/admin" class="admin-link">管理</a>
<router-link to="/admin" class="admin-link">管理</router-link>
</div>
</header>
</template>