Flutter

其他

更新时间: 2024/03/07 11:14:43

其他

获取 SDK 缓存文件大小

计算 SDK 缓存文件的大小,例如收发图片消息的缩略图,语音消息录音文件等等。 仅 Android, Windows 和 macOS 可用

  • API 原型
dartclass SettingsService {
  ///
  /// 计算 SDK 缓存文件的大小,例如收发图片消息的缩略图,语音消息录音文件等等。*Android可用*
  ///
  /// [fileTypes] 文件类型列表(Windows和macOS暂支持列表中的第一个) <br>
  /// [startTime] 开始时间,毫秒,若设置为0 表示不限起始时间(Windows 和 macOS 暂不支持) <br>
  /// [endTime] 结束时间,毫秒,若设置为0 表示不限结束时间 <br>
  ///
  Future<NIMResult<int>> getSizeOfDirCache(
      List<NIMDirCacheFileType> fileTypes, int startTime, int endTime);
}
  • 使用示例
dartNimCore.instance.settingsService.getSizeOfDirCache(
    [NIMDirCacheFileType.audio, NIMDirCacheFileType.video], 0, 0
).then((size) => print('cache size: $size'));

删除 SDK 本地缓存

删除 SDK 指定类型的缓存文件,例如收发图片消息的缩略图,语音消息录音文件等等。仅 Android 可用

  • API 原型
dartclass SettingsService {
  ///
  /// 删除 SDK 指定类型的缓存文件,例如收发图片消息的缩略图,语音消息录音文件等等。*Android可用*
  ///
  /// [fileTypes] 文件类型列表(Windows和macOS暂支持列表中的第一个) <br>
  /// [startTime] 开始时间,毫秒,若设置为0 表示不限起始时间(Windows 和 macOS 暂不支持) <br>
  /// [endTime] 结束时间,毫秒,若设置为0 表示不限结束时间 <br>
  ///
  Future<NIMResult<void>> clearDirCache(
      List<NIMDirCacheFileType> fileTypes, int startTime, int endTime);
}
  • 使用示例
dartNimCore.instance.settingsService.clearDirCache(
    [NIMDirCacheFileType.audio, NIMDirCacheFileType.video], 0, 0
).then(() => print('clear dir cache'));

日志文件压缩

将日志文件以 zip 格式压缩,返回指定 zip 文件的路径。(Windows 和 macOS 暂不支持)

  • API 原型
dartclass SettingsService {
  /// 打包日志文件,并返回文件路径
  Future<NIMResult<String>> archiveLogs();
}
  • 使用示例
dartNimCore.instance.settingsService.archiveLogs()
.then((path) => print('log path: $path'));

主动上传日志消息

  • API 原型
dartclass SettingsService {
  /// 打包日志文件并上传
  /// 返回日志文件的 url 地址(Windows 和 macOS 暂不支持)
  ///
  /// [chatroomId] 聊天室ID 如果没有(Windows 和 macOS 暂不支持) <br>
  /// [comment] 日志评论, 可选, 最长4096字符 <br>
  /// [partial] true:上传全部/ false: 上传全部。 **仅 Android 可用**
  ///
  Future<NIMResult<String>> uploadLogs({
    String? chatroomId,
    String? comment,
    bool partial = true,
  });
}
  • 参数说明
参数 说明
chatroomId 聊天室 ID 如果没有,填""
comment 日志评论, 可选, 最长 4096 字符
partial true: 上传部分; false: 上传全部 仅 Android 可用
  • 示例
dartNimCore.instance.settingsService.uploadLogs(
    comment: 'comment message'
).then((url) => print('log url: $url'));
此文档是否对你有帮助?
有帮助
去反馈
  • 获取 SDK 缓存文件大小
  • 删除 SDK 本地缓存
  • 日志文件压缩
  • 主动上传日志消息