# 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
### 项目管理 · 轻量高效 · 多端适配
[](https://react.dev)
[](https://vitejs.dev)
[](https://capacitorjs.com)
[]()
**PmP(Project Management Platform)** — 一款简洁实用的项目管理应用,
支持浏览器 PWA 与 Android 原生运行,让你随时随地掌控项目进度。
📱 **应用截图**
| 🏠 项目列表 | 📊 统计分析 | ⚙️ 数据管理 |
|:---:|:---:|:---:|
|  |  |  |
---
## ✨ 功能特性
|
### 📋 项目管理
创建、编辑和管理多个项目,支持自定义状态标签与优先级标记,一目了然掌控全局。
|
### 🔗 节点流程
可视化项目节点与进度追踪,清晰呈现每个阶段的完成情况,进度不再模糊。
|
|
### 📊 统计分析
基于 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) |
### 📱 微信公众号 · 欢迎关注
**软趴趴的工程师**

---
**© 2026 JiangWei. All rights reserved.**
⭐ 如果这个项目对你有帮助,欢迎 Star 支持!