跳至正文

flare-im-core-sdk API 参考

IMClient 为唯一入口;完整 rustdoc 见仓库 cargo doc -p flare-im-core-sdk

prelude

use flare_im_core_sdk::prelude::*;
// IMClient, SdkConfig, MessageApi, ConversationApi, MediaApi,
// MessageBuildApi, EventBus, SdkEvent, IMMessage, Conversation, …

生命周期

API说明
IMClient::new()空句柄
IMClient::builder()自定义 Store / 中间件
init(env, overlay)配置与数据目录
login(user, token, db, hook)登录、建连、注册 EventBus
logout()登出并释放连接
connect(user, token)Builder 路径建连
disconnect()断开长连接
is_connected() / state()连接态
current_user_id() / session_generation()会话代际(多端切换)

SdkConfig(Builder)

字段说明
endpointWebSocket / QUIC 信令地址
http_endpoint业务 HTTP / 网关
tenant_id租户
data_root本地库目录

Facade API

方法类型说明
message()MessageApi发送、查询、撤回
conversation()ConversationApi会话列表与属性
media()MediaApi上传下载
message_build()MessageBuildApi构造各类 Elem
capability()CapabilityApi扩展能力调用
presence()PresenceApi在线状态

同步(核心)

API说明
sync_messages(conv_id, last_seq, limit)会话内增量消息
sync_conversation(conv_id)单会话全量/增量
sync_conversation_summaries_silent()后台会话摘要
conversation.mark_read(conv_id, read_seq)已读上报
spawn_background_sync_tasks(&["…"])注册后台 SyncTask

事件

API说明
bus() / bus_sync()EventBus 订阅下行
notification_handlers()系统通知扩展

登录回调中注册:

client.login("uid", Some("token"), LoginDbKind::Sqlite, |bus, _store| {
    bus.on_message(|ev| { /* UI 更新 */ });
    bus.on_connection(|ev| { /* 连接态 */ });
    Ok(())
}).await?;

MessageApi(常用)

方法说明
send发送 IMMessage
get / list本地库查询
mark_read消息级已读
recall / edit撤回、编辑(能力开启时)

MessageBuildApi(常用)

text, image, file, custom, quote 等 → .build() -> IMMessage

强类型 ID

use flare_im_core_sdk::{ConversationId, UserId};

避免 conversation_iduser_id 混用。

C FFI / Tauri

路径说明
bindings/cflare_sdk_login, flare_sdk_sync_messages, …
bindings/tauri桌面壳命令封装

错误码

FlareError / ErrorCode:如 NotConnected, InvalidArgument;与 flare-core 对齐。

相关文档