情景推荐

This commit is contained in:
Developer
2026-04-09 02:23:27 +08:00
parent cd1f9dd17a
commit 73036a8856
23 changed files with 3501 additions and 138 deletions

View File

@@ -4,12 +4,12 @@
/// 最新变化: 添加Cookie管理器支持PHP Session认证
import 'dart:convert';
import 'dart:io' as io show Platform;
import 'package:dio/dio.dart';
import 'package:dio_cookie_manager/dio_cookie_manager.dart';
import 'package:cookie_jar/cookie_jar.dart';
import 'package:platform_info/platform_info.dart';
import 'package:shared_preferences/shared_preferences.dart';
import '../../controllers/settings/is_platform.dart';
class VoteApi {
static const String _baseUrl = 'https://poe.vogov.cn/toupiao/';
@@ -246,34 +246,30 @@ class VoteApi {
String platformName = 'Unknown';
try {
final String osName = io.Platform.operatingSystem;
final String osVersion = io.Platform.operatingSystemVersion.toLowerCase();
if (osName == 'ohos' ||
osName == 'harmonyos' ||
osName == 'openharmony') {
if (PlatformUtils.isHarmonyOS) {
platformName = 'HarmonyOS';
isHarmonyOS = true;
} else if (io.Platform.isAndroid) {
} else if (PlatformUtils.isAndroid) {
platformName = 'Android';
final osVersion = PlatformUtils.operatingSystemVersion.toLowerCase();
if (osVersion.contains('harmony') ||
osVersion.contains('ohos') ||
osVersion.contains('openharmony')) {
platformName = 'HarmonyOS';
isHarmonyOS = true;
}
} else if (io.Platform.isIOS) {
} else if (PlatformUtils.isIOS) {
platformName = 'iOS';
} else if (io.Platform.isMacOS) {
} else if (PlatformUtils.isMacOS) {
platformName = 'macOS';
} else if (io.Platform.isWindows) {
} else if (PlatformUtils.isWindows) {
platformName = 'Windows';
} else if (io.Platform.isLinux) {
} else if (PlatformUtils.isLinux) {
platformName = 'Linux';
} else if (io.Platform.isFuchsia) {
} else if (PlatformUtils.isFuchsia) {
platformName = 'Fuchsia';
} else {
platformName = osName[0].toUpperCase() + osName.substring(1);
platformName = PlatformUtils.platformShortName;
}
} catch (e) {
platformName = switch (platform.operatingSystem) {
@@ -289,7 +285,7 @@ class VoteApi {
String deviceType = 'Unknown';
if (isHarmonyOS) {
final String osName = io.Platform.operatingSystem;
final osName = PlatformUtils.operatingSystem.toLowerCase();
if (osName == 'ohos') {
deviceType = 'OHOS';
} else if (osName == 'harmonyos') {
@@ -302,12 +298,12 @@ class VoteApi {
} else {
deviceType =
platform.when<String?>(
mobile: () => 'Mobile',
desktop: () => 'Desktop',
js: () => 'Web',
mobile: () => '移动设备',
desktop: () => '桌面设备',
js: () => 'Web浏览器',
orElse: () => null,
) ??
'Unknown';
'未知设备';
}
return '$platformName-$deviceType-Flutter';