Skip to content

快速开始

环境要求

  • Node.js >= 18
  • npm >= 9 或 pnpm >= 8
  • Git

安装

克隆仓库

bash
git clone https://github.com/gitcoffee-os/timioa.git
cd timioa

安装依赖

bash
npm install
# 或
pnpm install

开发

启动开发服务器

bash
npm run dev
# 或
pnpm dev

开发服务器启动后,访问 http://localhost:3000 即可预览。

构建生产版本

bash
npm run build
# 或
pnpm build

构建产物将输出到 dist 目录。

项目结构

timioa/
├── apps/                 # 应用目录
│   ├── mobile/          # 移动端应用(H5/小程序/APP)
│   ├── desktop/         # 桌面端应用
│   └── web/             # Web 端应用
├── packages/            # 共享包
│   ├── ui/              # UI 组件库
│   ├── sdk/             # OA SDK
│   └── shared/          # 共享工具
├── server/              # 服务端
│   ├── gateway/         # 网关服务
│   ├── workflow/        # 工作流服务
│   ├── im/              # IM 服务
│   └── ai/              # AI 服务
├── docs/                # 文档
└── scripts/             # 脚本

配置说明

基础配置

在项目根目录创建 .env 文件:

env
# 服务端地址
VITE_API_BASE_URL=http://localhost:8080

# WebSocket 地址
VITE_WS_URL=ws://localhost:8080/ws

# AI 服务地址
VITE_AI_SERVICE_URL=http://localhost:8081

# 应用名称
VITE_APP_NAME=TimiOA

多端配置

移动端

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 { TimiSDK } from '@timioa/sdk'

const sdk = new TimiSDK({
  apiBaseUrl: 'http://localhost:8080',
  wsUrl: 'ws://localhost:8080/ws',
  aiServiceUrl: 'http://localhost:8081',
  appKey: 'your_app_key'
})

await sdk.connect()

发起审批

typescript
await sdk.submitApproval({
  type: 'leave',
  title: '请假申请',
  content: '因家中有事,需请假3天',
  attachments: []
})

使用 AI 助手

typescript
const result = await sdk.ai.chat({
  message: '帮我写一份请假申请',
  context: 'annual_leave'
})

console.log(result.content)

发送 IM 消息

typescript
await sdk.im.sendTextMessage({
  to: 'user_id',
  content: '您的审批已通过!'
})

常见问题

Q: 如何切换开发环境?

A: 使用 .env.development.env.production 等文件来配置不同环境。

Q: 如何配置 AI 服务?

A: 在 .env 文件中配置 VITE_AI_SERVICE_URL,并确保 AI 服务已启动。

Q: 如何集成 ImSky IM?

A: TimiOA 已内置 ImSky IM 能力,配置 WebSocket 地址即可使用。

Q: 如何自定义审批流程?

A: 在管理后台的"流程设计"模块中,通过可视化拖拽方式配置审批流程。

下一步