getOnlineMetaCache method
读取在线模式下缓存的 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 {};
}
}