# 网盘管理系统 - APP 打包指南
## 📱 项目说明
这是一个基于 Vue 3 + Capacitor 的跨平台移动应用,支持 Android 和 iOS。
## 🛠️ 技术栈
- **前端框架**: Vue 3 (Composition API)
- **构建工具**: Vite
- **跨平台方案**: Capacitor
- **UI 样式**: 原生 CSS(移动端适配)
## 📦 安装依赖
```bash
npm install
```
## 🚀 开发模式
### Web 开发
```bash
npm run dev
```
### Android 开发
```bash
# 1. 构建 Web 资源
npm run build
# 2. 同步到 Android
npx cap sync android
# 3. 在 Android Studio 中打开
npx cap open android
```
### iOS 开发(需要 macOS)
```bash
# 1. 添加 iOS 平台
npx cap add ios
# 2. 构建并同步
npm run build
npx cap sync ios
# 3. 在 Xcode 中打开
npx cap open ios
```
## 🏗️ 打包发布
### Android APK 打包
#### 方法一:使用 Android Studio(推荐)
1. 运行 `npx cap open android` 打开 Android Studio
2. 等待 Gradle 同步完成
3. 点击菜单 **Build → Build Bundle(s) / APK(s) → Build APK(s)**
4. APK 文件会生成在 `android/app/build/outputs/apk/debug/` 目录
#### 方法二:命令行打包
```bash
cd android
./gradlew assembleDebug
```
APK 位置:`android/app/build/outputs/apk/debug/app-debug.apk`
### 发布版本(签名 APK)
1. 创建密钥库文件:
```bash
keytool -genkey -v -keystore my-release-key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias my-alias
```
2. 在 `android/app/build.gradle` 中配置签名:
```gradle
android {
...
signingConfigs {
release {
storeFile file("../my-release-key.jks")
storePassword "your-store-password"
keyAlias "my-alias"
keyPassword "your-key-password"
}
}
buildTypes {
release {
signingConfig signingConfigs.release
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
```
3. 打包:
```bash
./gradlew assembleRelease
```
## 📂 项目结构
```
wangpan/vue/
├── src/ # 源代码
│ ├── api/ # API 接口
│ ├── components/ # Vue 组件
│ ├── utils/ # 工具函数
│ ├── App.vue # 主组件
│ └── main.js # 入口文件
├── android/ # Android 原生项目
├── ios/ # iOS 原生项目(macOS)
├── dist/ # 构建输出
├── public/ # 静态资源
├── capacitor.config.json # Capacitor 配置
└── package.json
```
## 🔧 配置说明
### Capacitor 配置 (capacitor.config.json)
```json
{
"appId": "com.wangpan.app", // APP ID
"appName": "网盘管理系统", // APP 名称
"webDir": "dist", // Web 资源目录
"plugins": {
"SplashScreen": { // 启动屏配置
"launchShowDuration": 2000,
"backgroundColor": "#f8f9fc",
"showSpinner": false
},
"StatusBar": { // 状态栏配置
"style": "light",
"backgroundColor": "#6366f1"
}
}
}
```
## 🎨 自定义图标和启动屏
### 更换 APP 图标
1. 准备图标文件(PNG 格式):
- 1024x1024 (Google Play 要求)
- 512x512
- 192x192
- 144x144
- 96x96
- 72x72
- 48x48
2. 替换 `android/app/src/main/res/mipmap-*/ic_launcher.png`
3. 或使用在线工具生成:https://icon.kitchen/
### 更换启动屏
1. 准备启动屏图片(PNG 格式)
2. 替换 `android/app/src/main/res/drawable/splash.png`
3. 或使用 Cordova 插件自动生成
## 🐛 常见问题
### 1. Android Studio 无法识别项目
- 确保已安装 JDK 11+
- 确保已安装 Android SDK
- 运行 `npx cap sync android` 重新同步
### 2. 白屏问题
- 检查 `dist/` 目录是否有正确的构建文件
- 检查 `capacitor.config.json` 中的 `webDir` 配置
- 查看 Chrome DevTools: `chrome://inspect/#devices`
### 3. API 请求失败
- 确保后端服务已启动
- 检查 CORS 配置
- Android 需要配置网络安全策略(允许 HTTP)
### 4. 热重载不工作
- Capacitor 不支持热重载
- 修改代码后需要重新构建:`npm run build && npx cap sync`
## 📱 真机测试
### Android 真机调试
1. 开启手机的开发者选项和 USB 调试
2. 连接手机到电脑
3. 在 Android Studio 中点击 Run 按钮
4. 或使用命令:
```bash
npx cap run android
```
### Chrome 远程调试
1. 手机连接电脑
2. 浏览器访问 `chrome://inspect/#devices`
3. 选择你的设备进行调试
## 🔐 权限配置
如果需要访问相机、相册等权限,需要在 `android/app/src/main/AndroidManifest.xml` 中添加:
```xml
```
## 📊 性能优化建议
1. **图片优化**:使用 WebP 格式,压缩图片
2. **代码分割**:使用动态导入 `import()`
3. **懒加载**:路由和组件按需加载
4. **缓存策略**:合理使用 localStorage 和 IndexedDB
5. **减少重绘**:避免频繁操作 DOM
## 📝 更新日志
### v1.0.0 (2026-06-08)
- ✅ 完成移动端适配
- ✅ 集成 Capacitor
- ✅ 支持 Android 打包
- ✅ 优化触摸交互
- ✅ 修复验证码拉伸问题
## 🤝 贡献指南
欢迎提交 Issue 和 Pull Request!
## 📄 许可证
MIT License