|
|
@@ -7,6 +7,7 @@ import 'package:keyboard/data/repository/characters_repository.dart';
|
|
|
import 'package:keyboard/data/repository/chat_repository.dart';
|
|
|
import 'package:keyboard/data/repository/keyboard_repository.dart';
|
|
|
import 'package:keyboard/utils/atmob_log.dart';
|
|
|
+import 'package:get/get.dart';
|
|
|
|
|
|
import '../data/api/response/chat_prologue_response.dart';
|
|
|
import '../data/api/response/chat_super_speak_response.dart';
|
|
|
@@ -59,6 +60,8 @@ class KeyboardMethodHandler {
|
|
|
return _handleChatSuperSpeak(call);
|
|
|
case 'chatPrologue':
|
|
|
return _handleChatPrologue(call);
|
|
|
+ case 'jumpAppPage':
|
|
|
+ return _handleJumpAppPage(call);
|
|
|
|
|
|
default:
|
|
|
throw MissingPluginException('Not implemented: ${call.method}');
|
|
|
@@ -198,4 +201,33 @@ class KeyboardMethodHandler {
|
|
|
return '{}';
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ Future<String> _handleJumpAppPage(MethodCall call) async {
|
|
|
+ try {
|
|
|
+ final String path = call.arguments['path'];
|
|
|
+ final dynamic args = call.arguments['args'];
|
|
|
+
|
|
|
+ Map<String, dynamic> parsedArgs = {};
|
|
|
+ if (args is String && args.isNotEmpty) {
|
|
|
+ try {
|
|
|
+ parsedArgs = Map<String, dynamic>.from(json.decode(args));
|
|
|
+ } catch (e) {
|
|
|
+
|
|
|
+ return '{}';
|
|
|
+ }
|
|
|
+ } else if (args is Map) {
|
|
|
+ parsedArgs = Map<String, dynamic>.from(args);
|
|
|
+ }
|
|
|
+ Get.toNamed(
|
|
|
+ path,
|
|
|
+ parameters: parsedArgs.map((k, v) => MapEntry(k, v.toString())),
|
|
|
+ );
|
|
|
+
|
|
|
+ return '{}';
|
|
|
+ } catch (e) {
|
|
|
+ print("跳转失败: $e");
|
|
|
+
|
|
|
+ return '{}';
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|