34 lines
1.1 KiB
Dart
34 lines
1.1 KiB
Dart
// lib/utils/platform_utils.dart
|
||
import 'package:flutter/foundation.dart' show kIsWeb, defaultTargetPlatform, TargetPlatform;
|
||
|
||
/// 简单的跨平台判断工具,避免在 web 上引用 dart:io
|
||
class PlatformUtils {
|
||
/// 是否在浏览器
|
||
static bool get isWeb => kIsWeb;
|
||
|
||
/// 是否为 iOS(注意:在 web 上会返回 false)
|
||
static bool get isIOS => !kIsWeb && defaultTargetPlatform == TargetPlatform.iOS;
|
||
|
||
/// 是否为 Android(在 web 上会返回 false)
|
||
static bool get isAndroid => !kIsWeb && defaultTargetPlatform == TargetPlatform.android;
|
||
|
||
/// 返回一个简单的操作系统标识字符串(web 会返回 'web')
|
||
static String get operatingSystem {
|
||
if (kIsWeb) return 'web';
|
||
switch (defaultTargetPlatform) {
|
||
case TargetPlatform.android:
|
||
return 'android';
|
||
case TargetPlatform.iOS:
|
||
return 'ios';
|
||
case TargetPlatform.macOS:
|
||
return 'macos';
|
||
case TargetPlatform.linux:
|
||
return 'linux';
|
||
case TargetPlatform.windows:
|
||
return 'windows';
|
||
case TargetPlatform.fuchsia:
|
||
return 'fuchsia';
|
||
}
|
||
}
|
||
}
|