mirror of
https://github.com/rustdesk/rustdesk.git
synced 2024-11-27 14:59:02 +08:00
Web password source (#9618)
* ensure window init finish Signed-off-by: 21pages <sunboeasy@gmail.com> * web password source Signed-off-by: 21pages <sunboeasy@gmail.com> --------- Signed-off-by: 21pages <sunboeasy@gmail.com>
This commit is contained in:
parent
22c84bbbd1
commit
97f02ed25e
@ -2383,7 +2383,7 @@ connect(BuildContext context, String id,
|
||||
),
|
||||
);
|
||||
} else {
|
||||
if (isWebDesktop) {
|
||||
if (isWeb) {
|
||||
Navigator.push(
|
||||
context,
|
||||
MaterialPageRoute(
|
||||
|
@ -372,7 +372,7 @@ class FfiModel with ChangeNotifier {
|
||||
} else if (name == 'plugin_option') {
|
||||
handleOption(evt);
|
||||
} else if (name == "sync_peer_hash_password_to_personal_ab") {
|
||||
if (desktopType == DesktopType.main) {
|
||||
if (desktopType == DesktopType.main || isWeb) {
|
||||
final id = evt['id'];
|
||||
final hash = evt['hash'];
|
||||
if (id != null && hash != null) {
|
||||
|
@ -1,6 +1,7 @@
|
||||
// ignore_for_file: avoid_web_libraries_in_flutter
|
||||
|
||||
import 'dart:convert';
|
||||
import 'dart:js_interop';
|
||||
import 'dart:typed_data';
|
||||
import 'dart:js';
|
||||
import 'dart:html';
|
||||
@ -107,6 +108,10 @@ class PlatformFFI {
|
||||
sessionId: sessionId, display: display, ptr: ptr);
|
||||
|
||||
Future<void> init(String appType) async {
|
||||
Completer completer = Completer();
|
||||
context["onInitFinished"] = () {
|
||||
completer.complete();
|
||||
};
|
||||
context.callMethod('init');
|
||||
version = getByName('version');
|
||||
window.onContextMenu.listen((event) {
|
||||
@ -121,6 +126,7 @@ class PlatformFFI {
|
||||
print('json.decode fail(): $e');
|
||||
}
|
||||
};
|
||||
return completer.future;
|
||||
}
|
||||
|
||||
void setEventCallback(void Function(Map<String, dynamic>) fun) {
|
||||
|
@ -85,7 +85,11 @@ class RustdeskImpl {
|
||||
dynamic hint}) {
|
||||
return js.context.callMethod('setByName', [
|
||||
'session_add_sync',
|
||||
jsonEncode({'id': id, 'password': password})
|
||||
jsonEncode({
|
||||
'id': id,
|
||||
'password': password,
|
||||
'is_shared_password': isSharedPassword
|
||||
})
|
||||
]);
|
||||
}
|
||||
|
||||
@ -1118,7 +1122,8 @@ class RustdeskImpl {
|
||||
}
|
||||
|
||||
Future<void> mainRemovePeer({required String id, dynamic hint}) {
|
||||
return Future(() => js.context.callMethod('setByName', ['remove', id]));
|
||||
return Future(
|
||||
() => js.context.callMethod('setByName', ['remove_peer', id]));
|
||||
}
|
||||
|
||||
bool mainHasHwcodec({dynamic hint}) {
|
||||
@ -1146,27 +1151,28 @@ class RustdeskImpl {
|
||||
}
|
||||
|
||||
Future<void> mainSaveAb({required String json, dynamic hint}) {
|
||||
throw UnimplementedError();
|
||||
return Future(() => js.context.callMethod('setByName', ['save_ab', json]));
|
||||
}
|
||||
|
||||
Future<void> mainClearAb({dynamic hint}) {
|
||||
throw UnimplementedError();
|
||||
return Future(() => js.context.callMethod('setByName', ['clear_ab']));
|
||||
}
|
||||
|
||||
Future<String> mainLoadAb({dynamic hint}) {
|
||||
throw UnimplementedError();
|
||||
return Future(() => js.context.callMethod('getByName', ['load_ab']));
|
||||
}
|
||||
|
||||
Future<void> mainSaveGroup({required String json, dynamic hint}) {
|
||||
throw UnimplementedError();
|
||||
return Future(
|
||||
() => js.context.callMethod('setByName', ['save_group', json]));
|
||||
}
|
||||
|
||||
Future<void> mainClearGroup({dynamic hint}) {
|
||||
throw UnimplementedError();
|
||||
return Future(() => js.context.callMethod('setByName', ['clear_group']));
|
||||
}
|
||||
|
||||
Future<String> mainLoadGroup({dynamic hint}) {
|
||||
throw UnimplementedError();
|
||||
return Future(() => js.context.callMethod('getByName', ['load_group']));
|
||||
}
|
||||
|
||||
Future<void> sessionSendPointer(
|
||||
|
Loading…
Reference in New Issue
Block a user