Merge pull request #4684 from 21pages/fix

decode utf8 json
This commit is contained in:
RustDesk 2023-06-18 14:15:21 +08:00 committed by GitHub
commit 0e61d4e819
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 26 additions and 8 deletions

View File

@ -1369,7 +1369,7 @@ class _AccountState extends State<_Account> {
physics: DraggableNeverScrollableScrollPhysics(),
controller: scrollController,
children: [
_Card(title: 'Account', children: [accountAction()]),
_Card(title: 'Account', children: [accountAction(), useInfo()]),
],
).marginOnly(bottom: _kListViewBottomMargin));
}
@ -1383,6 +1383,26 @@ class _AccountState extends State<_Account> {
: gFFI.userModel.logOut()
}));
}
Widget useInfo() {
text(String key, String value) {
return Align(
alignment: Alignment.centerLeft,
child: SelectionArea(child: Text('${translate(key)}: $value'))
.marginSymmetric(vertical: 4),
);
}
return Obx(() => Offstage(
offstage: gFFI.userModel.userName.value.isEmpty,
child: Column(
children: [
text('Username', gFFI.userModel.userName.value),
text('Group', gFFI.groupModel.groupName.value),
],
),
)).marginOnly(left: 18, top: 16);
}
}
class _Checkbox extends StatefulWidget {

View File

@ -76,7 +76,7 @@ class GroupModel {
});
final resp = await http.get(uri, headers: getHttpHeaders());
if (resp.body.isNotEmpty && resp.body.toLowerCase() != "null") {
Map<String, dynamic> json = jsonDecode(resp.body);
Map<String, dynamic> json = jsonDecode(utf8.decode(resp.bodyBytes));
if (json.containsKey('error')) {
throw json['error'];
} else {
@ -119,7 +119,7 @@ class GroupModel {
if (status == 401 || status == 400) {
return false;
}
final data = json.decode(response.body);
final data = json.decode(utf8.decode(response.bodyBytes));
final error = data['error'];
if (error != null) {
throw error;
@ -159,7 +159,7 @@ class GroupModel {
});
final resp = await http.get(uri, headers: getHttpHeaders());
if (resp.body.isNotEmpty && resp.body.toLowerCase() != "null") {
Map<String, dynamic> json = jsonDecode(resp.body);
Map<String, dynamic> json = jsonDecode(utf8.decode(resp.bodyBytes));
if (json.containsKey('error')) {
throw json['error'];
} else {

View File

@ -41,7 +41,7 @@ class UserModel {
reset();
return;
}
final data = json.decode(response.body);
final data = json.decode(utf8.decode(response.bodyBytes));
final error = data['error'];
if (error != null) {
throw error;
@ -105,7 +105,7 @@ class UserModel {
final Map<String, dynamic> body;
try {
body = jsonDecode(resp.body);
body = jsonDecode(utf8.decode(resp.bodyBytes));
} catch (e) {
print("login: jsonDecode resp body failed: ${e.toString()}");
rethrow;

View File

@ -509,8 +509,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
("resolution_fit_local_tip", "Adatta risoluzione locale"),
("resolution_custom_tip", "Risoluzione personalizzata"),
("Collapse toolbar", "Comprimi barra strumenti"),
("Accept and Elevate", ""),
("accept_and_elevate_btn_tooltip", ""),
("Accept and Elevate", "Accetta ed eleva"),
("accept_and_elevate_btn_tooltip", "Accetta la connessione ed eleva le autorizzazioni UAC."),
].iter().cloned().collect();