快速开始
环境要求
- Node.js >= 18
- npm >= 9 或 pnpm >= 8
- Git
安装
克隆仓库
bash
git clone https://github.com/gitcoffee-os/imsky.git
cd imsky安装依赖
bash
npm install
# 或
pnpm install开发
启动开发服务器
bash
npm run dev
# 或
pnpm dev开发服务器启动后,访问 http://localhost:3000 即可预览。
构建生产版本
bash
npm run build
# 或
pnpm build构建产物将输出到 dist 目录。
项目结构
imsky/
├── apps/ # 应用目录
│ ├── mobile/ # 移动端应用
│ ├── desktop/ # 桌面端应用
│ └── web/ # Web 端应用
├── packages/ # 共享包
│ ├── ui/ # UI 组件库
│ ├── sdk/ # IM SDK
│ └── shared/ # 共享工具
├── server/ # 服务端
│ ├── gateway/ # 网关服务
│ ├── message/ # 消息服务
│ └── user/ # 用户服务
├── docs/ # 文档
└── scripts/ # 脚本配置说明
基础配置
在项目根目录创建 .env 文件:
env
# 服务端地址
VITE_API_BASE_URL=http://localhost:8080
# WebSocket 地址
VITE_WS_URL=ws://localhost:8080/ws
# 应用名称
VITE_APP_NAME=ImSky多端配置
移动端
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 { ImSDK } from '@imsky/sdk'
const sdk = new ImSDK({
apiBaseUrl: 'http://localhost:8080',
wsUrl: 'ws://localhost:8080/ws',
appKey: 'your_app_key'
})
// 连接服务器
await sdk.connect()发送消息
typescript
// 发送文本消息
await sdk.sendTextMessage({
to: 'user_id',
content: '你好!'
})
// 发送图片消息
await sdk.sendImageMessage({
to: 'user_id',
file: imageFile
})监听消息
typescript
sdk.onMessage((message) => {
console.log('收到消息:', message)
})
sdk.onConnect(() => {
console.log('连接成功')
})
sdk.onDisconnect(() => {
console.log('连接断开')
})常见问题
Q: 如何切换开发环境?
A: 使用 .env.development、.env.production 等文件来配置不同环境。
Q: 如何添加新的消息类型?
A: 在 packages/sdk/src/types/message.ts 中定义消息类型,并在对应端实现渲染组件。
Q: 如何自定义主题?
A: 修改 packages/ui/src/theme 目录下的样式变量。