Чтобы получить идентификатор группы WhatsApp во Flutter, вы можете попробовать следующие методы:
Метод 1: использование средства запуска Flutter URL
import 'package:flutter/material.dart';
import 'package:url_launcher/url_launcher.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
final String groupUrl = "https://chat.whatsapp.com/ABCDEF123456";
void getGroupId() async {
if (await canLaunch(groupUrl)) {
final RegExp regExp = RegExp(
r"(?:https?:\/\/chat\.whatsapp\.com\/(?:invite\/)?)([\w-]+)",
caseSensitive: false,
multiLine: false,
);
final Match match = regExp.firstMatch(groupUrl);
if (match != null && match.groupCount >= 1) {
final String groupId = match.group(1);
print(groupId);
}
}
}
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: Text('WhatsApp Group ID'),
),
body: Center(
child: ElevatedButton(
child: Text('Get Group ID'),
onPressed: getGroupId,
),
),
),
);
}
}
Метод 2: использование Flutter WebView
import 'package:flutter/material.dart';
import 'package:webview_flutter/webview_flutter.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
final String groupUrl = "https://chat.whatsapp.com/ABCDEF123456";
void getGroupId(WebViewController controller) async {
final String groupId = await controller.evaluateJavascript(
'document.getElementsByClassName("copyable-text")[0].getAttribute("data-pre-plain-text").split("] ")[1]');
print(groupId);
}
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: Text('WhatsApp Group ID'),
),
body: WebView(
initialUrl: groupUrl,
javascriptMode: JavascriptMode.unrestricted,
onWebViewCreated: (WebViewController controller) {
getGroupId(controller);
},
),
),
);
}
}
Эти два метода демонстрируют, как извлечь идентификатор группы WhatsApp во Flutter. Метод 1 использует пакет Flutter URL Launcher для запуска URL-адреса группы и извлечения идентификатора группы с помощью регулярного выражения. Метод 2 использует пакет Flutter WebView для загрузки URL-адреса группы и извлечения идентификатора группы с помощью оценки JavaScript.