share_to_wx_handler.dart
913 Bytes
import 'package:appframe/config/locator.dart';
import 'package:appframe/services/dispatcher.dart';
import 'package:fluwx/fluwx.dart';
class ShareToWxHandler extends MessageHandler {
@override
Future<bool> handleMessage(params) async {
if (params is! Map<String, dynamic>) {
throw Exception('参数错误');
}
String text = params['text'] as String? ?? '';
String fileUrl = params['fileUrl'] as String? ?? '';
String fileName = params['fileName'] as String? ?? '';
try {
Fluwx fluwx = getIt.get<Fluwx>();
if (text.isNotEmpty) {
return await fluwx.share(WeChatShareTextModel(text));
} else if (fileUrl.isNotEmpty && fileName.isNotEmpty) {
return await fluwx.share(WeChatShareFileModel(WeChatFile.network(fileUrl), title: fileName));
} else {
return false;
}
} catch (e) {
print(e);
return false;
}
}
}