interface.uts 1.6 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 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84
type GetBatteryInfoResult = {
	/**
	 * 错误码
	 */
	errCode: number,
	/**
	 * 调用API的名称
	 */
	errSubject: string,
	/**
	 * 错误的详细信息
	 */
	errMsg: string,
	/**
	 * 设备电量,范围1 - 100
	 */
	level: number,
	/**
	 * 是否正在充电中
	 */
	isCharging: boolean
}

interface UniError<T> {
	/**
	 * 错误码
	 */
	errCode:T,
	/**
	 * 调用API的名称
	 */
	errSubject:string,
	/**
	 * 错误的详细信息
	 */
	errMsg:string,
	/**
	 * 错误来源
	 */
	cause:any
}

/**
 * 错误码
 */
type GetBatteryInfoErrorCode = 
	/** 成功 */ 
	0
	/** getAppContext is null */
	| 1001
	/** navigator.getBattery is unsupported */
	| 1002
;


export type GetBatteryInfoOptions = {
	/**
	 * 接口调用结束的回调函数(调用成功、失败都会执行)
	 */
    success?: (res: GetBatteryInfoResult) => void
	/**
	 * 接口调用失败的回调函数
	 */
    fail?: (res: UniError<GetBatteryInfoErrorCode>) => void
	/**
	 * 接口调用成功的回调
	 */
    complete?: (res: object) => void
}

/**
 * 获取电量信息
 * @param {GetBatteryInfoOptions} options
 * 
 *
 * @tutorial https://uniapp.dcloud.net.cn/api/system/batteryInfo.html
 * @platforms APP-IOS = ^9.0,APP-ANDROID = ^22
 * @since 3.6.11
 * 
 * @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 default function getBatteryInfo(options: GetBatteryInfoOptions): void