# PmP **Repository Path**: fiboxyz/pm-p ## Basic Information - **Project Name**: PmP - **Description**: PmP 轻量级个人项目管理应用 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2026-09-07 - **Last Updated**: 2026-09-08 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README
# 📋 PmP ### 项目管理 · 轻量高效 · 多端适配 [![React](https://img.shields.io/badge/React-18-61DAFB?logo=react&logoColor=white)](https://react.dev) [![Vite](https://img.shields.io/badge/Vite-5-646CFF?logo=vite&logoColor=white)](https://vitejs.dev) [![Capacitor](https://img.shields.io/badge/Capacitor-6-119EFF?logo=capacitor&logoColor=white)](https://capacitorjs.com) [![License](https://img.shields.io/badge/License-All%20Rights%20Reserved-gray)]() **PmP(Project Management Platform)** — 一款简洁实用的项目管理应用, 支持浏览器 PWA 与 Android 原生运行,让你随时随地掌控项目进度。
📱 **应用截图** | 🏠 项目列表 | 📊 统计分析 | ⚙️ 数据管理 | |:---:|:---:|:---:| | ![项目列表](public/pic1.jpg) | ![统计分析](public/pic2.jpg) | ![数据管理](public/pic3.jpg) |
--- ## ✨ 功能特性
### 📋 项目管理 创建、编辑和管理多个项目,支持自定义状态标签与优先级标记,一目了然掌控全局。 ### 🔗 节点流程 可视化项目节点与进度追踪,清晰呈现每个阶段的完成情况,进度不再模糊。
### 📊 统计分析 基于 ECharts 的多维度数据图表,项目分布、状态占比、趋势变化尽在掌握。 ### 💾 数据备份 一键导出 JSON 备份文件,支持合并/替换两种导入模式,数据安全有保障。
### 📱 多端适配 浏览器 PWA + Android 原生应用,Capacitor 桥接原生能力,数据导出支持系统分享面板选择保存位置。
--- ## 🛠️ 技术栈 | 分类 | 技术 | 说明 | |:---:|:---|:---| | ⚛️ | **React 18** | 核心前端框架 | | ⚡ | **Vite 5** | 极速构建工具 | | 🧭 | **React Router 6** | 单页应用路由 | | 📈 | **ECharts 5** | 数据可视化图表 | | 📲 | **vite-plugin-pwa** | PWA 离线支持 | | 🌉 | **Capacitor 6** | 原生平台桥接 | | 📁 | **@capacitor/filesystem** | 原生文件读写 | | 🔗 | **@capacitor/share** | 系统分享面板 | | 💾 | **LocalStorage** | 本地数据持久化 | --- ## 📁 项目结构 ``` pmp-app/ ├── 📂 public/ # 静态资源与 PWA 图标 ├── 📂 src/ │ ├── 📂 components/ │ │ ├── 📄 ProjectList.jsx # 🏠 项目列表页 │ │ ├── 📄 ProjectDetail.jsx # 📋 项目详情与节点管理 │ │ ├── 📄 Statistics.jsx # 📊 统计分析图表 │ │ ├── 📄 Settings.jsx # ⚙️ 数据导入导出 │ │ └── 📄 About.jsx # ℹ️ 关于页面 │ ├── 📂 store/ │ │ └── 📄 storage.js # 💾 数据持久化层 │ ├── 📄 App.jsx # 🧩 根组件与路由 │ ├── 📄 App.css # 🎨 全局样式 │ └── 📄 main.jsx # 🚀 入口文件 ├── 📂 android/ # 🤖 Capacitor Android 原生项目 │ └── 📂 app/ │ ├── 📄 build.gradle # 🔧 构建配置(R8 压缩) │ └── 📄 proguard-rules.pro # 🔒 混淆规则 ├── 📄 capacitor.config.json # ⚙️ Capacitor 配置 ├── 📄 vite.config.js # ⚡ Vite 构建配置 └── 📄 package.json # 📦 依赖管理 ``` --- ## 🚀 快速开始 ### 📋 环境要求 | 依赖 | 版本 | 用途 | |:---:|:---:|:---| | 🟢 Node.js | 18+ | 前端构建 | | ☕ Java | 17 | Android 编译 | | 📱 Android SDK | compileSdk 34 | 原生构建 | ### 📦 安装依赖 ```bash cd pmp-app npm install ``` ### 💻 开发模式 ```bash npm run dev ``` 浏览器访问 `http://localhost:5173` 即可开始开发 🎉 ### 🏗️ 生产构建 ```bash npm run build ``` 输出至 `dist/` 目录,可直接部署到静态服务器。 --- ## 🤖 Android APK 构建 ### Step 1️⃣ — 构建 Web 资源并同步 ```bash npm run build npx cap sync android ``` ### Step 2️⃣ — 编译 APK ```bash cd android ``` | 构建类型 | 命令 | 输出路径 | 说明 | |:---:|:---|:---|:---| | 🐛 **Debug** | `gradlew assembleDebug` | `app/build/outputs/apk/debug/app-debug.apk` | 自动签名,可直接安装 | | 📦 **Release** | `gradlew assembleRelease` | `app/build/outputs/apk/release/app-release-unsigned.apk` | 未签名,需配置 keystore | > 💡 Release APK 已启用 **R8 代码压缩** + **资源缩减**,体积约 **1.5 MB** ### 🔑 Release 签名配置 在 `android/app/build.gradle` 中添加: ```groovy signingConfigs { release { storeFile file('your-release-key.keystore') storePassword 'your-password' keyAlias 'your-alias' keyPassword 'your-password' } } buildTypes { release { signingConfig signingConfigs.release minifyEnabled true shrinkResources true proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } } ``` --- ## 📤 数据导出机制 应用根据运行环境自动选择最优导出方式: | 🌍 运行环境 | 📤 导出方式 | 📝 说明 | |:---:|:---|:---| | 📱 **Capacitor 原生** | Filesystem → Share | 写入缓存文件 → 调起系统分享面板,用户可选择保存位置 | | 🔄 **React Native WebView** | postMessage 桥接 | 通过 WebView 消息通道传递给宿主应用 | | 🌐 **浏览器** | Blob + `` 下载 | 传统前端文件下载方式 | --- ## 👨‍💻 作者
| | 信息 | |:---:|:---| | 👤 **作者** | JiangWei | | 📧 **邮箱** | [2695799785@qq.com](mailto:2695799785@qq.com) |
### 📱 微信公众号 · 欢迎关注 **软趴趴的工程师** ![软趴趴的工程师](public/wechat_public.jpg)
---
**© 2026 JiangWei. All rights reserved.** ⭐ 如果这个项目对你有帮助,欢迎 Star 支持!