Browse Source

优化

dev-2.0
王子贤 4 weeks ago
parent
commit
6fdd4ed6e8
3 changed files with 39 additions and 5 deletions
  1. 10
      android/gradle.properties
  2. 33
      lib/controller/discover/room_controller.dart
  3. 1
      pubspec.yaml

10
android/gradle.properties

@ -2,8 +2,8 @@ org.gradle.jvmargs=-Xmx8G -XX:MaxMetaspaceSize=4G -XX:ReservedCodeCacheSize=512m
android.useAndroidX=true
android.enableJetifier=true
org.gradle.java.home=D:/jdk-17.0.11
systemProp.http.proxyHost=127.0.0.1
systemProp.http.proxyPort=10810
systemProp.https.proxyHost=127.0.0.1
systemProp.https.proxyPort=10810
#org.gradle.java.home=D:/jdk-17.0.11
#systemProp.http.proxyHost=127.0.0.1
#systemProp.http.proxyPort=10810
#systemProp.https.proxyHost=127.0.0.1
#systemProp.https.proxyPort=10810

33
lib/controller/discover/room_controller.dart

@ -1,6 +1,7 @@
import 'dart:convert';
import 'package:agora_rtc_engine/agora_rtc_engine.dart';
import 'package:dating_touchme_app/config/env_config.dart';
import 'package:dating_touchme_app/controller/global.dart';
import 'package:dating_touchme_app/controller/overlay_controller.dart';
import 'package:dating_touchme_app/extension/ex_widget.dart';
@ -22,9 +23,14 @@ import 'package:dating_touchme_app/rtc/rtm_manager.dart';
import 'package:dating_touchme_app/service/live_chat_message_service.dart';
import 'package:easy_refresh/easy_refresh.dart';
import 'package:flutter/material.dart';
import 'package:flutter_http_sse/client/sse_client.dart';
import 'package:flutter_http_sse/enum/request_method_type_enum.dart';
import 'package:flutter_http_sse/model/sse_request.dart';
import 'package:flutter_http_sse/model/sse_response.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:flutter_smart_dialog/flutter_smart_dialog.dart';
import 'package:get/get.dart';
import 'package:get_storage/get_storage.dart';
import 'package:permission_handler/permission_handler.dart';
import 'package:tdesign_flutter/tdesign_flutter.dart';
@ -120,6 +126,7 @@ class RoomController extends GetxController with WidgetsBindingObserver {
getUserData(String miId, int type) async {
try {
@ -457,6 +464,21 @@ class RoomController extends GetxController with WidgetsBindingObserver {
}
}
final request = SSERequest(
requestType: RequestMethodType.get,
url: "${EnvConfig.mainBaseUrl}dating-agency-sse/user/sse/connect",
headers: {
"Authorization": GetStorage().read('token'),
"'X-APP-ID'": '50325897884795885'
},
onData: (data) => print("Received: $data"),
onError: (error) => print("Error: $error"),
onDone: () => print("Stream closed"),
retry: true, // Enables automatic reconnection
);
final sseClient = SSEClient();
/// RTC
Future<void> createRtcChannel() async {
if (isLive.value) {
@ -498,6 +520,16 @@ class RoomController extends GetxController with WidgetsBindingObserver {
base.data!.uid,
ClientRoleType.clientRoleBroadcaster,
);
final Stream<SSEResponse> stream = sseClient.connect("connectionId", request);
stream.listen(
(SSEResponse response) {
print("Received event: ${response.event}, data: ${response.data}");
},
onError: (error) => print("SSE Error: $error"),
onDone: () => print("SSE Connection Closed"),
);
print("sse链接");
} else {
final message = base.message.isNotEmpty ? base.message : '创建频道失败';
SmartDialog.showToast(message);
@ -742,6 +774,7 @@ class RoomController extends GetxController with WidgetsBindingObserver {
channelName: channelId,
message: json.encode({'type': 'end_live'}),
);
sseClient.close(connectionId: "connectionId");
}
}
} catch (e) {

1
pubspec.yaml

@ -84,6 +84,7 @@ dependencies:
extended_text: ^15.0.2
extended_text_field: ^16.0.2
emoji_text_field: ^1.0.0
flutter_http_sse: ^1.0.5
dev_dependencies:
flutter_test:

Loading…
Cancel
Save