开发者社区> 问答> 正文

AUI这个怎么才能支持看之前的评论呢?

web端调用这个sdk实现直播间评论消息 ,但是退出之后再进来就看不见之前的聊天了,AUI这个怎么才能支持看之前的评论呢?https://g.alicdn.com/video-cloud-fe/aliyun-interaction-sdk/1.0.3/aliyun-interaction-sdk.web.min.js

展开
收起
三分钟热度的鱼 2023-07-26 12:02:56 42 0
来自:阿里云CDN
3 条回答
写回答
取消 提交回答
  • 可以使用 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 {
    /**

    • 事件监听
    • @param {string} eventName
    • @param {} eventHandler /
      on(eventName: string, eventHandler: Function): void;
      /**
    • 取消事件监听
    • @param {string} eventName
    • @param {} [eventHandler] /
      remove(eventName: string, eventHandler?: Function): void;
      /**
    • 移除所有事件监听
      */
      removeAllEvents(): void;
      }

    export declare class InteractionEngine extends Emitter {
    /**

    • 创建实例
    • @return {InteractionEngine}
      */
      static create(): InteractionEngine;

      /**

    • 获取deviceId
    • @return {string} deviceId
      */
      static getDeviceId(): string;

      /**

    • 对外登录认证接口
      *
    • @param {string} base64token
    • @return {Promise}
      */
      auth(base64token: string): Promise;

      /**

    • 退出登录
      */
      logout(): Promise;

      /**

    • 创建聊天组
    • @param {IMCreateGroupReqModel} [options]
    • @return {Promise}
      */
      createGroup(options?: IMCreateGroupReqModel): Promise;

      /**

    • 获取聊天组
    • @param {IMGetGroupReqModel} options
    • @return {Promise}
      */
      getGroup(options: IMGetGroupReqModel): Promise;

      /**

    • 关闭聊天组
    • @param {IMCloseGroupReqModel} options
    • @return {Promise}
      */
      closeGroup(options: IMCloseGroupReqModel): Promise;

      /**

    • 加入聊天组
    • @param {IMJoinGroupReqModel} options
    • @return {Promise}
      */
      joinGroup(options: IMJoinGroupReqModel): Promise;

      /**

    • 离开聊天组方法
      *
    • @param {IMLeaveGroupReqModel} options
    • @return {Promise}
      */
      leaveGroup(options: IMLeaveGroupReqModel): Promise;

      /**

    • 加入聊天组
    • @param {IMListGroupUserReqModel} options
    • @return {Promise}
      */
      listGroupUser(options: IMListGroupUserReqModel): Promise;

      /**

    • 广播群组消息
    • @param {IMSendMessageToGroupReqModel} options
    • @return {Promise}
      */
      sendMessageToGroup(options: IMSendMessageToGroupReqModel): Promise;

      /**

    • 发送点对点消息
    • @param {IMSendMessageToGroupUsersReqModel} options
    • @return {Promise}
      */
      sendMessageToGroupUsers(options: IMSendMessageToGroupUsersReqModel): Promise;

      /**

    • 点赞方法
    • @param {IMSendLikeReqModel} options
    • @return {Promise}
      */
      sendLike(options: IMSendLikeReqModel): Promise;

      /**

    • 获取消息列表接口
    • @param {IMListMessageReqModel} options
    • @return {Promise}
      */
      listMessage(options: IMListMessageReqModel): Promise;

      /**

    • 获取IM组统计数据
    • @param {IMGetGroupStatisticsReqModel} options
    • @return {Promise}
      */
      getGroupStatistics(options: IMGetGroupStatisticsReqModel): Promise;

      /**

    • 取组成员信息,包含是否被禁言
    • @param {IMGetGroupUserByIdListReqModel} options
    • @return {Promise}
      */
      getGroupUserByIdList(options: IMGetGroupUserByIdListReqModel): Promise;

      /**

    • 全体禁言
    • @param {IMMuteAllReqModel} options
    • @return {Promise}
      */
      muteAll(options: IMMuteAllReqModel): Promise;

      /**

    • 取消全体禁言
    • @param {IMCancelMuteAllReqModel} options
    • @return {Promise}
      */
      cancelMuteAll(options: IMCancelMuteAllReqModel): Promise;

      /**

    • 禁言某些用户
    • @param {IMMuteUserReqModel} options
    • @return {Promise}
      */
      muteUser(options: IMMuteUserReqModel): Promise;

      /**

    • 取消禁言某些用户
    • @param {IMCancelMuteUserReqModel} options
    • @return {Promise}
      */
      cancelMuteUser(options: IMCancelMuteUserReqModel): Promise;

      /**

    • 获取禁言的用户列表
    • @param {IMListMuteUsersReqModel} options
    • @return {Promise}
      */
      listMuteUsers(options: IMListMuteUsersReqModel): Promise;
      }

    export enum InteractionEventNames {
    Message = 'message',
    }

    export enum InteractionMessageTypes {
    PaaSLikeInfo = 1001, // 点赞数据
    PaaSUserJoin = 1002, // 用户进入消息组
    PaaSUserLeave = 1003, // 用户离开消息组
    PaaSMuteGroup = 1004, // 禁言消息组
    PaaSCancelMuteGroup = 1005, // 取消禁言消息组
    PaaSMuteUser = 1006, // 禁言消息组某个用户
    PaaSCancelMuteUser = 1007, // 取消禁言消息组某个用户
    }注意,因为客户传了,15f59baa6a9bdb090f619a2466c0d3a2.png
    这样的消息不会进行存储,因此查不到。此回答整理自钉群“AUI客户支持群”

    2023-07-28 16:02:49
    赞同 展开评论 打赏
  • 北京阿里云ACE会长

    如果退出直播间再重新进入时无法看到之前的评论消息,可能是由于未保存评论消息或未正确获取历史评论消息导致的。
    为了支持看之前的评论消息,需要在发送评论消息时将评论消息保存到服务器或本地存储中,并在重新进入直播间时获取历史评论消息并展示。

    2023-07-26 21:24:42
    赞同 展开评论 打赏
  • 要支持查看之前的评论,您需要在AUI中实现存储和检索评论的功能。下面是一些实现此功能的一般步骤:

    1. 数据库设计:首先,您需要设计一个用于存储评论的数据库表结构。该表可以包含评论内容、评论者信息、时间戳等字段。

    2. 存储评论:当用户发表评论时,将评论的相关信息保存到数据库中。您可以使用数据库操作语言(如SQL)或适配器来执行插入数据的操作。

    3. 检索评论:为了查看之前的评论,您需要编写一个查询语句,从数据库中检索出相应的评论记录。根据需求,您可以检索所有评论或者基于某个条件(例如帖子ID或时间范围)进行筛选。

    4. 显示评论:获取评论数据后,您可以使用对应的界面元素(如列表、卡片等)来展示评论。根据您的应用场景,可以选择合适的方式显示评论内容和相关信息。

    2023-07-26 12:52:13
    赞同 展开评论 打赏
问答分类:
问答地址:
来源圈子
更多
收录在圈子:
+ 订阅
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载