Socket
Socket
Sign inDemoInstall

@activatortube/supernova-sdk

Package Overview
Dependencies
649
Maintainers
1
Versions
17
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    @activatortube/supernova-sdk

Client SDK for SuperNova


Version published
Maintainers
1
Install size
179 MB
Created

Readme

Source

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);
参数类型默认简介
handlermessage_handler_fun-回调 (message: Message) => void
7. 移除一个消息的回调
removeMessageHandler(handler: message_handler_fun);
参数类型默认简介
handlermessage_handler_fun-回调 (message: Message) => void
8. 添加一个连接的回调
addConnectHandler(handler: connect_handler_fun);
参数类型默认简介
handlererror_handler_fun-回调 (status: CONNECT_STATUS) => void
9. 移除一个连接的回调
removeConnectHandler(handler: connect_handler_fun);
参数类型默认简介
handlererror_handler_fun-回调 (status: CONNECT_STATUS) => void
10. 添加一个错误的回调
addErrorHandler(handler: error_handler_fun);
参数类型默认简介
handlererror_handler_fun-回调 (error: string) => void
11. 移除一个错误的回调
removeErrorHandler(handler: error_handler_fun);
参数类型默认简介
handlererror_handler_fun-回调 (error: string) => void
12. 添加一个错误的回调
addMessageSendHandler(handler: message_send_fun);
参数类型默认简介
handlererror_handler_fun-回调 (message_id: string, status: MessageStatus) => void
13. 移除一个错误的回调
removeMessageSendHandler(handler: message_send_fun);
参数类型默认简介
handlererror_handler_fun-回调 (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. 包含的功能:登录,私聊,文字消息,图片消息等

Keywords

FAQs

Last updated on 23 Apr 2023

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc