|
@@ -4,12 +4,15 @@ import 'dart:io';
|
|
|
|
|
|
import 'package:dart_json_mapper/dart_json_mapper.dart';
|
|
|
import 'package:get/get.dart';
|
|
|
+import 'package:naiyouwl/app/common/constants.dart';
|
|
|
import 'package:naiyouwl/app/controller/GlobalController.dart';
|
|
|
import 'package:naiyouwl/app/controller/controllers.dart';
|
|
|
import 'package:naiyouwl/app/controller/service.dart';
|
|
|
+import 'package:naiyouwl/app/modules/login/views/login_view.dart';
|
|
|
import 'package:naiyouwl/app/utils/system_proxy.dart';
|
|
|
import 'package:naiyouwl/app/utils/utils.dart';
|
|
|
import 'package:tray_manager/tray_manager.dart';
|
|
|
+import 'package:url_launcher/url_launcher.dart';
|
|
|
import 'package:window_manager/window_manager.dart';
|
|
|
import '../../../common/LogHelper.dart';
|
|
|
import '../../../common/SharedPreferencesUtil.dart';
|
|
@@ -36,7 +39,7 @@ class HomeController extends GetxController {
|
|
|
var localUsers = LocalUser().obs;
|
|
|
var userMode = User().obs;
|
|
|
var errorMsg = ''.obs;
|
|
|
-
|
|
|
+ var UsersysConfig = SysConfig().obs;
|
|
|
var connectStatus = Rx<ConnectionStatus>(ConnectionStatus.disconnected);
|
|
|
var nodeModes = <NodeMode>[];
|
|
|
late final GlobalController globalController = controllers.global;
|
|
@@ -48,15 +51,15 @@ class HomeController extends GetxController {
|
|
|
ImageType.RENEWAL: "assets/images/main/renewal.png",
|
|
|
};
|
|
|
|
|
|
- void onImageTap(ImageType type) {
|
|
|
+ void onImageTap(ImageType type) async {
|
|
|
if(type == ImageType.CUSTOMER){
|
|
|
-
|
|
|
+ await launchUrl(Uri.parse(UsersysConfig.value.userLoginUrlKe ?? ""));
|
|
|
} else if (type == ImageType.PROMOTION){
|
|
|
-
|
|
|
+ await launchUrl(Uri.parse(UsersysConfig.value.affUrl ?? ""));
|
|
|
} else if (type == ImageType.TUTORIAL){
|
|
|
-
|
|
|
+ await launchUrl(Uri.parse(UsersysConfig.value.userTicket ?? ""));
|
|
|
} else if (type == ImageType.RENEWAL){
|
|
|
-
|
|
|
+ await launchUrl(Uri.parse(UsersysConfig.value.userBuy ?? ""));
|
|
|
}
|
|
|
LogHelper().d("${imageMap[type]} tapped as ${type.toString().split('.').last}");
|
|
|
}
|
|
@@ -88,6 +91,12 @@ class HomeController extends GetxController {
|
|
|
}
|
|
|
|
|
|
Future<void> handleButtonClick() async {
|
|
|
+ if(userMode.value.enable != 1){
|
|
|
+ errorMsg.value = "用户是禁用的,无法连接";
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
if(connectStatus.value == ConnectionStatus.connecting ){
|
|
|
return;
|
|
|
}
|
|
@@ -144,7 +153,17 @@ class HomeController extends GetxController {
|
|
|
|
|
|
}
|
|
|
|
|
|
-
|
|
|
+ Future<void> fetchAuthUser() async {
|
|
|
+ try {
|
|
|
+ final ret = await ApiService().fetchAuthUser(KAuthUser);
|
|
|
+ controllers.global.selectedNode.value = ret;
|
|
|
+ controllers.global.selectNode(ret);
|
|
|
+ handleButtonClick();
|
|
|
+ } catch (e) {
|
|
|
+ errorMsg.value = e.toString();
|
|
|
+ } finally {
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
Future<void> fetchSysConfig() async {
|
|
|
try {
|
|
@@ -164,6 +183,7 @@ class HomeController extends GetxController {
|
|
|
isLoading.value = true;
|
|
|
userMode.value = await ApiService().userinfo("/api/client/v4/userinfo");
|
|
|
await globalController.fetchNodes();
|
|
|
+ await fetchlUserUrl(localUsers.value.email ?? "",localUsers.value.password ?? "");
|
|
|
//await controllers.global.makeProxy();
|
|
|
//await controllers.global.initService();
|
|
|
// //生成配置
|
|
@@ -189,14 +209,41 @@ class HomeController extends GetxController {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- //await SharedPreferencesUtil().setObject("localUser", userModes.toJson());
|
|
|
+ Future<void> outlogin() async {
|
|
|
+ if(connectStatus.value == ConnectionStatus.connecting || connectStatus.value == ConnectionStatus.stopped){
|
|
|
+ errorMsg.value = "先断开,在退出登录";
|
|
|
+ return ;
|
|
|
+ }
|
|
|
+ await SharedPreferencesUtil().delete("token");
|
|
|
+ try {
|
|
|
+ isLoading.value = true;
|
|
|
+ await ApiService().fetchLogout(KLogout);
|
|
|
+ } catch (e) {
|
|
|
+ errorMsg.value = e.toString();
|
|
|
+ } finally {
|
|
|
+ isLoading.value = false;
|
|
|
+ }
|
|
|
+ Get.offNamed(Routes.LOGIN);
|
|
|
+ }
|
|
|
|
|
|
+ //await SharedPreferencesUtil().setObject("localUser", userModes.toJson());
|
|
|
+ Future<void> fetchlUserUrl(String username,String password) async {
|
|
|
+ try {
|
|
|
+ isLoading.value = true;
|
|
|
+ UsersysConfig.value = await ApiService().fetchUserSysConfig(kSysConfig,{"email":username,"password":password});
|
|
|
+ } catch (e) {
|
|
|
+ errorMsg.value = e.toString();
|
|
|
+ } finally {
|
|
|
+ isLoading.value = false;
|
|
|
+ }
|
|
|
+ }
|
|
|
Future<void> fetchLocalUser() async {
|
|
|
try {
|
|
|
String? userdata = await SharedPreferencesUtil().getString("localUser");
|
|
|
if(userdata != null){
|
|
|
localUsers.value = JsonMapper.deserialize<LocalUser>(userdata)!;
|
|
|
}
|
|
|
+ await fetchSysConfig();
|
|
|
} catch (e) {
|
|
|
errorMsg.value = e.toString();
|
|
|
} finally {
|