Commit 7a9ce324 by tanghuan

增加分享小程序指令

1 parent 21a37bfd
...@@ -24,6 +24,7 @@ import 'package:appframe/data/repositories/message/role_info_handler.dart'; ...@@ -24,6 +24,7 @@ import 'package:appframe/data/repositories/message/role_info_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_handler.dart';
import 'package:appframe/data/repositories/message/share_to_wx_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';
...@@ -71,6 +72,9 @@ Future<void> setupLocator() async { ...@@ -71,6 +72,9 @@ Future<void> setupLocator() async {
/// 打开小程序 /// 打开小程序
getIt.registerLazySingleton<MessageHandler>(() => OpenWeappHandler(), instanceName: 'openWeapp'); getIt.registerLazySingleton<MessageHandler>(() => OpenWeappHandler(), instanceName: 'openWeapp');
/// 分享微信小程序卡片
getIt.registerLazySingleton<MessageHandler>(() => ShareHandler(), instanceName: 'share');
/// 分享微信会话 /// 分享微信会话
getIt.registerLazySingleton<MessageHandler>(() => ShareToWxHandler(), instanceName: 'sharetowx'); getIt.registerLazySingleton<MessageHandler>(() => ShareToWxHandler(), instanceName: 'sharetowx');
......
import 'package:appframe/config/locator.dart';
import 'package:appframe/services/dispatcher.dart';
import 'package:fluwx/fluwx.dart';
class ShareHandler extends MessageHandler {
@override
Future<bool> handleMessage(params) async {
if (params is! Map<String, dynamic>) {
throw Exception('参数错误');
}
var weapp = params['weapp'] as Map<String, dynamic>?;
try {
Fluwx fluwx = getIt.get<Fluwx>();
return await fluwx.share(WeChatShareMiniProgramModel(
title: weapp?['title'] as String,
webPageUrl: weapp?['imageUrl'] as String,
path: weapp?['path'] as String,
userName: weapp?['appid'] as String,
miniProgramType: _getWXMiniProgramType(weapp?['envVersion'] as String?),
));
} catch (e) {
print(e);
return false;
}
}
WXMiniProgramType _getWXMiniProgramType(String? envVersion) {
switch (envVersion) {
case 'release':
return WXMiniProgramType.release;
case 'trial':
return WXMiniProgramType.preview;
case 'develop':
return WXMiniProgramType.test;
default:
return WXMiniProgramType.preview;
}
}
}
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!