From 81fa15021e90653dc0440a2dc3e1cee207d6df03 Mon Sep 17 00:00:00 2001 From: thinkerr24 Date: Tue, 5 Aug 2025 08:21:05 +0800 Subject: [PATCH] add para --- .../com/example/include_jar/MainActivity.kt | 23 ++++++++++--------- lib/main.dart | 3 ++- lib/native_uuid_generator.dart | 18 ++++----------- 3 files changed, 19 insertions(+), 25 deletions(-) diff --git a/android/app/src/main/kotlin/com/example/include_jar/MainActivity.kt b/android/app/src/main/kotlin/com/example/include_jar/MainActivity.kt index 49ec3de..4171998 100644 --- a/android/app/src/main/kotlin/com/example/include_jar/MainActivity.kt +++ b/android/app/src/main/kotlin/com/example/include_jar/MainActivity.kt @@ -5,21 +5,22 @@ import io.flutter.embedding.engine.FlutterEngine import io.flutter.plugin.common.MethodChannel class MainActivity : FlutterActivity() { - private val CHANNEL = "com.example/native_utils" - private val uuidGenerator = Generators.randomBasedGenerator() + private val CHANNEL = "com.example/uuid_generator" override fun configureFlutterEngine(flutterEngine: FlutterEngine) { - super.configureFlutterEngine(flutterEngine) - MethodChannel(flutterEngine.dartExecutor.binaryMessenger, CHANNEL).setMethodCallHandler { call, result -> when (call.method) { - "generateRandomUUID" -> { - try { - val uuid = uuidGenerator.generate() - result.success(uuid.toString()) - } catch (e: Exception) { - result.error("UUID_ERROR", e.message, null) - } + "generateStandardUUID" -> { + result.success(Generators.randomBasedGenerator().generate().toString()) + } + "generateShortUUID" -> { + val length = call.argument("length") ?: 8 + val uuid = Generators.randomBasedGenerator() + .generate() + .toString() + .replace("-", "") + .substring(0, length.coerceIn(1, 32)) + result.success(uuid) } else -> result.notImplemented() } diff --git a/lib/main.dart b/lib/main.dart index 94adec6..777402f 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -115,7 +115,8 @@ class _MyHomePageState extends State { ), floatingActionButton: FloatingActionButton( onPressed: () async { - final uuid = await NativeUuidGenerator.generateRandomUUID(); + int len = 7; + final uuid = await NativeUuidGenerator.generateShortUUID(length: len); setState(() { _counter = uuid; }); diff --git a/lib/native_uuid_generator.dart b/lib/native_uuid_generator.dart index 37808d7..8e81dda 100644 --- a/lib/native_uuid_generator.dart +++ b/lib/native_uuid_generator.dart @@ -2,22 +2,14 @@ import 'package:flutter/services.dart'; class NativeUuidGenerator { static const MethodChannel _channel = - MethodChannel('com.example/native_utils'); + MethodChannel('com.example/uuid_generator'); - static Future generateRandomUUID() async { - try { - return await _channel.invokeMethod('generateRandomUUID'); - } on PlatformException catch (e) { - throw Exception("Failed to generate UUID: ${e.message}"); - } + static Future generateStandardUUID() async { + return await _channel.invokeMethod('generateStandardUUID'); } - static Future generateTimeBasedUUID() async { - try { - return await _channel.invokeMethod('generateTimeBasedUUID'); - } on PlatformException catch (e) { - throw Exception("Failed to generate UUID: ${e.message}"); - } + static Future generateShortUUID({int length = 8}) async { + return await _channel.invokeMethod('generateShortUUID', {'length': length}); } }