提交 f5abf71d 编写于 作者: 雪洛's avatar 雪洛 提交者: DCloud_LXH

feat: 获取电量支持鸿蒙

上级 911735e0
import batteryInfo from '@ohos.batteryInfo';
import { GetBatteryInfo, GetBatteryInfoOptions, GetBatteryInfoSuccess, GetBatteryInfoResult, GetBatteryInfoSync } from '../interface.uts';
export const getBatteryInfoSync : GetBatteryInfoSync = function () : GetBatteryInfoResult {
return {
level: batteryInfo.batterySOC,
isCharging: batteryInfo.chargingStatus === batteryInfo.BatteryChargeState.ENABLE || batteryInfo.chargingStatus === batteryInfo.BatteryChargeState.FULL,
};
}
export const getBatteryInfo : GetBatteryInfo = function (options : GetBatteryInfoOptions) {
const batteryInfoResult : GetBatteryInfoSuccess = {
errMsg: "getBatteryInfo:ok",
level: batteryInfo.batterySOC,
isCharging: batteryInfo.chargingStatus === batteryInfo.BatteryChargeState.ENABLE || batteryInfo.chargingStatus === batteryInfo.BatteryChargeState.FULL,
}
try {
options.success && options.success(batteryInfoResult)
} catch (e) {
console.error(e)
}
try {
options.complete && options.complete(batteryInfoResult)
} catch (e) {
console.error(e)
}
}
\ No newline at end of file
export type GetBatteryInfoSuccess = {
errMsg : string,
errMsg: string,
/**
* 设备电量,范围1 - 100
*/
level : number,
level: number,
/**
* 是否正在充电中
*/
isCharging : boolean
isCharging: boolean
}
export type GetBatteryInfoOptions = {
/**
* 接口调用结束的回调函数(调用成功、失败都会执行)
*/
success ?: (res : GetBatteryInfoSuccess) => void
success?: (res: GetBatteryInfoSuccess) => void
/**
* 接口调用失败的回调函数
*/
fail ?: (res : UniError) => void
fail?: (res: UniError) => void
/**
* 接口调用成功的回调
*/
complete ?: (res : any) => void
complete?: (res: any) => void
}
export type GetBatteryInfoResult = {
/**
* 设备电量,范围1 - 100
*/
level : number,
level: number,
/**
* 是否正在充电中
*/
isCharging : boolean
isCharging: boolean
}
/**
* 错误码
* - 1001 getAppContext is null
*/
export type GetBatteryInfoErrorCode = 1001 ;
export type GetBatteryInfoErrorCode = 1001 | 1002;
/**
* GetBatteryInfo 的错误回调参数
*/
export interface GetBatteryInfoFail extends IUniError {
errCode : GetBatteryInfoErrorCode
errCode: GetBatteryInfoErrorCode
};
/**
......@@ -60,7 +60,7 @@ export interface GetBatteryInfoFail extends IUniError {
* @assert () => success({errCode: 0, errSubject: "uni-getBatteryInfo", errMsg: "getBatteryInfo:ok", level: 60, isCharging: false })
* @assert () => fail({errCode: 1001, errSubject: "uni-getBatteryInfo", errMsg: "getBatteryInfo:fail getAppContext is null" })
*/
export type GetBatteryInfo = (options : GetBatteryInfoOptions) => void
export type GetBatteryInfo = (options: GetBatteryInfoOptions) => void
export type GetBatteryInfoSync = () => GetBatteryInfoResult
......@@ -106,7 +106,7 @@ interface Uni {
* @uniVueVersion 2,3 //支持的vue版本
*
*/
getBatteryInfo (options : GetBatteryInfoOptions) : void,
getBatteryInfo(options: GetBatteryInfoOptions): void,
/**
* 同步获取电池电量信息
*
......@@ -142,6 +142,6 @@ interface Uni {
* @uniVueVersion 2,3 //支持的vue版本
*
*/
getBatteryInfoSync():GetBatteryInfoResult
getBatteryInfoSync(): GetBatteryInfoResult
}
......@@ -14,6 +14,7 @@ export const UniErrors : Map<GetBatteryInfoErrorCode, string> = new Map([
* 错误码及对应的错误信息
*/
[1001, 'getBatteryInfo:fail getAppContext is null'],
[1002, 'getBatteryInfo:fail not support'],
]);
......@@ -21,7 +22,7 @@ export const UniErrors : Map<GetBatteryInfoErrorCode, string> = new Map([
* 错误对象实现
*/
export class GetBatteryInfoFailImpl extends UniError implements GetBatteryInfoFail {
override errCode : GetBatteryInfoErrorCode;
/**
* 错误对象构造函数
*/
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册