Commit 97ac92bf by tanghuan

增加分享到微信会话的接口

1 parent a6391c5a
...@@ -346,6 +346,7 @@ class WebCubit extends Cubit<WebState> { ...@@ -346,6 +346,7 @@ class WebCubit extends Cubit<WebState> {
'classCode=${state.classCode}&' 'classCode=${state.classCode}&'
'userType=${state.userType}&' 'userType=${state.userType}&'
'stuId=${state.stuId}'; 'stuId=${state.stuId}';
// final String serverUrl = '${Constant.localServerUrl}/test/test2.html';
_controller.loadRequest(Uri.parse(serverUrl)); _controller.loadRequest(Uri.parse(serverUrl));
} }
......
...@@ -22,6 +22,7 @@ import 'package:appframe/data/repositories/message/orientation_handler.dart'; ...@@ -22,6 +22,7 @@ import 'package:appframe/data/repositories/message/orientation_handler.dart';
import 'package:appframe/data/repositories/message/save_file_to_disk_handler.dart'; import 'package:appframe/data/repositories/message/save_file_to_disk_handler.dart';
import 'package:appframe/data/repositories/message/save_to_album_handler.dart'; import 'package:appframe/data/repositories/message/save_to_album_handler.dart';
import 'package:appframe/data/repositories/message/scan_code_handler.dart'; import 'package:appframe/data/repositories/message/scan_code_handler.dart';
import 'package:appframe/data/repositories/message/share_to_wx_handler.dart';
import 'package:appframe/data/repositories/message/storage_handler.dart'; import 'package:appframe/data/repositories/message/storage_handler.dart';
import 'package:appframe/data/repositories/message/title_bar_handler.dart'; import 'package:appframe/data/repositories/message/title_bar_handler.dart';
import 'package:appframe/data/repositories/message/upload_file.dart'; import 'package:appframe/data/repositories/message/upload_file.dart';
...@@ -67,6 +68,9 @@ Future<void> setupLocator() async { ...@@ -67,6 +68,9 @@ Future<void> setupLocator() async {
/// 打开小程序 /// 打开小程序
getIt.registerLazySingleton<MessageHandler>(() => OpenWeappHandler(), instanceName: 'openWeapp'); getIt.registerLazySingleton<MessageHandler>(() => OpenWeappHandler(), instanceName: 'openWeapp');
/// 分享微信会话
getIt.registerLazySingleton<MessageHandler>(() => ShareToWxHandler(), instanceName: 'sharetowx');
/// 设备信息 /// 设备信息
getIt.registerLazySingleton<MessageHandler>(() => DeviceInfoHandler(), instanceName: 'getDeviceInfo'); getIt.registerLazySingleton<MessageHandler>(() => DeviceInfoHandler(), instanceName: 'getDeviceInfo');
...@@ -169,7 +173,6 @@ Future<void> setupLocator() async { ...@@ -169,7 +173,6 @@ Future<void> setupLocator() async {
getIt.registerLazySingleton<MessageHandler>(() => DownloadFileHandler(), instanceName: 'downloadFile'); getIt.registerLazySingleton<MessageHandler>(() => DownloadFileHandler(), instanceName: 'downloadFile');
/// 设置标题和返回按钮 /// 设置标题和返回按钮
// getIt.registerLazySingleton<MessageHandler>(() => SetTitleHandler(), instanceName: 'setTitle');
getIt.registerLazySingleton<MessageHandler>(() => TitleBarHandler(), instanceName: 'setTitlebar'); getIt.registerLazySingleton<MessageHandler>(() => TitleBarHandler(), instanceName: 'setTitlebar');
/// 新路由打开链接 /// 新路由打开链接
......
// import 'package:appframe/bloc/web_cubit.dart';
// import 'package:appframe/services/dispatcher.dart';
//
// class SetTitleHandler extends MessageHandler {
// late WebCubit? _webCubit;
//
// @override
// void setCubit(WebCubit cubit) {
// this._webCubit = cubit;
// }
//
// void _unfollowCubit() {
// this._webCubit = null;
// }
//
// @override
// Future<dynamic> handleMessage(params) async {
// try {
// if (params is! Map<String, dynamic>) {
// throw Exception('参数错误');
// }
//
// final String title = params['title'] as String;
// final bool showBack = params['showBack'] as bool;
//
// return _webCubit!.setTitle(title, showBack);
// } finally {
// _unfollowCubit();
// }
// }
// }
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;
}
}
}
...@@ -29,7 +29,7 @@ class PlayerService { ...@@ -29,7 +29,7 @@ class PlayerService {
try { try {
final player = FlutterSoundPlayer(); final player = FlutterSoundPlayer();
_player = (await player.openPlayer())!; _player = (await player.openPlayer())!;
_player!.setSpeed(1); // 播放速度,默认1 await _player!.setSpeed(1); // 播放速度,默认1
// 播放进度回调 // 播放进度回调
_player!.setSubscriptionDuration(Duration(seconds: 1)); _player!.setSubscriptionDuration(Duration(seconds: 1));
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!