Appearance
isHarmony
检测当前是否为纯血鸿蒙系统。
使用方法
typescript
import { isHarmony } from '@fu/matrix';
if (isHarmony()) {
// 纯血鸿蒙系统特有的处理
useHarmonyAPI();
} else {
// 其他系统的处理
useDefaultAPI();
}实现原理
通过检查 userAgent(统一转为小写)中是否包含鸿蒙相关标识且不包含 Android 来判断:
- 当 UA 中包含以下任一标识且不包含
android时,认为是纯血鸿蒙:harmonyosopenharmonyhongmenghexin_harmonyos
- 如果同时包含鸿蒙标识和
android,则认为是套皮鸿蒙
返回值
true: 当前系统是纯血鸿蒙false: 当前系统不是纯血鸿蒙
使用场景
- API 调用选择
typescript
const api = isHarmony()
? harmonyAPI
: defaultAPI;- 功能适配
typescript
if (isHarmony()) {
// 使用鸿蒙特有功能
useHarmonyFeatures();
}注意事项
- 服务端环境下默认返回
false - 发生错误时返回
false - 只有纯血鸿蒙系统才会返回
true - 套皮鸿蒙会被识别为 Android