web端调用这个sdk实现直播间评论消息 ,但是退出之后再进来就看不见之前的聊天了,AUI这个怎么才能支持看之前的评论呢?https://g.alicdn.com/video-cloud-fe/aliyun-interaction-sdk/1.0.3/aliyun-interaction-sdk.web.min.js
可以使用 listMessage 接口获取历史消息,具体定义可查看这份文档。interface BasicMap< U > {
}
export interface IMCreateGroupRspModel {
groupId?: string; // 消息组id
}
export interface IMCreateGroupReqModel {
extension?: BasicMap; // 业务扩展字段
}
export interface IMGetGroupRspModel {
groupId?: string; // 话题id, 聊天插件实例id
extension?: BasicMap; // 业务扩展字段
createTime?: number; // 创建时间
status?: number; // 群组状态
creatorId?: string; // 创建者id
isMuteAll?: boolean; // 是否被全体禁言
}
export interface IMGetGroupReqModel {
groupId?: string; // 话题id, // 话题id,// 话题id, 聊天插件实例id
userNick?: string; // 用户昵称
userAvatar?: string; // 用户头像
userExtension?: string; // 用户扩展信息
broadCastType?: number; // 系统消息扩散类型,0: 不扩散;1:扩散到指定人; 2:扩散到群组
broadCastStatistics?: boolean; // 是否扩散统计类消息, 默认为0,false; 取值 0:不扩散统计信息;1:扩散统计信息;统计信息包含PV、UV、onlineCount
}
export interface IMLeaveGroupRspModel {
}
export interface IMLeaveGroupReqModel {
groupId?: string; // 话题id, 聊天插件实例id
broadCastType?: number; // 系统消息扩散类型,0: 不扩散;1:扩散到指定人; 2:扩散到群组
}
export interface IMListGroupUserRspModel {
total?: number; // 总数
userList?: Array; // 返回的消息组的在线成员列表
hasMore?: boolean; // 是否还剩数据
}
export interface IMGroupUserModel {
userId?: string; // 用户的id
joinTime?: number; // 加入时间
}
export interface IMListGroupUserReqModel {
groupId?: string; // 话题id, 聊天插件实例id
sortType?: number; // 排序方式,0-时间递增顺序,1-时间递减顺序
pageNum?: number; // 分页拉取的索引下标,第一次调用传1,后续调用+1
pageSize?: number; // 分页拉取的大小,默认50条,最大200条
}
export interface IMGetGroupStatisticsRspModel {
groupId?: string; // 话题id, 聊天插件实例id
createTime?: number; // 创建时间
status?: number; // 群组状态
likeCount?: number; // 点赞数
pv?: number; // PV
uv?: number; // UV
onlineCount?: number; // 在线人数
isMuteAll?: boolean; // 是否全局被禁言
}
export interface IMGetGroupStatisticsReqModel {
groupId?: string; // 消息组id
}
export interface IMGetGroupUserByIdListRspModel {
userList?: Array; // 消息组id
}
export interface IMGroupUserDetailModel {
userId?: string; // 用户id
userNick?: string; // 用户昵称
userAvatar?: string; // 用户头像
userExtension?: string; // 用户扩展信息
isMute?: boolean; // 用户的加入时间
muteBy?: Array; // 被禁言的原因["group","user"]
}
export interface IMGetGroupUserByIdListReqModel {
groupId?: string; // 消息组id
userIdList?: Array; // 用户昵称
}
export interface IMSendMessageToGroupRspModel {
messageId?: string; // 消息唯一ID标识
}
export interface IMSendMessageToGroupReqModel {
groupId?: string; // 话题id,聊天插件实例id
type?: number; // 消息类型,小于等于10000位系统消息,大于10000位自定义消息
data?: string; // 消息体
skipMuteCheck?: boolean; // 跳过禁言检测,true: 忽略被禁言用户,还可发消息;false: 当被禁言时,消息无法发送,默认为false,即为不跳过禁言检测。
skipAudit?: boolean; // 跳过安全审核,true: 发送的消息不经过阿里云安全审核服务审核;false:发送的消息经过阿里云安全审核服务审核,审核失败则不发送;
level?: number; // 消息分级:0-普通;1-低优先级; 2-高优先级
}
export interface IMSendMessageToGroupUsersRspModel {
messageId?: string; // 消息唯一ID标识
}
export interface IMSendMessageToGroupUsersReqModel {
groupId?: string; // 话题id,聊天插件实例id
type?: number; // 话题id,聊天插件实例id
data?: string; // 消息体
receiverIdList?: Array; // 接收者用户ID列表,最大100人
// 若 skipMuteCheck 为 true,该消息不会保存,无法从 listMessage 接口得到
skipMuteCheck?: boolean; // 跳过禁言检测,true: 忽略被禁言用户,还可发消息;false: 当被禁言时,消息无法发送,默认为false,即为不跳过禁言检测。
skipAudit?: boolean; // 跳过安全审核,true: 发送的消息不经过阿里云安全审核服务审核;false:发送的消息经过阿里云安全审核服务审核,审核失败则不发送;
level?: number; // 消息分级:0-普通;1-低优先级; 2-高优先级
messageId?: string; // 消息Id, 用于重传消息时指定
}
export interface IMListMessageRspModel {
messageList?: Array; // 返回的消息组历史消息列表
hasMore?: boolean; // 是否还剩数据
}
export interface IMMessageModel {
groupId?: string; // 话题id,聊天插件实例id
messageId?: string; // 消息id
type?: number; // 消息类型。系统消息小于10000
senderId?: string; // 发送者id
data?: string; // 消息内容,为xxDataModel转为字符串而来
senderInfo?: string; // 发送者信息 (弃用, 必须为空)
level?: number; // 消息分级:0-普通;1-低优先级; 2-高优先级
userInfo?: IMUserModel; // 发送者信息
}
export interface IMUserModel {
userId?: string; // 用户id
userNick?: string; // 用户昵称
userAvatar?: string; // 用户头像
userExtension?: string; // 用户扩展信息
}
export interface IMListMessageReqModel {
groupId?: string; // 话题id, 聊天插件实例id
sortType?: number; // 排序方式,0-时间递增顺序,1-时间递减顺序
type?: number; // 消息类型,与 sendMessageToGroup 所传的 type 一致
pageNum?: number; // 分页拉取的索引下标,第一次调用传1,后续调用+1
pageSize?: number; // 分页拉取的大小,默认50条,最大200条
}
export interface IMSendLikeRspModel {
intervalSecond?: number; // 服务端限流发送弹幕间隔,单位为秒
likeCount?: number; // 点赞总数
}
export interface IMSendLikeReqModel {
groupId?: string; // 话题id, 聊天插件实例id
count?: number; // 点赞数
broadCastType?: number; // 系统消息扩散类型,0: 不扩散;1:扩散到指定人; 2:扩散到群组
}
export interface IMMuteAllRspModel {
}
export interface IMMuteAllReqModel {
groupId?: string; // 话题id,聊天插件实例id
broadCastType?: number; // 系统消息扩散类型,0: 不扩散;1:扩散到指定人; 2:扩散到群组
}
export interface IMCancelMuteAllRspModel {
}
export interface IMCancelMuteAllReqModel {
groupId?: string; // 话题id,聊天插件实例id
broadCastType?: number; // 系统消息扩散类型,0: 不扩散;1:扩散到指定人; 2:扩散到群组
}
export interface IMMuteUserRspModel {
}
export interface IMMuteUserReqModel {
groupId?: string; // 话题id, 聊天插件实例id
muteUserList?: Array; // 需要禁言的用户列表,最大200个
muteTime?: number; // 禁言的时间,单位为s,如果不传或者传0则采用默认禁言时间
broadCastType?: number; // 系统消息扩散类型,0: 不扩散;1:扩散到指定人; 2:扩散到群组
}
export interface IMCancelMuteUserRspModel {
}
export interface IMCancelMuteUserReqModel {
groupId?: string; // 话题id, 聊天插件实例id
cancelMuteUserList?: Array; // 被取消禁言的用户列表,最大200个
broadCastType?: number; // 系统消息扩散类型,0: 不扩散;1:扩散到指定人; 2:扩散到群组
}
export interface IMListMuteUsersRspModel {
muteUserModelList?: Array; // 禁言用户列表
}
export interface IMMuteUserModel {
userId?: string; // 禁言的用户id
}
export interface IMListMuteUsersReqModel {
groupId?: string; // 话题id, 聊天插件实例id
}
declare class Emitter {
/**
export declare class InteractionEngine extends Emitter {
/**
@return {InteractionEngine}
*/
static create(): InteractionEngine;
/**
@return {string} deviceId
*/
static getDeviceId(): string;
/**
@return {Promise}
*/
auth(base64token: string): Promise;
/**
退出登录
*/
logout(): Promise;
/**
@return {Promise}
*/
createGroup(options?: IMCreateGroupReqModel): Promise;
/**
@return {Promise}
*/
getGroup(options: IMGetGroupReqModel): Promise;
/**
@return {Promise}
*/
closeGroup(options: IMCloseGroupReqModel): Promise;
/**
@return {Promise}
*/
joinGroup(options: IMJoinGroupReqModel): Promise;
/**
@return {Promise}
*/
leaveGroup(options: IMLeaveGroupReqModel): Promise;
/**
@return {Promise}
*/
listGroupUser(options: IMListGroupUserReqModel): Promise;
/**
@return {Promise}
*/
sendMessageToGroup(options: IMSendMessageToGroupReqModel): Promise;
/**
@return {Promise}
*/
sendMessageToGroupUsers(options: IMSendMessageToGroupUsersReqModel): Promise;
/**
@return {Promise}
*/
sendLike(options: IMSendLikeReqModel): Promise;
/**
@return {Promise}
*/
listMessage(options: IMListMessageReqModel): Promise;
/**
@return {Promise}
*/
getGroupStatistics(options: IMGetGroupStatisticsReqModel): Promise;
/**
@return {Promise}
*/
getGroupUserByIdList(options: IMGetGroupUserByIdListReqModel): Promise;
/**
@return {Promise}
*/
muteAll(options: IMMuteAllReqModel): Promise;
/**
@return {Promise}
*/
cancelMuteAll(options: IMCancelMuteAllReqModel): Promise;
/**
@return {Promise}
*/
muteUser(options: IMMuteUserReqModel): Promise;
/**
@return {Promise}
*/
cancelMuteUser(options: IMCancelMuteUserReqModel): Promise;
/**
export enum InteractionEventNames {
Message = 'message',
}
export enum InteractionMessageTypes {
PaaSLikeInfo = 1001, // 点赞数据
PaaSUserJoin = 1002, // 用户进入消息组
PaaSUserLeave = 1003, // 用户离开消息组
PaaSMuteGroup = 1004, // 禁言消息组
PaaSCancelMuteGroup = 1005, // 取消禁言消息组
PaaSMuteUser = 1006, // 禁言消息组某个用户
PaaSCancelMuteUser = 1007, // 取消禁言消息组某个用户
}注意,因为客户传了,
这样的消息不会进行存储,因此查不到。此回答整理自钉群“AUI客户支持群”
如果退出直播间再重新进入时无法看到之前的评论消息,可能是由于未保存评论消息或未正确获取历史评论消息导致的。
为了支持看之前的评论消息,需要在发送评论消息时将评论消息保存到服务器或本地存储中,并在重新进入直播间时获取历史评论消息并展示。
要支持查看之前的评论,您需要在AUI中实现存储和检索评论的功能。下面是一些实现此功能的一般步骤:
数据库设计:首先,您需要设计一个用于存储评论的数据库表结构。该表可以包含评论内容、评论者信息、时间戳等字段。
存储评论:当用户发表评论时,将评论的相关信息保存到数据库中。您可以使用数据库操作语言(如SQL)或适配器来执行插入数据的操作。
检索评论:为了查看之前的评论,您需要编写一个查询语句,从数据库中检索出相应的评论记录。根据需求,您可以检索所有评论或者基于某个条件(例如帖子ID或时间范围)进行筛选。
显示评论:获取评论数据后,您可以使用对应的界面元素(如列表、卡片等)来展示评论。根据您的应用场景,可以选择合适的方式显示评论内容和相关信息。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。