Skip to content

快速开始

环境要求

  • 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=true

Web 端

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 实时推送,无需额外集成第三方工具。

下一步