@activatortube/supernova-sdk 中文文档教程

发布于 4年前 浏览 10 项目主页 更新于 3年前

Supernova-SDK

Supernova-SDK SuperNova 聊天系统的客户端sdk

  1. 采用TypeScript编写,底层使用socket.io实现
  2. 默认的聊天记录保存使用的是realm

Usage

1. 添加依赖到项目

npm install --save @activatortube/supernova-sdk

2. 添加愿生模块支持

iOS

cd ios && pod install && cd ..

Android

默认就安装好了

3. 运行项目

4. 编码

import SuperNova from '@activatortube/supernova-sdk';

...
//聊天服务器的链接
SuperNova.init('https://supernova.com');
//获取supernova实例
let superNova = SuperNova.getInstance();
superNova.addConnectHandler(...);
superNova.addErrorHandler(...);

//登录到聊天服务器
//user_name 以及 password 通过后台api注册获得
superNova.login(user_name,  password);

...

superNova.removeConnectHandler(...)
superNova.removeErrorHandler(...)

5. API

SuperNova

1. 初始化参数
SuperNova.init(endpoint: string, adapter?: IDataStoreAdapter);

初始化需要一个服务器的地址,adapter如果不填,则会默认使用realm实现

参数类型简介
endpointstring聊天服务器的地址
adapterIDataStoreAdapter可不填,自定义只要实现IDataStoreAdapter定义的方法即可
2. SuperNova实例方法,实例使用 SuperNova.getInstance()获取
1. 登录
login(user_id: string, access_secret: string, reset?: boolean): void;
参数类型默认简介
user_idstring-用户id,通过后台注册获得
access_secretstring-用户密钥,通过后台注册获得
resetbooleanfalse是否重置链接,默认false
2. 断开连接
disconnect(): void;
3. 发送消息,最好使用后面的方法发送
send(message: Message): Message;
参数类型默认简介
messageMessage-需要发送的消息
4. 发送文字消息
sendText(receiver: string, text: string, chat_type?: ChatType): Message;
参数类型默认简介
receiverstring-接收者
textstring-消息内容
chat_typeChatTypeChatType.PRIVATE聊天室类型
5. 发送图片消息
sendImage(receiver: string, local_path: string, chat_type?: ChatType) : Message;
参数类型默认简介
receiverstring-接收者
local_pathstring-图片本地路径
chat_typeChatTypeChatType.PRIVATE聊天室类型
6. 添加一个消息的回调,收到新消息会触发
addMessageHandler(handler: message_handler_fun);
参数类型默认简介
handlermessagehandlerfun-回调 (message: Message) => void
7. 移除一个消息的回调
removeMessageHandler(handler: message_handler_fun);
参数类型默认简介
handlermessagehandlerfun-回调 (message: Message) => void
8. 添加一个连接的回调
addConnectHandler(handler: connect_handler_fun);
参数类型默认简介
handlererrorhandlerfun-回调 (status: CONNECT_STATUS) => void
9. 移除一个连接的回调
removeConnectHandler(handler: connect_handler_fun);
参数类型默认简介
handlererrorhandlerfun-回调 (status: CONNECT_STATUS) => void
10. 添加一个错误的回调
addErrorHandler(handler: error_handler_fun);
参数类型默认简介
handlererrorhandlerfun-回调 (error: string) => void
11. 移除一个错误的回调
removeErrorHandler(handler: error_handler_fun);
参数类型默认简介
handlererrorhandlerfun-回调 (error: string) => void
12. 添加一个错误的回调
addMessageSendHandler(handler: message_send_fun);
参数类型默认简介
handlererrorhandlerfun-回调 (message_id: string, status: MessageStatus) => void
13. 移除一个错误的回调
removeMessageSendHandler(handler: message_send_fun);
参数类型默认简介
handlererrorhandlerfun-回调 (message_id: string, status: MessageStatus) => void
3. messageAdapter实例方法,实例使用 SuperNova.getInstance().messageAdapter 获取
1. 将消息保存到本地
save(message: Message): void;
参数类型默认简介
messageMessage-消息
2. 将消息保存到本地
queryMessage(options: QueryOptions): Promise<Message[]>;
参数类型默认简介
optionsQueryOptions-查询条件,具体通过d.ts查看
3. 查询用户的聊天大纲,一般用于聊天列表页面
getOutline(user_id: string): Promise<Outline[]>;
参数类型默认简介
user_idstring-用户id
4. 将某个会话所以消息标记为已读
markAsRead(user_id: string, mate_id: string): void;
参数类型默认简介
user_idstring-用户id
mate_idstring-好友或群组id
5. 获取未读消息总数
getTotalUnreadCount(user_id: string): Promise<number>;
参数类型默认简介
user_idstring-用户id
6. 更新某条消息的状态
updateMessageStatus(message_id: string, status: MessageStatus): Promise<boolean>;
参数类型默认简介
message_idstring-用户id
statusMessageStatus-新状态
7. 更新某条消息的附件id
updateAttachId(message_id: string, attach_id: string): Promise<boolean>;
参数类型默认简介
message_idstring-用户id
attach_idstring-附件id

changelog

1.0.0

  1. 最初的版本
  2. 包含的功能:登录,私聊,文字消息,图片消息等
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文