快速开始
环境要求
- 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=trueWeb 端
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: 在管理后台的"流程设计"模块中,通过可视化拖拽方式配置审批流程。
