@qians/quake_ws_client-wasm
v1.0.22
Published
author: qians
Downloads
18
Readme
HChat WASM Client
author: qians
date: 2022/2/21
version: v0.3.8
我的元空间
私聊
私聊对象获取
get_group_members(path: String)
请求参数
- path: 空间code
返回值
Vec<SpaceMemberInfo>: 空间成员列表
SpaceMemberInfo: 空间成员信息
username
用户名
space_nickname
空间成员名备注
sex
性别
birthday
生日
region
地区
avatar
头像url
nickname
用户昵称
私聊消息
获取
get_message(path: String,receiver: String)
请求参数
- path: 空间code
- receiver:消息的接收者
返回值
BTreeSet<Message>: 空间中消息的列表, 按消息id顺序排列
Message
path_code
空间id
message
消息内容
message_id
消息id
message_type
类型
sender
发送者
receiver
接收者
timestamp
时间戳
is_delete
删除标识
发送
send_message(path_code: String, receiver: String, typ: String, content: String)
请求参数
- path_code: 空间code
- receiver: 消息的接收者
- type: 消息类型
- content: 消息内容
返回值
trace: 发送任务的id
SDK
init(token: String, url: String, uuid: String, release: bool)
初始化client信息, 启动websocket
- 请求参数
- token: 用户token
- url: core服务器地址
- uuid: 设备标识符, 用作区分同一用户的不同设备
- release: 是否使用tls
- 返回值
- None
local_task(trace: String)
获取空间内任务, 例如接收的新消息, 获取消息, 撤回消息, 发送消息的回复, local_task在调用back()方法离开房间时会清空, 且只会存储本空间内的任务
- 请求参数
- trace: 任务号
- 返回值
- task: 任务
system_task(trace: String)
获取系统任务, 例如修改空间名, 删除空间等, system_task中的任务会一直存储直至被取出
- 请求参数
- trace: 任务号
- 返回值
- task: 任务
custom_task(path_code: String, task: String)
获取自定义任务
- 请求参数
- path_code: 空间id
- task: 任务
- 返回值
- task: 任务号
get_my_role(path_code: &str)
获取所在空间的我的权限
请求参数
- path_code: 空间id
返回值
权限:i8
0:普通成员
1:空间管理员
2:空间创建者
get_users()
获取氢友氢粉
请求参数
- 无
返回值
Hash<username,UserInfo>
username: 用户id
UserInfo: 用户头像和用户昵称
space_name
用户昵称
avatar
头像
get_user_info(usernames:&str)
获取用户信息
请求参数
- usernames:用户名组成的Vec<String>,再转为JsonString
返回值
Hash<username,UserInfo>
username: 用户名
UserInfo:用户信息
birthday:
生日
region
地区
sex
性别
space_name
空间名称
avatar
头像
get_groups()
获取空间列表
请求参数
- None
返回值
HashMap<path_code, Group>
path_code: 空间id
Group:空间信息以及子空间信息 spaceBaseInfo, HashMap<path_code, Group>
spaceBaseInfo: 空间基础信息
parent_code
父空间id
space_name
空间名
space_type
空间类型
avatar
空间头像url
is_delete
删除标记
get_space_base_info(path_code: String)
获取空间基础信息
请求参数
- path_code: 空间id
返回值
spaceBaseInfo空间基础信息
parent_code
父空间id
space_name
空间名
space_type
空间类型
avatar
空间头像url
is_delete
删除标记
get_space_name(path_code: String)
获取空间名称
请求参数
- path_code: 空间id
返回值
- space_name: 空间名称
get_self_and_children_info(path_codes: &str)
获取指定空间和其下级空间的信息(头像和名称)
请求参数
- path_codes: 空间id组成的Vec<String>,再转为JsonString
返回值
- trace: 发送任务的id
get_group_children(root_space: String)
获取指定空间的子空间成员列表
请求参数
- root_space: 空间id (不填默认根空间)
返回值
Vec<SpaceBaseInfo>:空间基础信息列表
SpaceBaseInfo:空间基础信息
space_code
空间id
parent_code
父空间id
space_name
空间名称(有备注就是备注名)
space_type
空间类型
avatar
空间头像
is_delete
删除标识
announcement
空间公告
is_communication_been_established(username: String)
是否建立过聊天通信
请求参数
- username: 用户id
返回值
- 是否建立过通信
ask_private_chat(username: String)
请求私聊
请求参数
- username: 用户id
返回值
- 私聊空间id
get_group_creator(path: String)
获取指定空间创建者
请求参数
- path: 空间id
返回值
HashMap<username, SpaceMemberInfo>: 空间成员列表
SpaceMemberInfo: 空间成员信息
username
用户名
space_nickname
空间成员名备注
sex
性别
birthday
生日
region
地区
avatar
头像url
nickname
用户昵称
get_group_administrators(path: String)
获取指定空间管理员
请求参数
- path: 空间id
返回值
HashMap<username, SpaceMemberInfo>: 空间成员列表
SpaceMemberInfo: 空间成员信息
username
用户名
space_nickname
空间成员名备注
sex
性别
birthday
生日
region
地区
avatar
头像url
nickname
用户昵称
get_group_boots(path: String)
获取指定空间机器人列表
请求参数
- path: 空间id
返回值
HashMap<username, SpaceMemberInfo>: 空间成员列表
SpaceMemberInfo: 空间成员信息
username
用户名
space_nickname
空间成员名备注
sex
性别
birthday
生日
region
地区
avatar
头像url
nickname
用户昵称
get_group_members(path: String)
获取指定空间成员列表
请求参数
- path: 空间id
返回值
HashMap<username, SpaceMemberInfo>: 空间成员列表
SpaceMemberInfo: 空间成员信息
username
用户名
space_nickname
空间成员名备注
sex
性别
birthday
生日
region
地区
avatar
头像url
nickname
用户昵称
get_group_settings(path: String)
获取指定空间设定
请求参数
- path: 空间id
返回值
SpaceSettings: 空间设置信息
space_nickname
空间成员名备注
is_space_nickname_on
是否显示昵称
space_remark
空间备注
background_img_url
背景图片url
del_messages
屏蔽消息列表
shield
是否屏蔽该用户
top_status
是否置顶
modify_space_setting(space_code: String, space_nickname: String,is_space_nickname_on: String,space_remark: String,background_img_url: String,shield: String,top_status: String)
修改空间
请求参数
- space_code: 空间id
- space_nickname: 空间成员昵称
- is_space_nickname_on: 是否显示昵称
- space_remark: 空间备注
- background_img_url: 背景图片url
- shield: 是否屏蔽该空间
- top_status: 是否置顶
返回值
- trace: 发送任务的id
get_message(path: String, receiver: String)
获取指定空间消息, 调用此方法会将自动将该空间的最新消息设置为已读, 若离开空间请调用back()方法
请求参数
- path: 空间id
- receiver: 消息接收者(可以不填)
返回值
BTreeSet<Message>: 空间中消息的列表, 按消息id顺序排列
Message
path_code
空间id
message
消息内容
message_id
消息id
message_type
类型
sender
发送者
receiver
接收者
timestamp
时间戳
is_delete
删除标识
send_message(path_code: String, receiver: String, typ: String, content: String)
发送消息
- 请求参数
- path_code: 空间id
- receiver:消息接收者
- typ:消息类型
- content: 消息内容
- 返回值
- trace: 发送任务的id
revoke_message(path_code: String, receiver: String, message_id: String)
撤回消息, 逻辑尚未走完, 只实现的发送部分, 推送部分代实现
- 请求参数
- path_code: 空间id
- receiver: 消息接收者
- message_id: 消息id
- 返回值
- trace: 发送任务的id
load_messages(path_code: String, receiver: String, start_message_id: String, len: u32)
获取之前的消息, 并存储到wasm中
- 请求参数
- path_code: 空间id
- receiver: 消息接收者
- start_message_id: 起始消息id
- len: 消息数量
- 返回值
- trace: 发送任务的id
get_read_num(path_code: String,receiver: String)
获取消息已读人数
请求参数
- path_code: 空间id
- receiver: 接收者
返回值
- HashMap<Message_id,read_num>: 已读人数
unread(root: Option<String>)
获取未读消息状态
请求参数
- root: 所在空间id,不填默认是根空间
返回值
UnreadStatus: 未读状态
UnreadStatus
children
所在空间的子空间的未读消息列表
outside
所在空间外部的未读消息列表(不包括所在位置的子空间)
private_chat
所在的“我的元空间”的未读消息列表(即私聊未读消息列表)
get_del_messages(path_code: String)
获取删除消息
请求参数
- path_code: 空间id
返回值
- trace: 发送任务的id
delete_messages(path_code: String, receiver: String, del_messages: &str)
删除消息
请求参数
- path_code: 空间id
- receiver: 接收者
- del_messages: 删除消息id组成的Vec<String>,再转为JsonString
返回值
- trace: 发送任务的id
modify_user_info(sex: String, birthday: String, region: String)
修改用户信息
请求参数
- sex: 性别
- birthday: 生日
- region: 地区
返回值
- trace: 发送任务的id
create_space(space_name: String, avatar: String, parent_code: String)
创建域空间
请求参数
- space_name: 空间名称
- avatar: 空间头像
- parent_code: 父空间id(填空为根空间)
返回值
- trace: 发送任务的id
create_custom_space(space_name: String, avatar: String, parent_code: String, space_type: i8)
创建自定义域空间
请求参数
- space_name: 空间名称
- avatar: 空间头像
- parent_code: 父空间id(填空为根空间)
- space_type: 空间类型
返回值
- trace: 发送任务的id
modify_space_base_info(path_code: String, space_name: String, avatar: String,)
修改空间信息(包括用户信息的头像和名称)
请求参数
- path_code: 空间id(用户id)
- space_name: 空间名称(用户名称)
- avatar: 空间头像(用户头像)
返回值
- trace: 发送任务的id
modify_space_setting(path_code: String, space_nickname: String, is_space_nickname_on: String, space_remark: String, background_img_url: String, shield: String, top_status: String)
修改空间设置
请求参数
- path_code: 空间id(用户id)
- space_nickname: 用户昵称
- is_space_nickname_on: 是否显示用户昵称
- space_remark: 空间备注
- background_img_url: 背景图片url
- shield: 是否屏蔽
- top_status: 是否置顶
返回值
- trace: 发送任务的id
boot_out_space_member(path_code: String, username: String)
踢出空间成员(仅限高级权限成员对低级权限成员的操作,不可踢出自己)
请求参数
- path_code: 空间id
- username: 被踢出的成员id
返回值
- trace: 发送任务的id
withdraw_from_space(path_code: String)
退出空间(主动)
请求参数
- path_code: 空间id
返回值
- trace: 发送任务的id
set_space_member_auth(path_code: String, username: String, role: int8)
设置空间成员权限
请求参数
- path_code: 空间id
- username: 被设置权限人id
- role: 权限(原则上低权限只能由高权限成员修改)
返回值
- trace: 发送任务的id
invite(path_code: String, invitee: String, inviter: String, role: int8)
邀请
请求参数
- path_code: 空间id
- invitee: 被邀请者
- inviter: 邀请者
- role: 赋予被邀请者在空间中的身份
返回值
- trace: 发送任务的id
link_invite(invitee: String, invitation_link_id: String)
链接邀请
请求参数
- invitee: 被邀请者
- invitation_link_id: 邀请链接
返回值
- trace: 发送任务的id
review(path_code: String, invitee: String, reviewer: String, role: int8, status: int8)
审核
请求参数
path_code: 空间id
invitee: 被邀请者
reviewer: 审核人
role: 赋予被邀请者在空间中的身份
status: 审核状态
0: 待审核
1: 通过
2: 拒绝
9: 永不通过
返回值
- trace: 发送任务的id
get_invitation_list_to_be_reviewed(path_code: &str)
获取待审核列表
请求参数
- path_code: 空间id
返回值
- trace: 发送任务的id
back()
停止自动将某空间的最新消息设置为已读
- 请求参数
- 无
- 返回值
- 无
rename_path
暂时别调用
delete_path
暂时别调用
监听
ExtendInfo(i64, HashMap<String, String>)
用户扩展信息
- 返回值
- trace: 发送任务的id
- extend_info: 用户扩展信息
ModifyExtendInfo(i64, bool, String)
修改用户扩展信息
- 返回值
- trace: 发送任务的id
- ok: 是否修改成功
- username: 用户id
NewExtendInfo(i64, String, ExtendInfo)
修改用户扩展信息
- 返回值
- trace: 发送任务的id
- username: 用户id
- extend_info: 修改后的扩展信息
- sex: 性别
- birthday: 生日
- region: 地区
BlockUsers(i64, Vec<String>)
修改用户扩展信息
- 返回值
- trace: 发送任务的id
- blocked_users: 屏蔽用户信息列表
CreateSpace(i64, bool, String)
创建域空间
- 返回值
- trace: 发送任务的id
- ok: 是否创建成功
- space_code: 空间id
CreateCustomSpace(i64, bool, String)
创建自定义域空间
- 返回值
- trace: 发送任务的id
- ok: 是否创建成功
- space_code: 空间id
NewSpace(i64, String, String, String, String)
新域空间
- 返回值
- trace: 发送任务的id
- space_code: 空间id
- space_name: 空间名称
- avatar:空间头像
- parent_code: 父空间id
Spaces(i64, HashMap<String, String>)
空间信息
- 返回值
- trace: 发送任务的id
- space:
- space_code: 空间id
- Space: 空间信息
- space_name: 空间名称
- avatar: 空间头像
- announcement: 公告(是数组转成的字符串,需要反转义后使用)
- parent_code: 父空间id
- space_type: 空间类型
ModifySpaceBaseInfo(i64,bool, String)
修改空间基础信息(用户基础信息)
- 返回值
- trace: 发送任务的id
- ok: 是否修改成功
- path_code: 空间id
NewSpaceBaseInfo(i64, String, SpaceBaseInfo)
空间(用户)基础信息修改成功
- 返回值
- trace: 发送任务的id
- path_code: 空间id
- SpaceBaseInfo: 修改后的空间基础信息(用户基础信息)
- space_name: 空间名称(用户名称)
- avatar: 空间头像(用户头像)
GetSelfAndChildrenInfo(i64, HashMap<String, String>)
获取指定空间与下级空间信息
- 返回值
- trace: 发送任务的id
- info: 空间信息 HashMap<path_code,ParentAndChildren>
- ParentAndChildren:
- parents: 指定空间空间名和头像
- children: 下级空间的空间名和头像
- ParentAndChildren:
SpacesSettings(i64, HashMap<String, String>)
空间设置
这个事件在WASM初始化后会自动被SSE发送过来,wasm会继续初始化获取所有已知的空间的space_info
- 返回值
- trace: 发送任务的id
- space_settings: 空间设置列表
- space_code: 空间id
- space_setting: 空间设置
ModifySpaceSetting(i64, bool, String)
修改空间设置
- 返回值
- trace: 发送任务的id
- ok: 是否修改成功
- space_code: 空间id
NewSpaceSetting(i64, SpaceSetting)
空间设置修改成功
- 返回值
- trace: 发送任务的id
- space_code: 空间id
- space_setting: 空间设置
- space_nickname: 本人在空间中的昵称
- is_space_nickname_on: 是否显示昵称
- space_remark: 空间备注
- background_img_url: 背景图片
- shield: 是否屏蔽
- top_status: 是否置顶
SpacesMembers(i64, String, HashMap<String, String>)
空间成员
- 返回值
- trace: 发送任务的id
- space_code: 空间id
- space_members: 空间成员列表
- space_code: 空间id
- space_member: 空间成员信息
BootOutSpaceMember(i64, bool, String, String)
踢出成员
- 返回值
- trace: 发送任务的id
- ok: 是否踢出成功
- space_code: 空间id
- username: 空间成员id
WithDrawFromSpace(i64, bool, String)
主动退出空间
- 返回值
- trace: 发送任务的id
- ok: 是否退出成功
- space_code: 空间id
NewCreator(i64, String, String)
新群主
- 返回值
- trace: 发送任务的id
- space_code: 空间id
- new_creator: 新群主id
MemberWithdrawal(i64, String, String)
成员退出空间
- 返回值
- trace: 发送任务的id
- space_code: 空间id
- username: 退出空间的成员id
SetSpaceMemberAuth(i64, bool, String, String)
设置成员权限
- 返回值
- trace: 发送任务的id
- ok: 是否设置成功
- space_code: 空间id
- username: 被设置权限人id
NewSpaceMemberAuth(i64, String, String, int8)
成员权限变动
返回值
trace: 发送任务的id
space_code: 空间id
username: 被设置权限人id
reviewer: 设置权限人id
role: 成员权限
0:普通成员
1:空间管理员
2:空间创建者
Invite(i64, String, String, String)
邀请
- 返回值
- trace: 发送任务的id
- space_code: 空间id
- invitee: 被邀请者
- inviter: 邀请者
Review(i64, String, String, String, int8)
审核
返回值
trace: 发送任务的id
space_code: 空间id
invitee: 被邀请者
reviewer: 审核人
status: 审核状态
0: 待审核
1: 通过
2: 拒绝
9: 永不通过
NewMember(i64, String, String)
新成员加入
- 返回值
- trace: 发送任务的id
- space_code: 空间id
- username: 新成员id
GetInvitationList(i64, String)
获取邀请列表
- 返回值
- trace: 发送任务的id
- invitation_list: 邀请列表
Message(i64, String, Message)
接收新消息(自己发的也会触发)
- 返回值
- trace: 发送任务的id
- invitation_list: 邀请信息
NewMessage(i64, bool, String)
发送消息
- 返回值
- trace: 发送任务的id
- ok: 是否发送成功
- path_code: 空间id
RevokeMessage(i64, String, String, String)
撤回消息
- 返回值
- trace: 发送任务的id
- path_code: 空间id
- receiver: 接收者
- message_id: 消息id
LatestMessages(i64, String, String, Vec<Message>)
获取最新消息
- 返回值
- trace: 发送任务的id
- path_code: 空间id
- receiver: 接收者
- messages: 消息列表
GetMessages(i64, String, String, Vec<Message>)
获取历史消息
- 返回值
- trace: 发送任务的id
- path_code: 空间id
- receiver: 接收者
- messages: 消息列表
Read(i64, bool)
读消息
- 返回值
- trace: 发送任务的id
- ok: 消息是否已读
ReadNum(i64, String, String, HashMap<String,u32>)
消息被读人数
- 返回值
- trace: 发送任务的id
- path_code: 空间id
- receiver: 接收者id
- read_num:
- message_id: 消息id
- num: 被读人数
UnreadStatus(i64, HashMap<String, HashMap<String, String>>)
未读状态
- 返回值
- trace: 发送任务的id
- status: 未读状态
GetDelMessage(i64, String, Vec<String>)
获取删除消息
- 返回值
- trace: 发送任务的id
- path_code: 空间id
- message_id: 删除消息id
AddDelMessage(i64, bool, String, String, String, HashMap<String, String>)
删除消息
- 返回值
- trace: 发送任务的id
- ok: 是否删除成功
- username: 删除者
- path_code: 空间id
- receiver: 接收者
- del_messages: 删除消息id
Custom(i64, String, String, String, String)
自定义任务
- 返回值
- trace: 发送任务的id
- path_code: 空间id
- receiver: 接收者
- content: 内容
- sender: 发送者
Err(i64, String)
错误
- 返回值
- trace: 发送任务的id
- error: 错误信息
Disconnected(i64)
断开连接
- 返回值
- trace: 不和任何有效数据捆绑的trace_id,仅作标记