1、MDN参考网址
Navigator.getBattery() - Web API 接口参考 | MDN
BatteryManager(电源管理) - Web API 接口参考 | MDN
//在浏览器控制台执行下列语句
navigator.getBattery().then((res)=>{console.log(res)});
// 返回 BatteryManager
BatteryManager {
charging: true //一个布尔值,说明当前电池是否正在充电。
chargingTime: 0 // 一个数字,代表距离充电完毕还需多少秒,如果为0则充电完毕。
dischargingTime: Infinity //一个数字,代表距离电池耗电至空且挂起需要多少秒。
level: 1 //一个数字,代表电量的放大等级,这个值在 0.0 至 1.0 之间。1代表100%电量,0.9代表90%电量
onchargingchange: null //chargingchange事件处理器;电池充电状态更新时被调用。
onchargingtimechange: null //chargingtimechange事件处理器;电池充电时间更新时被调用。
ondischargingtimechange: null //dischargingtimechange事件处理器;电池断开充电时间更新时被调用。
onlevelchange:null //levelchange事件处理器;电池电量更新时被调用。
}
2、封装
可参考React Hooks库:react-use 中的useBattery