快速开始
环境要求
- Node.js >= 18
- npm >= 9 或 pnpm >= 8
- Git
安装
克隆仓库
bash
git clone https://github.com/gitcoffee-os/pmspilot.git
cd pmspilot安装依赖
bash
npm install
# 或
pnpm install开发
启动开发服务器
bash
npm run dev
# 或
pnpm dev开发服务器启动后,访问 http://localhost:3000 即可预览。
构建生产版本
bash
npm run build
# 或
pnpm build构建产物将输出到 dist 目录。
项目结构
pmspilot/
├── apps/ # 应用目录
│ ├── mobile/ # 移动端应用
│ ├── desktop/ # 桌面端应用
│ └── web/ # Web 端应用
├── packages/ # 共享包
│ ├── ui/ # UI 组件库
│ ├── sdk/ # PMS SDK
│ └── shared/ # 共享工具
├── server/ # 服务端
│ ├── gateway/ # 网关服务
│ ├── project/ # 项目服务
│ └── task/ # 任务服务
├── docs/ # 文档
└── scripts/ # 脚本配置说明
基础配置
在项目根目录创建 .env 文件:
env
# 服务端地址
VITE_API_BASE_URL=http://localhost:8080
# WebSocket 地址
VITE_WS_URL=ws://localhost:8080/ws
# 应用名称
VITE_APP_NAME=PmsPilot多端配置
移动端
env
# apps/mobile/.env
VITE_PLATFORM=mobile
VITE_ENABLE_PUSH=true
VITE_PUSH_APP_KEY=your_push_key桌面端
env
# apps/desktop/.env
VITE_PLATFORM=desktop
VITE_ENABLE_SHORTCUT=trueWeb 端
env
# apps/web/.env
VITE_PLATFORM=web
VITE_ENABLE_PWA=true使用示例
初始化 SDK
typescript
import { PmsSDK } from '@pmspilot/sdk'
const sdk = new PmsSDK({
apiBaseUrl: 'http://localhost:8080',
wsUrl: 'ws://localhost:8080/ws',
appKey: 'your_app_key'
})
await sdk.connect()项目管理
typescript
// 创建项目
await sdk.createProject({
name: '新项目',
description: '项目描述',
members: ['user_id_1', 'user_id_2']
})
// 获取项目列表
const projects = await sdk.getProjects()任务管理
typescript
// 创建任务
await sdk.createTask({
projectId: 'project_id',
title: '新任务',
priority: 'important_urgent',
assignee: 'user_id'
})
// 更新任务状态
await sdk.updateTask({
taskId: 'task_id',
status: 'in_progress'
})甘特图操作
typescript
// 获取甘特图数据
const ganttData = await sdk.getGanttData('project_id')
// 更新任务时间
await sdk.updateTaskSchedule({
taskId: 'task_id',
startDate: '2025-01-01',
endDate: '2025-01-15',
dependencies: ['task_id_2']
})常见问题
Q: 如何切换开发环境?
A: 使用 .env.development、.env.production 等文件来配置不同环境。
Q: 如何自定义看板列?
A: 在项目设置中,可以自定义看板的列名、颜色和工作流程。
Q: 如何集成即时通讯功能?
A: PmsPilot 内置 IM 模块,基于 WebSocket 实时推送,无需额外集成第三方工具。