useDocument method
Implementation
useDocument(DocumentInfo doc) async {
final classInfo = await TCICController.instance.getClassInfo();
final videoExtRegExp = RegExp(
r'^(mp4|3gp|mpg|mpeg|3g2|avi|flv|wmv|h264|m4v|mj2|mov|ogg|ogv|rm|qt|vob|webm|f4v|rmvb)$',
caseSensitive: false, // 忽略大小写
);
final audioExtRegExp = RegExp(
r'^(mp3|wav|wma|aac|flac|m4a|oga|opus|MP3|WAV|WMA|AAC|FLAC|M4A|OGA|OPUS)$',
caseSensitive: false, // 忽略大小写
);
// 图片文件扩展名正则表达式(区分大小写,末尾匹配)
final imageExtRegExp = RegExp(
r'^(bmp|jpg|jpeg|png|gif|webp|svg)$',
caseSensitive: false, // 忽略大小写
);
final docType = doc.docType;
if (imageExtRegExp.hasMatch(docType)) {
TCICWhiteBoardController.addImagesFile(
urls: [doc.docUrl],
title: doc.docName,
needSwitch: true,
);
} else if (videoExtRegExp.hasMatch(docType)) {
TCICWhiteBoardController.addVideoFile(
url: doc.docUrl,
title: doc.docName,
needSwitch: true,
);
} else if (audioExtRegExp.hasMatch(docType)) {
await TCICWhiteBoardController.addElement(
5,
Uri.decodeFull(doc.transcodeResult),
{"title": doc.docName},
);
} else if (doc.transcodeType == 1) {
TCICWhiteBoardController.addTranscodeFile(
title: doc.docName,
url: doc.transcodeResult,
pages: doc.pages,
resolution: '${doc.width}x${doc.height}',
);
}
await _repostory.bindDocumentToClass(
BindDocumentParams(classId: classInfo!.classId, docId: doc.docId),
);
}