From f5abf71d5141cba2206a9ed012bc29f3c066b621 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E4=BA=9A=E7=90=AA?= Date: Wed, 17 Jul 2024 11:49:45 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E8=8E=B7=E5=8F=96=E7=94=B5=E9=87=8F?= =?UTF-8?q?=E6=94=AF=E6=8C=81=E9=B8=BF=E8=92=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../utssdk/app-harmony/index.uts | 27 +++ .../uni-getbatteryinfo/utssdk/interface.uts | 196 +++++++++--------- .../uni-getbatteryinfo/utssdk/unierror.uts | 69 +++--- 3 files changed, 160 insertions(+), 132 deletions(-) create mode 100644 uni_modules/uni-getbatteryinfo/utssdk/app-harmony/index.uts diff --git a/uni_modules/uni-getbatteryinfo/utssdk/app-harmony/index.uts b/uni_modules/uni-getbatteryinfo/utssdk/app-harmony/index.uts new file mode 100644 index 0000000..7134a4c --- /dev/null +++ b/uni_modules/uni-getbatteryinfo/utssdk/app-harmony/index.uts @@ -0,0 +1,27 @@ +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 diff --git a/uni_modules/uni-getbatteryinfo/utssdk/interface.uts b/uni_modules/uni-getbatteryinfo/utssdk/interface.uts index 1350545..f9d6f7b 100644 --- a/uni_modules/uni-getbatteryinfo/utssdk/interface.uts +++ b/uni_modules/uni-getbatteryinfo/utssdk/interface.uts @@ -1,51 +1,51 @@ export type GetBatteryInfoSuccess = { - errMsg : string, - /** - * 设备电量,范围1 - 100 - */ - level : number, - /** - * 是否正在充电中 - */ - isCharging : boolean + errMsg: string, + /** + * 设备电量,范围1 - 100 + */ + level: number, + /** + * 是否正在充电中 + */ + isCharging: boolean } export type GetBatteryInfoOptions = { - /** - * 接口调用结束的回调函数(调用成功、失败都会执行) - */ - success ?: (res : GetBatteryInfoSuccess) => void - /** - * 接口调用失败的回调函数 - */ - fail ?: (res : UniError) => void - /** - * 接口调用成功的回调 - */ - complete ?: (res : any) => void + /** + * 接口调用结束的回调函数(调用成功、失败都会执行) + */ + success?: (res: GetBatteryInfoSuccess) => void + /** + * 接口调用失败的回调函数 + */ + fail?: (res: UniError) => void + /** + * 接口调用成功的回调 + */ + complete?: (res: any) => void } export type GetBatteryInfoResult = { - /** - * 设备电量,范围1 - 100 - */ - level : number, - /** - * 是否正在充电中 - */ - isCharging : boolean + /** + * 设备电量,范围1 - 100 + */ + level: number, + /** + * 是否正在充电中 + */ + 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,88 +60,88 @@ 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 interface Uni { - /** - * 获取电池电量信息 - * - * @example - * ```typescript - * uni.getBatteryInfo({ - * success(res) { - * console.log(res); - * } - * }) - * ``` - * @remark - * - 该接口需要同步调用 - * @uniPlatform { - * "app": { - * "android": { - * "osVer": "4.4.4", - * "uniVer": "3.6.11", - * "unixVer": "3.9.0" - * }, - * "ios": { - * "osVer": "12.0", - * "uniVer": "3.6.11", - * "unixVer": "4.11" - * }, + /** + * 获取电池电量信息 + * + * @example + * ```typescript + * uni.getBatteryInfo({ + * success(res) { + * console.log(res); + * } + * }) + * ``` + * @remark + * - 该接口需要同步调用 + * @uniPlatform { + * "app": { + * "android": { + * "osVer": "4.4.4", + * "uniVer": "3.6.11", + * "unixVer": "3.9.0" + * }, + * "ios": { + * "osVer": "12.0", + * "uniVer": "3.6.11", + * "unixVer": "4.11" + * }, * "harmony": { * "osVer": "x", * "uniVer": "x", * "unixVer": "x" * } - * }, - * "web": { - * "uniVer": "3.6.11", - * "unixVer": "4.0" - * } - * } - * @uniVueVersion 2,3 //支持的vue版本 - * - */ - getBatteryInfo (options : GetBatteryInfoOptions) : void, - /** - * 同步获取电池电量信息 - * - * @example - * ```typescript - * uni.getBatteryInfo() - * ``` - * @remark - * - 该接口需要同步调用 - * @uniPlatform { - * "app": { - * "android": { - * "osVer": "4.4.4", - * "uniVer": "3.6.11", - * "unixVer": "3.9.0" - * }, - * "ios": { - * "osVer": "12.0", - * "uniVer": "3.6.11", - * "unixVer": "4.11" - * }, + * }, + * "web": { + * "uniVer": "3.6.11", + * "unixVer": "4.0" + * } + * } + * @uniVueVersion 2,3 //支持的vue版本 + * + */ + getBatteryInfo(options: GetBatteryInfoOptions): void, + /** + * 同步获取电池电量信息 + * + * @example + * ```typescript + * uni.getBatteryInfo() + * ``` + * @remark + * - 该接口需要同步调用 + * @uniPlatform { + * "app": { + * "android": { + * "osVer": "4.4.4", + * "uniVer": "3.6.11", + * "unixVer": "3.9.0" + * }, + * "ios": { + * "osVer": "12.0", + * "uniVer": "3.6.11", + * "unixVer": "4.11" + * }, * "harmony": { * "osVer": "x", * "uniVer": "x", * "unixVer": "x" * } - * }, - * "web": { - * "uniVer": "3.6.11", - * "unixVer": "4.0" - * } - * } - * @uniVueVersion 2,3 //支持的vue版本 - * - */ - getBatteryInfoSync():GetBatteryInfoResult + * }, + * "web": { + * "uniVer": "3.6.11", + * "unixVer": "4.0" + * } + * } + * @uniVueVersion 2,3 //支持的vue版本 + * + */ + getBatteryInfoSync(): GetBatteryInfoResult } diff --git a/uni_modules/uni-getbatteryinfo/utssdk/unierror.uts b/uni_modules/uni-getbatteryinfo/utssdk/unierror.uts index 511c66c..1ed635c 100644 --- a/uni_modules/uni-getbatteryinfo/utssdk/unierror.uts +++ b/uni_modules/uni-getbatteryinfo/utssdk/unierror.uts @@ -1,34 +1,35 @@ -import { GetBatteryInfoErrorCode, GetBatteryInfoFail } from "./interface.uts" -/** - * 错误主题 - */ -export const UniErrorSubject = 'uni-getBatteryInfo'; - - -/** - * 错误信息 - * @UniError - */ -export const UniErrors : Map = new Map([ - /** - * 错误码及对应的错误信息 - */ - [1001, 'getBatteryInfo:fail getAppContext is null'], -]); - - -/** - * 错误对象实现 - */ -export class GetBatteryInfoFailImpl extends UniError implements GetBatteryInfoFail { - - /** - * 错误对象构造函数 - */ - constructor(errCode : GetBatteryInfoErrorCode) { - super(); - this.errSubject = UniErrorSubject; - this.errCode = errCode; - this.errMsg = UniErrors[errCode] ?? ""; - } -} \ No newline at end of file +import { GetBatteryInfoErrorCode, GetBatteryInfoFail } from "./interface.uts" +/** + * 错误主题 + */ +export const UniErrorSubject = 'uni-getBatteryInfo'; + + +/** + * 错误信息 + * @UniError + */ +export const UniErrors : Map = new Map([ + /** + * 错误码及对应的错误信息 + */ + [1001, 'getBatteryInfo:fail getAppContext is null'], + [1002, 'getBatteryInfo:fail not support'], +]); + + +/** + * 错误对象实现 + */ +export class GetBatteryInfoFailImpl extends UniError implements GetBatteryInfoFail { + override errCode : GetBatteryInfoErrorCode; + /** + * 错误对象构造函数 + */ + constructor(errCode : GetBatteryInfoErrorCode) { + super(); + this.errSubject = UniErrorSubject; + this.errCode = errCode; + this.errMsg = UniErrors[errCode] ?? ""; + } +} -- GitLab