import 'package:dating_touchme_app/model/mine/app_version.dart'; import 'package:dating_touchme_app/pages/main/update_dialog.dart'; import 'package:flutter/material.dart'; import 'package:get/get.dart'; import 'package:package_info_plus/package_info_plus.dart'; import '../../network/user_api.dart'; class MainController extends GetxController { // UserApi实例 late UserApi _userApi; final buildNumber = ''.obs; @override void onInit() async { super.onInit(); // 从全局依赖中获取UserApi _userApi = Get.find(); await getAppInfo(); await checkForUpdates(); } Future getAppInfo() async { try { PackageInfo packageInfo = await PackageInfo.fromPlatform(); buildNumber.value = packageInfo.buildNumber; } catch (e) { print('获取应用信息失败: $e'); } } /// 获取环信用户token Future checkForUpdates() async { try { final response = await _userApi.getAppVersionInfo(os: 1, code: int.parse(buildNumber.value)); if (response.data.isSuccess && response.data.data != null) { AppVersion version = response.data.data!; showDialog( context: Get.context!, builder: (context) => UpdateDialog(version: version) ); } } catch (e) { print('检测版本跟新失败: $e'); } } }