getOnlineMetaCache method

Future<Map<String, dynamic>> getOnlineMetaCache(
  1. String classId
)

读取在线模式下缓存的 metadata 数据

缓存文件为 playback_cache/{safeId}-online-meta-cache.json, 内容为 metadata 接口 data['data'] 的原始 JSON。 返回空 Map 表示无缓存或读取失败。

Implementation

Future<Map<String, dynamic>> getOnlineMetaCache(String classId) async {
  classId = _trimClassId(classId);
  if (classId.isEmpty) return {};
  try {
    final cacheDir = await _ensureCacheDir();
    final safeId = _safeId(classId);
    final cacheFile = File(
      p.join(cacheDir.path, '$safeId-online-meta-cache.json'),
    );
    if (!await cacheFile.exists()) return {};
    final content = await cacheFile.readAsString();
    if (content.isEmpty) return {};
    final decoded = jsonDecode(content);
    if (decoded is Map<String, dynamic>) return decoded;
    return {};
  } catch (e) {
    TCICLog.error(
      '[PlayBackController] getOnlineMetaCache error classId=$classId: $e',
      actionModule: ActionModule.playBackController.name,
      actionName: 'getOnlineMetaCache',
    );
    return {};
  }
}