index.uts 1.1 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
// 引用 iOS 原生平台 api
import { UIDevice } from "UIKit";

import { GetBatteryInfo, GetBatteryInfoSuccess, GetBatteryInfoResult, GetBatteryInfoSync } from '../interface.uts';

/**
 * 异步获取电量
 */
export const getBatteryInfo : GetBatteryInfo = function (options) {
  // 开启电量检测
  UIDevice.current.isBatteryMonitoringEnabled = true

  // 返回数据
  const res : GetBatteryInfoSuccess = {
    errMsg: "getBatteryInfo:ok",
    level: Math.abs(Number(UIDevice.current.batteryLevel * 100)),
    isCharging: UIDevice.current.batteryState == UIDevice.BatteryState.charging,
  };
  options.success?.(res);
  options.complete?.(res);
}

/**
 * 同步获取电量
 */
export const getBatteryInfoSync : GetBatteryInfoSync = function () : GetBatteryInfoResult {
  // 开启电量检测
  UIDevice.current.isBatteryMonitoringEnabled = true

  // 返回数据
  const res : GetBatteryInfoResult = {
    level: Math.abs(Number(UIDevice.current.batteryLevel * 100)),
    isCharging: UIDevice.current.batteryState == UIDevice.BatteryState.charging,
  };
  return res;
lizhongyi_'s avatar
lizhongyi_ 已提交
36
}