@feihan-im/sdk
v0.28.108
Published
飞函官方 OpenAPI SDK,支持 Node.js 和 Browser
Maintainers
Readme
飞函 IM OpenAPI SDK - JavaScript
English | 中文
飞函,是安全稳定的私有化一站式办公平台,功能包括即时通讯、组织架构、音视频会议、网盘等。
本项目是飞函服务端的 JavaScript SDK,用于通过 OpenAPI 与飞函服务端进行交互。使用前需要先自行部署飞函服务端,部署教程请参考快速部署文档。
安装
npm install @feihan-im/sdkWebSocket 功能在浏览器和 Node.js 22+ 中原生支持。Node.js < 22 需安装 ws:
npm install ws快速开始
import { FeihanClient, MessageType_TEXT } from '@feihan-im/sdk';
const client = await FeihanClient.create(
'https://your-backend-url.com',
'your-app-id',
'your-app-secret',
);
// 可选:预热可提前获取访问凭证和同步服务端时间,减少首次调用的延迟
await client.preheat();
// 调用 API
const resp = await client.Im.Message.sendMessage({
chat_id: 'chat-id',
message_type: MessageType_TEXT,
message_content: { text: { content: '飞函新版本发布!' } },
});
console.log(resp);
// 使用完毕后关闭
await client.close();客户端配置
FeihanClient.create() 支持通过可选参数配置客户端行为:
import { FeihanClient, LoggerLevel } from '@feihan-im/sdk';
const client = await FeihanClient.create(
'https://your-backend-url.com',
'your-app-id',
'your-app-secret',
{
logLevel: LoggerLevel.Debug, // 日志级别(默认: Info)
requestTimeout: 30_000, // 请求超时毫秒数(默认: 60000)
enableEncryption: false, // 启用请求加密(默认: true)
},
);事件订阅
通过 WebSocket 接收实时事件推送:
// 注册事件处理函数
const handlerId = client.Im.Message.Event.onMessageReceive((event) => {
console.log('收到消息:', event);
});
// 取消订阅
client.Im.Message.Event.offMessageReceive(handlerId);错误处理
API 调用返回的响应中包含 code 和 msg 字段,code 为 0 表示请求成功:
const resp = await client.Im.Message.sendMessage({
chat_id: 'chat-id',
message_type: MessageType_TEXT,
message_content: { text: { content: '飞函新版本发布!' } },
});
if (resp.code !== 0) {
console.error(`请求失败: code=${resp.code}, msg=${resp.msg}`);
}环境要求
- Node.js 18+(需支持
fetch、crypto.subtle、CompressionStream) - 浏览器:现代浏览器(需支持 Web Crypto API 和 CompressionStream)
- TypeScript 5.0+(可选,SDK 内置类型声明)
