# cmp_mobile
**Repository Path**: www.123as.com/cmp_mobile
## Basic Information
- **Project Name**: cmp_mobile
- **Description**: No description available
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2025-09-19
- **Last Updated**: 2025-09-20
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# CMP协作管理移动端前端项目
## 项目简介
CMP协作管理系统移动端是一个基于Vue 3 + Vite + Vant构建的现代化移动端应用,专为企业团队协作管理而设计。支持手机和平板设备,提供项目管理、任务分配、团队协作等核心功能。
## 技术栈
- **前端框架**: Vue 3 (Composition API)
- **构建工具**: Vite
- **UI组件库**: Vant 4.x (专为移动端设计)
- **状态管理**: Pinia
- **路由管理**: Vue Router 4
- **样式预处理**: Sass/SCSS
- **跨平台框架**: Capacitor 7.x (支持Android/iOS原生应用)
- **代码规范**: ESLint + Prettier
- **类型检查**: TypeScript (可选)
## 功能特性
### 核心功能
- 🏠 **首页概览**: 数据统计、快捷操作、最近活动
- 👤 **个人中心**: 用户信息、工作统计、设置管理
- 🔐 **用户认证**: 支持用户名密码和手机号验证码登录
- 📱 **移动端优化**: 专为移动设备设计的交互体验
### 移动端特性
- 📱 **响应式设计**: 完美适配手机和平板设备
- 🎨 **现代化UI**: 基于Vant组件库的美观界面
- ⚡ **性能优化**: Vite构建,快速加载
- 🔄 **下拉刷新**: 支持下拉刷新和上拉加载
- 📲 **原生应用**: 支持打包为Android APK和iOS应用
- 🔐 **安全登录**: 密码加密传输,支持验证码登录
## 项目结构
```
cmp_mobile/
├── src/ # 源代码目录
│ ├── components/ # 公共组件
│ │ └── Layout/ # 布局组件
│ ├── views/ # 页面组件
│ ├── router/ # 路由配置
│ ├── stores/ # 状态管理
│ ├── api/ # API接口
│ ├── config/ # 配置文件
│ ├── utils/ # 工具函数
│ ├── styles/ # 样式文件
│ └── main.js # 入口文件
├── android/ # Android原生项目
├── ios/ # iOS原生项目
├── hooks/ # Capacitor钩子脚本
│ ├── after_sync.js # 同步后自动修复Java版本
│ └── before_run.js # 运行前自动修复Java版本
├── dist/ # 构建输出目录
├── public/ # 静态资源
├── capacitor.config.json # Capacitor配置
├── fix-all-java-versions.js # Java版本自动修复脚本
├── run-android.js # Android运行脚本
├── build-and-run-android.js # Android构建运行脚本
└── package.json # 项目依赖
```
## 快速开始
### 🎉 成功构建Android APK
项目已成功配置并测试,可以正常构建Android APK文件。构建成功的APK位置:
- **Debug APK**: `android/app/build/outputs/apk/debug/app-debug.apk`
- **构建状态**: ✅ 构建成功,无Java版本冲突
- **测试环境**: Windows 10, JDK 17, Android SDK 35
### 🚀 一键打包Android应用
```bash
# 首次使用(初始化Android项目)
npm run build && npx cap add android && npx cap sync android
# 日常构建(推荐)
npm run cap:android
# 直接运行到设备
npm run cap:run:android
# 只构建APK文件(推荐)
npm run build:apk
# 构建并尝试安装到设备
npm run build:android
```
### 环境要求
#### 前端开发环境
- **Node.js**: >= 20.0.0 (推荐使用Node.js 20+以获得最佳Capacitor支持)
- **npm**: >= 8.0.0 或 yarn >= 1.22.0
- **Capacitor**: 7.4.3 (已集成)
#### Android开发环境
- **Android Studio**: 最新稳定版 (推荐 2024.1.1+)
- **Android SDK**: API Level 35 (Android 15)
- **最小支持版本**: API Level 23 (Android 6.0)
- **目标版本**: API Level 35 (Android 15)
- **Gradle**: 8.11.1
- **Android Gradle Plugin**: 8.7.2
- **JDK**: 17+ (推荐使用JDK 17或21)
- **Java**: 17+ (与JDK版本对应)
#### iOS开发环境 (仅macOS)
- **Xcode**: 15.0+ (用于iOS开发)
- **CocoaPods**: 最新版本
### 手动安装依赖
```bash
npm install
# 或
yarn install
```
### 启动开发服务器
```bash
npm run dev
# 或
yarn dev
```
### 构建生产版本
```bash
npm run build
# 或
yarn build
```
### 预览生产版本
```bash
npm run preview
# 或
yarn preview
```
## 移动应用打包
### Capacitor集成说明
项目已集成Capacitor 7.x,支持将Web应用打包为原生Android和iOS应用。
### 构建移动应用
#### 1. 构建并同步到原生项目
```bash
# 构建Web应用并同步到原生项目
npm run cap:build
```
#### 2. 打开Android项目
```bash
# 在Android Studio中打开项目
npm run cap:android
```
#### 3. 打开iOS项目 (仅macOS)
```bash
# 在Xcode中打开项目
npm run cap:ios
```
#### 4. 直接运行到设备
```bash
# 运行到Android设备
npm run cap:run:android
# 运行到iOS设备 (仅macOS)
npm run cap:run:ios
```
### 手动构建步骤
如果需要手动控制构建过程:
```bash
# 1. 构建Web应用
npm run build
# 2. 同步到原生项目
npx cap sync
# 3. 打开原生IDE
npx cap open android # Android
npx cap open ios # iOS (仅macOS)
```
### Android项目完整打包流程
#### 首次初始化Android项目
```bash
# 1. 构建Web应用
npm run build
# 2. 添加Android平台(首次使用)
npx cap add android
# 3. 同步配置到Android项目
npx cap sync android
```
#### 日常构建和更新
```bash
# 方法1:使用项目脚本(推荐)
npm run cap:build # 构建并同步
npm run cap:android # 构建、同步并打开Android Studio
npm run cap:run:android # 构建、同步并运行到设备
npm run build:apk # 只构建APK文件(推荐)
npm run build:android # 构建并尝试安装到设备
# 方法2:手动步骤
npm run build # 构建Web应用
npx cap sync android # 同步到Android项目
npx cap open android # 打开Android Studio
```
#### 直接构建APK
```bash
# 方法1:使用项目脚本(推荐)
npm run build:apk # 构建并同步,然后构建APK
# 方法2:手动构建
# 进入Android项目目录
cd android
# 构建Debug版本APK
.\gradlew assembleDebug
# 构建Release版本APK(需要签名配置)
.\gradlew assembleRelease
```
#### 检查设备和运行
```bash
# 列出可用的Android设备/模拟器
npx cap run android --list
# 运行到指定设备
npx cap run android --target="设备名称"
# 启用热重载开发模式
npx cap run android --livereload
```
### 环境配置
#### Android开发环境详细配置
##### 1. 安装Android Studio
- 下载并安装 [Android Studio](https://developer.android.com/studio)
- 推荐版本:2024.1.1 或更新版本
##### 2. 安装Android SDK
通过Android Studio SDK Manager安装:
- **Android SDK Platform 35** (Android 15)
- **Android SDK Build-Tools 35.0.0**
- **Android SDK Platform-Tools**
- **Android SDK Tools**
##### 3. 安装JDK
- **JDK 17** 或 **JDK 21** (推荐)
- 下载地址:[Oracle JDK](https://www.oracle.com/java/technologies/downloads/) 或 [OpenJDK](https://adoptium.net/)
##### 4. 配置环境变量
**Windows (PowerShell):**
```powershell
# 设置Android SDK路径
$env:ANDROID_HOME = "C:\Users\YourUsername\AppData\Local\Android\Sdk"
$env:PATH += ";$env:ANDROID_HOME\tools;$env:ANDROID_HOME\platform-tools"
# 设置JAVA_HOME (如果使用自定义JDK)
$env:JAVA_HOME = "C:\Program Files\Java\jdk-17"
```
**Windows (CMD):**
```cmd
set ANDROID_HOME=C:\Users\YourUsername\AppData\Local\Android\Sdk
set PATH=%PATH%;%ANDROID_HOME%\tools;%ANDROID_HOME%\platform-tools
set JAVA_HOME=C:\Program Files\Java\jdk-17
```
**macOS/Linux:**
```bash
export ANDROID_HOME=$HOME/Android/Sdk
export PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools
export JAVA_HOME=/usr/lib/jvm/java-17-openjdk
```
##### 5. 验证安装
```bash
# 检查Android SDK
adb version
# 检查Java版本
java -version
# 检查Capacitor环境
npx cap doctor
```
#### iOS开发环境 (仅macOS)
1. 安装 [Xcode](https://developer.apple.com/xcode/)
2. 安装 Xcode Command Line Tools
3. 安装 CocoaPods:
```bash
sudo gem install cocoapods
```
### 应用配置
#### 应用信息配置
在 `capacitor.config.json` 中配置应用基本信息:
```json
{
"appId": "com.cmp.mobile",
"appName": "CMP Mobile",
"webDir": "dist",
"server": {
"androidScheme": "https"
}
}
```
#### 权限配置
Android权限在 `android/app/src/main/AndroidManifest.xml` 中配置:
```xml
```
### 构建注意事项
1. **Node.js版本**: 确保使用Node.js 20+版本
2. **构建顺序**: 先构建Web应用,再同步到原生项目
3. **依赖更新**: 修改原生依赖后需要重新同步
4. **调试模式**: 开发时可以使用 `npx cap run android --livereload` 启用热重载
5. **签名配置**: 发布前需要配置应用签名
6. **Java版本**: 项目已配置自动修复Java版本冲突,确保使用JDK 17
### Java版本自动修复功能
项目已集成自动Java版本修复功能,解决Capacitor同步时可能出现的JDK版本冲突问题:
#### 自动修复机制
- **Capacitor Hooks**: 在`afterSync`和`beforeRun`时自动修复Java版本
- **构建脚本**: 所有构建命令都包含Java版本修复
- **手动修复**: 可随时运行`npm run fix:java`手动修复
#### 修复的文件
- `android/app/capacitor.build.gradle`
- `android/capacitor-cordova-android-plugins/build.gradle`
- `android/app/build.gradle`
- `android/gradle.properties`
#### 修复内容
- 将所有`JavaVersion.VERSION_21`改为`JavaVersion.VERSION_17`
- 优化Gradle配置,设置正确的JVM参数
- 清理空的Java配置项
- 设置本地Gradle缓存目录
#### 使用说明
```bash
# 手动修复Java版本
npm run fix:java
# 构建时自动修复(推荐)
npm run cap:build
npm run build:apk
npm run build:android
npm run cap:run:android
```
### 常见问题
#### 1. 构建失败
- 检查Node.js版本是否为20+
- 清理缓存:`npx cap clean`
- 重新安装依赖:`npm install`
#### 2. 同步失败
- 确保Web应用已构建:`npm run build`
- 检查capacitor.config.json配置
- 重新同步:`npx cap sync`
#### 3. Android构建问题
- 检查Android SDK版本
- 确保Android Studio已正确安装
- 检查Gradle配置
- **Java版本冲突**: 运行`npm run fix:java`自动修复
- **构建挂起**: 检查JDK版本,确保使用JDK 17
- **文件访问权限**: 确保临时目录有写入权限
#### 4. iOS构建问题 (仅macOS)
- 确保Xcode版本支持
- 检查CocoaPods安装
- 运行 `pod install` 安装依赖
### 实用命令参考
#### 项目维护命令
```bash
# 清理所有缓存和构建文件
npx cap clean
# 重新安装所有依赖
npm install
# 检查Capacitor版本
npx cap --version
# 检查已安装的平台
npx cap ls
# 更新Capacitor到最新版本
npm update @capacitor/core @capacitor/cli
# 修复Java版本问题(自动修复JDK版本冲突)
npm run fix:java
```
#### 调试和开发命令
```bash
# 启用详细日志输出
npx cap run android --verbose
# 在浏览器中预览(用于调试)
npm run preview
# 检查项目配置
npx cap doctor
# 查看可用插件
npx cap plugin:list
# 构建并同步(包含Java版本修复)
npm run cap:build
# 运行到Android设备(包含Java版本修复)
npm run cap:run:android
```
#### APK文件位置
构建完成后,APK文件位置:
- Debug版本:`android/app/build/outputs/apk/debug/app-debug.apk`
- Release版本:`android/app/build/outputs/apk/release/app-release.apk`
#### 快速验证命令
```bash
# 验证项目结构
ls -la android/app/src/main/assets/public/
# 检查Web资源是否同步
ls -la dist/
# 验证Capacitor配置
cat capacitor.config.json
```
### 环境要求总结
#### 📋 必需软件版本清单
| 软件 | 版本要求 | 说明 |
|------|----------|------|
| **Node.js** | >= 20.0.0 | 前端开发环境 |
| **npm** | >= 8.0.0 | 包管理器 |
| **Android Studio** | 2024.1.1+ | Android开发IDE |
| **Android SDK** | API 35 | Android 15 |
| **JDK** | 17+ | Java开发工具包 |
| **Gradle** | 8.11.1 | 构建工具 |
| **Android Gradle Plugin** | 8.7.2 | Android构建插件 |
| **Capacitor** | 7.4.3 | 跨平台框架 |
#### 🎯 项目配置详情
- **应用ID**: com.cmp.mobile
- **最小SDK版本**: 23 (Android 6.0)
- **目标SDK版本**: 35 (Android 15)
- **编译SDK版本**: 35 (Android 15)
- **应用版本**: 1.0 (versionCode: 1)
#### ⚠️ 重要注意事项
1. **JDK版本**: 必须使用JDK 17或21,不支持JDK 8
2. **Android SDK**: 需要API Level 35,确保安装最新的Android 15 SDK
3. **Gradle版本**: 项目使用Gradle 8.11.1,首次构建会自动下载
4. **内存要求**: 建议至少8GB RAM,Gradle构建需要足够内存
5. **存储空间**: 至少需要10GB可用空间用于SDK和构建文件
## 开发指南
### 代码规范
项目使用ESLint和Prettier进行代码规范检查:
```bash
# 代码检查
npm run lint
# 代码格式化
npm run format
```
### 响应式设计
项目支持多种设备尺寸:
- 手机: < 576px
- 大屏手机: 576px - 768px
- 平板: 768px - 992px
- 大屏平板: 992px - 1200px
- 桌面: > 1200px
### 组件开发
- 使用Vue 3 Composition API
- 遵循Vant组件设计规范
- 支持TypeScript类型检查
- 响应式设计优先
## 部署说明
### Web应用部署
构建完成后,将`dist`目录部署到静态服务器即可。
### 移动应用发布
#### Android应用发布
##### 方法1:使用Android Studio(推荐)
1. 在Android Studio中打开 `android` 目录
2. 配置签名密钥(Build → Generate Signed Bundle/APK)
3. 构建Release版本
4. 生成APK或AAB文件
5. 上传到Google Play Store
##### 方法2:命令行构建Release版本
```bash
# 1. 构建Web应用
npm run build
# 2. 同步到Android项目
npx cap sync android
# 3. 进入Android目录
cd android
# 4. 构建Release版本(需要先配置签名)
.\gradlew assembleRelease
# 5. APK文件位置
# android/app/build/outputs/apk/release/app-release.apk
```
##### 配置应用签名
在 `android/app/build.gradle` 中添加签名配置:
```gradle
android {
signingConfigs {
release {
storeFile file('path/to/your/keystore.jks')
storePassword 'your-store-password'
keyAlias 'your-key-alias'
keyPassword 'your-key-password'
}
}
buildTypes {
release {
signingConfig signingConfigs.release
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
```
#### iOS应用发布 (仅macOS)
1. 在Xcode中打开项目
2. 配置开发者账号和证书
3. 构建Archive版本
4. 上传到App Store Connect
### 移动端优化
- 启用Gzip压缩
- 配置缓存策略
- 使用CDN加速
- 启用HTTPS
- 优化启动画面
- 配置应用图标
## API集成
### 后端接口配置
项目已集成完整的API调用功能,支持:
#### 认证接口
- 用户名密码登录
- 手机号验证码登录
- 发送短信验证码
- 用户登出
#### 配置说明
在 `src/config/api.js` 中配置后端API地址:
```javascript
export const API_CONFIG = {
BASE_URL: 'http://your-api-server.com/api',
TIMEOUT: 10000,
LOGIN: {
PASSWORD: '/login/login',
SEND_SMS: '/login/getPhoneVerifyCode',
LOGOUT: '/login/logout'
}
}
```
#### 安全特性
- 密码加密传输 (使用crypto-js)
- Token自动管理
- 请求/响应拦截器
- 错误统一处理
### 状态管理
使用Pinia进行状态管理:
- 用户认证状态
- 用户信息存储
- 登录状态持久化
## 浏览器支持
- iOS Safari >= 12
- Android Chrome >= 70
- 微信内置浏览器
- 其他现代移动浏览器
## 贡献指南
1. Fork 项目
2. 创建功能分支
3. 提交更改
4. 推送到分支
5. 创建 Pull Request
## 许可证
MIT License