壮举:添加验证码生成和绘图实用程序

-实现了`generateCaptcha`函数来创建随机验证码。

-添加了`drawCaptcha`函数,在画布上渲染带有视觉噪声的验证码。

feat:引入数据操作实用程序

-为数据处理创建了“normalizeText”、“filterRows”、“attachSheetName”、“flatenRows”和“buildDuplicates”函数。

-添加了用于记录管理的“createLoginLog”、“createRecord”、“mapMovieToRecord”和“createFolder”函数。

-实现了“buildTree”函数来构建分层数据结构。

feat:实现滚动锁定机制

-添加了“lockScroll”和“unlockScrolls”功能,以管理模式交互期间的后台滚动行为。

feat:创建存储实用程序函数

-引入了从本地存储中读取、写入和删除项目的功能。

chore:设置Vite配置

-配置了使用Vue进行开发的Vite,包括服务器设置和API代理。
This commit is contained in:
liRQ 2026-06-29 10:19:00 +08:00
parent fe27fb4399
commit d9f87f72b5
97 changed files with 0 additions and 226 deletions

View File

View File

@ -1,112 +0,0 @@
# 知识卡导出索引文件
schema_version: 1
locale: zh-CN
branch: Q0DeR-MaG1C-BrAnCh-Fo2-NoN-GiT-Or-No-C0MmIt
exported_at: "2026-06-12T08:09:05Z"
modules:
"":
dir_name: 网盘管理跨端应用
title: 网盘管理跨端应用
scope:
- vue\.gitignore
- vue\.vscode\extensions.json
- vue\APK_BUILD_OPTIONS.md
- vue\APP_GUIDE.md
- vue\PACKAGING_SUMMARY.md
- vue\README.md
- vue\android\.gitignore
- vue\android\app\.gitignore
- vue\android\app\build.gradle
- vue\android\app\capacitor.build.gradle
- vue\android\app\proguard-rules.pro
- vue\android\app\src\androidTest\java\com\getcapacitor\myapp\ExampleInstrumentedTest.java
- vue\android\app\src\main\AndroidManifest.xml
- vue\android\app\src\main\assets\capacitor.config.json
- vue\android\app\src\main\assets\capacitor.plugins.json
- vue\android\app\src\main\assets\public\assets\index-DrjxTYTT.css
- vue\android\app\src\main\assets\public\assets\index-xOoYtVTp.js
- vue\android\app\src\main\assets\public\cordova.js
- vue\android\app\src\main\assets\public\cordova_plugins.js
- vue\android\app\src\main\assets\public\index.html
- vue\android\app\src\main\assets\public\logo.png
- vue\android\app\src\main\assets\public\vite.svg
- vue\android\app\src\main\java\com\wangpan\app\MainActivity.java
- vue\android\app\src\main\res\drawable-land-hdpi\splash.png
- vue\android\app\src\main\res\drawable-land-mdpi\splash.png
- vue\android\app\src\main\res\drawable-land-xhdpi\splash.png
- vue\android\app\src\main\res\drawable-land-xxhdpi\splash.png
- vue\android\app\src\main\res\drawable-land-xxxhdpi\splash.png
- vue\android\app\src\main\res\drawable-port-hdpi\splash.png
- vue\android\app\src\main\res\drawable-port-mdpi\splash.png
- vue\android\app\src\main\res\drawable-port-xhdpi\splash.png
- vue\android\app\src\main\res\drawable-port-xxhdpi\splash.png
- vue\android\app\src\main\res\drawable-port-xxxhdpi\splash.png
- vue\android\app\src\main\res\drawable-v24\ic_launcher_foreground.xml
- vue\android\app\src\main\res\drawable\ic_launcher_background.xml
- vue\android\app\src\main\res\drawable\splash.png
- vue\android\app\src\main\res\layout\activity_main.xml
- vue\android\app\src\main\res\mipmap-anydpi-v26\ic_launcher.xml
- vue\android\app\src\main\res\mipmap-anydpi-v26\ic_launcher_round.xml
- vue\android\app\src\main\res\mipmap-hdpi\ic_launcher.png
- vue\android\app\src\main\res\mipmap-hdpi\ic_launcher_foreground.png
- vue\android\app\src\main\res\mipmap-hdpi\ic_launcher_round.png
- vue\android\app\src\main\res\mipmap-mdpi\ic_launcher.png
- vue\android\app\src\main\res\mipmap-mdpi\ic_launcher_foreground.png
- vue\android\app\src\main\res\mipmap-mdpi\ic_launcher_round.png
- vue\android\app\src\main\res\mipmap-xhdpi\ic_launcher.png
- vue\android\app\src\main\res\mipmap-xhdpi\ic_launcher_foreground.png
- vue\android\app\src\main\res\mipmap-xhdpi\ic_launcher_round.png
- vue\android\app\src\main\res\mipmap-xxhdpi\ic_launcher.png
- vue\android\app\src\main\res\mipmap-xxhdpi\ic_launcher_foreground.png
- vue\android\app\src\main\res\mipmap-xxhdpi\ic_launcher_round.png
- vue\android\app\src\main\res\mipmap-xxxhdpi\ic_launcher.png
- vue\android\app\src\main\res\mipmap-xxxhdpi\ic_launcher_foreground.png
- vue\android\app\src\main\res\mipmap-xxxhdpi\ic_launcher_round.png
- vue\android\app\src\main\res\values\ic_launcher_background.xml
- vue\android\app\src\main\res\values\strings.xml
- vue\android\app\src\main\res\values\styles.xml
- vue\android\app\src\main\res\xml\config.xml
- vue\android\app\src\main\res\xml\file_paths.xml
- vue\android\app\src\test\java\com\getcapacitor\myapp\ExampleUnitTest.java
- vue\android\build.gradle
- vue\android\capacitor-cordova-android-plugins\build.gradle
- vue\android\capacitor-cordova-android-plugins\cordova.variables.gradle
- vue\android\capacitor-cordova-android-plugins\src\main\AndroidManifest.xml
- vue\android\capacitor-cordova-android-plugins\src\main\java\.gitkeep
- vue\android\capacitor-cordova-android-plugins\src\main\res\.gitkeep
- vue\android\capacitor.settings.gradle
- vue\android\gradle.properties
- vue\android\gradle\wrapper\gradle-wrapper.jar
- vue\android\gradle\wrapper\gradle-wrapper.properties
- vue\android\gradlew
- vue\android\gradlew.bat
- vue\android\settings.gradle
- vue\android\variables.gradle
- vue\build-apk.bat
- vue\capacitor.config.json
- vue\index.html
- vue\package-lock.json
- vue\package.json
- vue\public\logo.png
- vue\public\vite.svg
- vue\src\App.vue
- vue\src\api\index.js
- vue\src\assets\vue.svg
- vue\src\components\DriveManageDialog.vue
- vue\src\components\FolderTree.vue
- vue\src\components\LoginView.vue
- vue\src\components\PosterCard.vue
- vue\src\components\RecordDialog.vue
- vue\src\components\SimpleDialog.vue
- vue\src\components\TreeNode.vue
- vue\src\components\UserManageDialog.vue
- vue\src\main.js
- vue\src\style.css
- vue\src\utils\captcha.js
- vue\src\utils\data.js
- vue\src\utils\storage.js
- vue\vite.config.js
source_files: []
children: []
depends_on: []
related_to: []

View File

@ -1,105 +0,0 @@
schema_version: 1
module_path: ""
title: 网盘管理跨端应用
scope:
- vue\.gitignore
- vue\.vscode\extensions.json
- vue\APK_BUILD_OPTIONS.md
- vue\APP_GUIDE.md
- vue\PACKAGING_SUMMARY.md
- vue\README.md
- vue\android\.gitignore
- vue\android\app\.gitignore
- vue\android\app\build.gradle
- vue\android\app\capacitor.build.gradle
- vue\android\app\proguard-rules.pro
- vue\android\app\src\androidTest\java\com\getcapacitor\myapp\ExampleInstrumentedTest.java
- vue\android\app\src\main\AndroidManifest.xml
- vue\android\app\src\main\assets\capacitor.config.json
- vue\android\app\src\main\assets\capacitor.plugins.json
- vue\android\app\src\main\assets\public\assets\index-DrjxTYTT.css
- vue\android\app\src\main\assets\public\assets\index-xOoYtVTp.js
- vue\android\app\src\main\assets\public\cordova.js
- vue\android\app\src\main\assets\public\cordova_plugins.js
- vue\android\app\src\main\assets\public\index.html
- vue\android\app\src\main\assets\public\logo.png
- vue\android\app\src\main\assets\public\vite.svg
- vue\android\app\src\main\java\com\wangpan\app\MainActivity.java
- vue\android\app\src\main\res\drawable-land-hdpi\splash.png
- vue\android\app\src\main\res\drawable-land-mdpi\splash.png
- vue\android\app\src\main\res\drawable-land-xhdpi\splash.png
- vue\android\app\src\main\res\drawable-land-xxhdpi\splash.png
- vue\android\app\src\main\res\drawable-land-xxxhdpi\splash.png
- vue\android\app\src\main\res\drawable-port-hdpi\splash.png
- vue\android\app\src\main\res\drawable-port-mdpi\splash.png
- vue\android\app\src\main\res\drawable-port-xhdpi\splash.png
- vue\android\app\src\main\res\drawable-port-xxhdpi\splash.png
- vue\android\app\src\main\res\drawable-port-xxxhdpi\splash.png
- vue\android\app\src\main\res\drawable-v24\ic_launcher_foreground.xml
- vue\android\app\src\main\res\drawable\ic_launcher_background.xml
- vue\android\app\src\main\res\drawable\splash.png
- vue\android\app\src\main\res\layout\activity_main.xml
- vue\android\app\src\main\res\mipmap-anydpi-v26\ic_launcher.xml
- vue\android\app\src\main\res\mipmap-anydpi-v26\ic_launcher_round.xml
- vue\android\app\src\main\res\mipmap-hdpi\ic_launcher.png
- vue\android\app\src\main\res\mipmap-hdpi\ic_launcher_foreground.png
- vue\android\app\src\main\res\mipmap-hdpi\ic_launcher_round.png
- vue\android\app\src\main\res\mipmap-mdpi\ic_launcher.png
- vue\android\app\src\main\res\mipmap-mdpi\ic_launcher_foreground.png
- vue\android\app\src\main\res\mipmap-mdpi\ic_launcher_round.png
- vue\android\app\src\main\res\mipmap-xhdpi\ic_launcher.png
- vue\android\app\src\main\res\mipmap-xhdpi\ic_launcher_foreground.png
- vue\android\app\src\main\res\mipmap-xhdpi\ic_launcher_round.png
- vue\android\app\src\main\res\mipmap-xxhdpi\ic_launcher.png
- vue\android\app\src\main\res\mipmap-xxhdpi\ic_launcher_foreground.png
- vue\android\app\src\main\res\mipmap-xxhdpi\ic_launcher_round.png
- vue\android\app\src\main\res\mipmap-xxxhdpi\ic_launcher.png
- vue\android\app\src\main\res\mipmap-xxxhdpi\ic_launcher_foreground.png
- vue\android\app\src\main\res\mipmap-xxxhdpi\ic_launcher_round.png
- vue\android\app\src\main\res\values\ic_launcher_background.xml
- vue\android\app\src\main\res\values\strings.xml
- vue\android\app\src\main\res\values\styles.xml
- vue\android\app\src\main\res\xml\config.xml
- vue\android\app\src\main\res\xml\file_paths.xml
- vue\android\app\src\test\java\com\getcapacitor\myapp\ExampleUnitTest.java
- vue\android\build.gradle
- vue\android\capacitor-cordova-android-plugins\build.gradle
- vue\android\capacitor-cordova-android-plugins\cordova.variables.gradle
- vue\android\capacitor-cordova-android-plugins\src\main\AndroidManifest.xml
- vue\android\capacitor-cordova-android-plugins\src\main\java\.gitkeep
- vue\android\capacitor-cordova-android-plugins\src\main\res\.gitkeep
- vue\android\capacitor.settings.gradle
- vue\android\gradle.properties
- vue\android\gradle\wrapper\gradle-wrapper.jar
- vue\android\gradle\wrapper\gradle-wrapper.properties
- vue\android\gradlew
- vue\android\gradlew.bat
- vue\android\settings.gradle
- vue\android\variables.gradle
- vue\build-apk.bat
- vue\capacitor.config.json
- vue\index.html
- vue\package-lock.json
- vue\package.json
- vue\public\logo.png
- vue\public\vite.svg
- vue\src\App.vue
- vue\src\api\index.js
- vue\src\assets\vue.svg
- vue\src\components\DriveManageDialog.vue
- vue\src\components\FolderTree.vue
- vue\src\components\LoginView.vue
- vue\src\components\PosterCard.vue
- vue\src\components\RecordDialog.vue
- vue\src\components\SimpleDialog.vue
- vue\src\components\TreeNode.vue
- vue\src\components\UserManageDialog.vue
- vue\src\main.js
- vue\src\style.css
- vue\src\utils\captcha.js
- vue\src\utils\data.js
- vue\src\utils\storage.js
- vue\vite.config.js
source_files: []
depends_on: []
related_to: []

View File

@ -1 +0,0 @@
Vue 3.5, Vite 7, Capacitor 8, Android Gradle Plugin

View File

@ -1,4 +0,0 @@
- **前端架构**:采用 Vite + Vue 3 (Composition API) 技术栈,通过 `src/api/index.js` 封装 RESTful 请求并处理 Token 鉴权。
- **跨端桥接**:利用 Capacitor 8 将 Web 应用(`dist` 目录)嵌入原生 Android Shell (`BridgeActivity`),实现从 Web 到 Native 的无缝转换。
- **配置管理**:通过 `capacitor.config.json` 定义应用 ID、启动屏及状态栏样式并通过 `vite.config.js` 代理后端 API 请求。
- **构建流程**遵循“Vite 构建 Web -> Cap sync 同步资源 -> Gradle 编译 APK”的标准化流水线`build-apk.bat` 脚本自动化执行。

View File

@ -1 +0,0 @@
基于 Vue 3 与 Capacitor 构建的网盘资源管理与海报展示跨端应用,支持 Android APK 打包。

View File

@ -1 +0,0 @@
- **APK 打包**:运行根目录下的 `build-apk.bat` 脚本,自动完成 Web 资源构建、Capacitor 同步并唤起 Android Studio 进行最终编译。

View File

@ -1,2 +0,0 @@
- API 模块统一在 `src/api/index.js` 中导出,使用自定义 `request` 包装器处理全局认证头与 401/403 状态分发。
- 组件采用 `<script setup>` 语法糖编写,逻辑复用通过 `src/utils` 下的纯函数(如 `data.js`, `storage.js`)实现。

View File

Before

Width:  |  Height:  |  Size: 7.5 KiB

After

Width:  |  Height:  |  Size: 7.5 KiB

View File

Before

Width:  |  Height:  |  Size: 3.9 KiB

After

Width:  |  Height:  |  Size: 3.9 KiB

View File

Before

Width:  |  Height:  |  Size: 9.0 KiB

After

Width:  |  Height:  |  Size: 9.0 KiB

View File

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 14 KiB

View File

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 17 KiB

View File

Before

Width:  |  Height:  |  Size: 7.7 KiB

After

Width:  |  Height:  |  Size: 7.7 KiB

View File

Before

Width:  |  Height:  |  Size: 4.0 KiB

After

Width:  |  Height:  |  Size: 4.0 KiB

View File

Before

Width:  |  Height:  |  Size: 9.6 KiB

After

Width:  |  Height:  |  Size: 9.6 KiB

View File

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 13 KiB

View File

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 17 KiB

View File

Before

Width:  |  Height:  |  Size: 3.9 KiB

After

Width:  |  Height:  |  Size: 3.9 KiB

View File

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 2.7 KiB

View File

Before

Width:  |  Height:  |  Size: 3.4 KiB

After

Width:  |  Height:  |  Size: 3.4 KiB

View File

Before

Width:  |  Height:  |  Size: 4.2 KiB

After

Width:  |  Height:  |  Size: 4.2 KiB

View File

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

View File

Before

Width:  |  Height:  |  Size: 2.1 KiB

After

Width:  |  Height:  |  Size: 2.1 KiB

View File

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 2.7 KiB

View File

Before

Width:  |  Height:  |  Size: 3.9 KiB

After

Width:  |  Height:  |  Size: 3.9 KiB

View File

Before

Width:  |  Height:  |  Size: 4.9 KiB

After

Width:  |  Height:  |  Size: 4.9 KiB

View File

Before

Width:  |  Height:  |  Size: 6.4 KiB

After

Width:  |  Height:  |  Size: 6.4 KiB

View File

Before

Width:  |  Height:  |  Size: 6.5 KiB

After

Width:  |  Height:  |  Size: 6.5 KiB

View File

Before

Width:  |  Height:  |  Size: 9.6 KiB

After

Width:  |  Height:  |  Size: 9.6 KiB

View File

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 10 KiB

View File

Before

Width:  |  Height:  |  Size: 9.2 KiB

After

Width:  |  Height:  |  Size: 9.2 KiB

View File

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 15 KiB

View File

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 16 KiB

View File

Before

Width:  |  Height:  |  Size: 120 KiB

After

Width:  |  Height:  |  Size: 120 KiB

View File

Before

Width:  |  Height:  |  Size: 2.5 MiB

After

Width:  |  Height:  |  Size: 2.5 MiB

View File

Before

Width:  |  Height:  |  Size: 4.5 MiB

After

Width:  |  Height:  |  Size: 4.5 MiB

View File

Before

Width:  |  Height:  |  Size: 2.7 MiB

After

Width:  |  Height:  |  Size: 2.7 MiB

View File

Before

Width:  |  Height:  |  Size: 496 B

After

Width:  |  Height:  |  Size: 496 B