diff --git a/uni_modules/uni-getbatteryinfo/package.json b/uni_modules/uni-getbatteryinfo/package.json index 0731fe3a54e5924d05c34a1bf58d5bc2fe6e1642..094b6ba10af62c8c059abc9b878820be1963484a 100644 --- a/uni_modules/uni-getbatteryinfo/package.json +++ b/uni_modules/uni-getbatteryinfo/package.json @@ -32,7 +32,7 @@ }, "uni_modules": { "uni-ext-api": { - "uni": ["getBatteryInfo"] + "uni": ["getBatteryInfo", "getBatteryInfoSync"] }, "dependencies": [], "encrypt": [], diff --git a/uni_modules/uni-getbatteryinfo/utssdk/app-ios/index.uts b/uni_modules/uni-getbatteryinfo/utssdk/app-ios/index.uts index 755250ff9d42c91ed820889b8103ef9ce850c881..391654aae95e00bdd3d268bbc67163f9937c86d8 100644 --- a/uni_modules/uni-getbatteryinfo/utssdk/app-ios/index.uts +++ b/uni_modules/uni-getbatteryinfo/utssdk/app-ios/index.uts @@ -2,7 +2,7 @@ import { UIDevice } from "UIKit"; import { Int } from 'Swift'; -import { GetBatteryInfo, GetBatteryInfoSuccess } from '../interface.uts'; +import { GetBatteryInfo, GetBatteryInfoSuccess, GetBatteryInfoResult, GetBatteryInfoSync } from '../interface.uts'; /** * 导出 获取电量方法 @@ -20,4 +20,17 @@ export const getBatteryInfo : GetBatteryInfo = function (options) { }; options.success?.(res); options.complete?.(res); +} + +export const getBatteryInfoSync : GetBatteryInfoSync = function (): GetBatteryInfoResult { + + // 开启电量检测 + UIDevice.current.isBatteryMonitoringEnabled = true + + // 返回数据 + const res : GetBatteryInfoResult = { + level: Number(UIDevice.current.batteryLevel * 100), + isCharging: UIDevice.current.batteryState == UIDevice.BatteryState.charging, + }; + return res; } \ No newline at end of file diff --git a/uni_modules/uni-getbatteryinfo/utssdk/interface.uts b/uni_modules/uni-getbatteryinfo/utssdk/interface.uts index 7f58b1e485e14e988c56a50b89995edeaf672589..b62d62cc6cd6eea509583fd31fafad317b532b81 100644 --- a/uni_modules/uni-getbatteryinfo/utssdk/interface.uts +++ b/uni_modules/uni-getbatteryinfo/utssdk/interface.uts @@ -44,6 +44,17 @@ export type GetBatteryInfoOptions = { * 接口调用成功的回调 */ complete ?: (res : any) => void +} + +export type GetBatteryInfoResult = { + /** + * 设备电量,范围1 - 100 + */ + level : number, + /** + * 是否正在充电中 + */ + isCharging : boolean } /** @@ -58,8 +69,10 @@ export type GetBatteryInfoOptions = { * @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 interface Uni { @@ -85,7 +98,7 @@ interface Uni { * "unixVer": "3.9.0" * }, * "ios": { - * "osVer": "8.0", + * "osVer": "9.0", * "uniVer": "3.6.11", * "unixVer": "3.9.0" * } @@ -94,6 +107,33 @@ interface Uni { * @uniVueVersion 2,3 //支持的vue版本 * */ - getBatteryInfo : GetBatteryInfo + getBatteryInfo : GetBatteryInfo, + /** + * 同步获取电池电量信息 + * @description 获取电池电量信息 + * @example + * ```typescript + * uni.getBatteryInfo() + * ``` + * @remark + * - 该接口需要同步调用 + * @uniPlatform { + * "app": { + * "android": { + * "osVer": "4.4.4", + * "uniVer": "3.6.11", + * "unixVer": "3.9.0" + * }, + * "ios": { + * "osVer": "9.0", + * "uniVer": "3.6.11", + * "unixVer": "3.9.0" + * } + * } + * } + * @uniVueVersion 2,3 //支持的vue版本 + * + */ + getBatteryInfoSync: GetBatteryInfoSync } \ No newline at end of file