{"_id":"@cordova-ohos/cordova-plugin-battery-status","_rev":"5-240505dd8048a2de83a8353172181c6d","name":"@cordova-ohos/cordova-plugin-battery-status","dist-tags":{"latest":"2.0.4"},"versions":{"2.0.3":{"name":"@cordova-ohos/cordova-plugin-battery-status","version":"2.0.3","keywords":["cordova","battery-status","ecosystem:cordova","cordova-openharmony"],"author":{"name":"Huawei Device, Inc. Ltd. and","email":"马弓手"},"license":"Apache-2.0","_id":"@cordova-ohos/cordova-plugin-battery-status@2.0.3","maintainers":[{"name":"luqi_tan","email":"295099422@qq.com"}],"bugs":{"url":"https://gitcode.com/OpenHarmony-Cordova/cordova-plugin-battery-status/issues"},"dist":{"shasum":"1723b0b896e119789a12a6f8fa0a4cf4d9777003","tarball":"https://registry.npmjs.org/@cordova-ohos/cordova-plugin-battery-status/-/cordova-plugin-battery-status-2.0.3.tgz","fileCount":8,"integrity":"sha512-sm9Uk8lxWQpuWQRQ+xrcvcVx0U3OjImsP8wR7fX/vKNHtQwGhO9EyNNSb0gC6/tH1XVBnHa5gheAsepJw+uglw==","signatures":[{"sig":"MEUCIBUM0ggZFu4UFjmWhgTcclF7VpxO7TYff7PMeU8bFh0JAiEAyZeSv2hA6hyIW1bVV1kPM71Qxh24ySFeU6S3UaCOvW4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":51457},"cordova":{"id":"cordova-plugin-battery-status","platforms":["ohos"]},"engines":{"cordovaDependencies":{"2.0.3":{"hcordova":">=1.0.0","@cordova-ohos/ohos":">=2.0.0"}}},"gitHead":"b571f23460551fda45d3c3ec03942f6cecaee2b2","_npmUser":{"name":"luqi_tan","email":"295099422@qq.com"},"repository":{"url":"gitcode:OpenHarmony-Cordova/cordova-plugin-battery-status","type":"git"},"_npmVersion":"10.5.1","description":"Cordova Battery Status Plugin","directories":{},"_nodeVersion":"22.0.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/cordova-plugin-battery-status_2.0.3_1773827172641_0.4600783271791158","host":"s3://npm-registry-packages-npm-production"}},"2.0.4":{"name":"@cordova-ohos/cordova-plugin-battery-status","version":"2.0.4","description":"Cordova Battery Status Plugin","cordova":{"id":"cordova-plugin-battery-status","platforms":["ohos"]},"repository":{"type":"git","url":"gitcode:CPF-Cordova/cordova-plugin-battery-status"},"bugs":{"url":"https://gitcode.com/CPF-Cordova/cordova-plugin-battery-status/issues"},"keywords":["cordova","battery-status","ecosystem:cordova","cordova-openharmony"],"engines":{"cordovaDependencies":{"2.0.4":{"@cordova-ohos/ohos":">=2.0.0","hcordova":">=1.0.0"}}},"author":{"name":"Huawei Device, Inc. Ltd. and","email":"马弓手"},"license":"Apache-2.0","_id":"@cordova-ohos/cordova-plugin-battery-status@2.0.4","gitHead":"54c75430352b0e7b59c0155476bc547b9b95000e","_nodeVersion":"22.0.0","_npmVersion":"10.5.1","dist":{"integrity":"sha512-oNpwIpM96QTtFyfklsr9BShKw7sWhUm6FGbkQMRbcnHfRscG9KIJWgxyik3fMcNJxmYQi640i5XVX9ZJ6EiG6A==","shasum":"fb64957d06841ae0f5e13a0365f6b65713d0e402","tarball":"https://registry.npmjs.org/@cordova-ohos/cordova-plugin-battery-status/-/cordova-plugin-battery-status-2.0.4.tgz","fileCount":9,"unpackedSize":72453,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQD1ib1y+AYfZhd2tkHqBhH3mGjrK06w8r41Dx2xQOKu2AIgNRIAh/sjxrACE7Bda7WVDb3umEelhtS1S7T1wNiWKRY="}]},"_npmUser":{"name":"luqi_tan","email":"295099422@qq.com"},"directories":{},"maintainers":[{"name":"luqi_tan","email":"295099422@qq.com"},{"name":"wanpengsz","email":"wanpengsz@163.com"},{"name":"xkh111","email":"xukaihui11@163.com"},{"name":"hcordova","email":"chenlihuiabc@163.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/cordova-plugin-battery-status_2.0.4_1785141935483_0.8440541001814501"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-18T09:46:12.492Z","modified":"2026-07-27T08:45:35.910Z","2.0.3":"2026-03-18T09:46:12.778Z","2.0.4":"2026-07-27T08:45:35.637Z"},"bugs":{"url":"https://gitcode.com/CPF-Cordova/cordova-plugin-battery-status/issues"},"author":{"name":"Huawei Device, Inc. Ltd. and","email":"马弓手"},"license":"Apache-2.0","keywords":["cordova","battery-status","ecosystem:cordova","cordova-openharmony"],"repository":{"type":"git","url":"gitcode:CPF-Cordova/cordova-plugin-battery-status"},"description":"Cordova Battery Status Plugin","maintainers":[{"name":"luqi_tan","email":"295099422@qq.com"},{"name":"wanpengsz","email":"wanpengsz@163.com"},{"name":"xkh111","email":"xukaihui11@163.com"},{"name":"hcordova","email":"chenlihuiabc@163.com"}],"readme":"# <center>cordova-plugin-battery-status</center>\r\n\r\n[![zh-CN](https://img.shields.io/badge/lang-中文-blue.svg)](README.md)\r\n[![en](https://img.shields.io/badge/lang-English-blue.svg)](README.en.md)\r\n\r\n本项目基于 [cordova-plugin-battery-status@2.0.3](https://www.npmjs.com/package/cordova-plugin-battery-status/v/2.0.3) 开发，本文档重点阐述其在 OpenHarmony（OHOS）系统中的具体应用。\r\n\r\n- [cordova-plugin-battery-status](#cordova-plugin-battery-status)\r\n  - [简介](#简介)\r\n  - [支持平台](#支持平台)\r\n  - [下载安装](#下载安装)\r\n    - [从 npm 安装（推荐）](#从-npm-安装推荐)\r\n    - [指定平台安装 ohos](#指定平台安装-ohos)\r\n    - [从 GitCode 仓库安装](#从-gitcode-仓库安装)\r\n    - [离线安装（本地包）](#离线安装本地包)\r\n    - [安装后验证](#安装后验证)\r\n    - [卸载](#卸载)\r\n  - [约束与限制](#约束与限制)\r\n    - [兼容性](#兼容性)\r\n  - [使用示例](#使用示例)\r\n  - [使用说明](#使用说明)\r\n    - [核心 API 说明](#核心-api-说明)\r\n      - [1. 监听电池状态变化（batterystatus）](#1-监听电池状态变化batterystatus)\r\n      - [2. 监听低电量状态（batterylow）](#2-监听低电量状态batterylow)\r\n      - [3. 监听临界电量状态（batterycritical）](#3-监听临界电量状态batterycritical)\r\n      - [4. 移除事件监听](#4-移除事件监听)\r\n  - [完整示例项目](#完整示例项目)\r\n  - [目录结构](#目录结构)\r\n  - [贡献代码](#贡献代码)\r\n  - [许可证](#许可证)\r\n  - [官方资源](#官方资源)\r\n\r\n\r\n## 简介\r\n\r\n`cordova-plugin-battery-status` 是 Harmony Cordova 生态系统中一款核心插件，用于为 Cordova 应用提供设备电池状态监测能力，支持实时获取电池电量、充电状态等关键数据，并能监听低电量、临界电量等事件，帮助开发者根据电池状态调整应用行为。\r\n\r\n- 实时获取设备电池电量百分比\r\n\r\n- 监测设备充电状态（充电/未充电）\r\n\r\n- 监听低电量事件，及时提示用户充电\r\n\r\n- 监听临界电量事件，触发紧急数据保存等逻辑\r\n\r\n- 支持多平台自适应，API 简洁易用\r\n\r\n## 支持平台\r\n\r\n- **Android**：API 21 及以上（Android 5.0+）\r\n\r\n- **iOS**：10.0 及以上\r\n\r\n- **OHOS**：5.0+\r\n\r\n- **Windows**：10.0 及以上（包含 UWP 通用应用场景）\r\n\r\n- **Browser**：主流桌面及移动浏览器（Chrome、Firefox、Edge、Safari）\r\n\r\n- **Electron**：11.0.0 及以上（支持 Windows、macOS、Linux 桌面平台）\r\n\r\n## 下载安装\r\n\r\n通过 hcordova CLI 即可快速安装插件，支持从 npm 仓库或 GitCode 仓库获取。\r\n\r\n### 从 npm 安装（推荐）\r\n\r\n```bash\r\n# 使用 hcordova CLI 安装\r\n# 安装 hcordova 命令化工具\r\nnpm install -g hcordova\r\n\r\n# 全平台安装插件\r\nhcordova plugin add cordova-plugin-battery-status\r\n\r\n```\r\n\r\n### 指定平台安装 ohos\r\n\r\n仅为 OHOS 平台安装插件：\r\n\r\n```bash\r\n# 仅安装到 OHOS 平台\r\nhcordova plugin add cordova-plugin-battery-status --platform ohos\r\n\r\n```\r\n\r\n### 从 GitCode 仓库安装\r\n\r\n仅为 OHOS 平台安装插件：\r\n\r\n```bash\r\n# 仅安装到 OHOS 平台\r\n# 默认分支安装\r\nhcordova plugin add https://gitcode.com/CPF-Cordova/cordova-plugin-battery-status.git --platform ohos\r\n\r\n# 指定标签/分支安装\r\nhcordova plugin add https://gitcode.com/CPF-Cordova/cordova-plugin-battery-status.git@develop --platform ohos\r\n\r\n```\r\n\r\n### 离线安装（本地包）\r\n\r\n适用于无网络环境，先下载插件包到本地，再执行离线安装：\r\n\r\n```bash\r\n# 下载插件包到本地（示例路径：../Downloads/cordova-plugin-battery-status）\r\n# 执行离线安装\r\nhcordova plugin add ../Downloads/cordova-plugin-battery-status  --platform ohos\r\n```\r\n\r\n###  安装后验证\r\n\r\n安装完成后，可通过以下命令验证插件是否成功添加到项目中：\r\n\r\n```bash\r\n# 查看已安装的插件列表，若包含本插件 ID 则表示插件已成功安装\r\nhcordova plugin list\r\n```\r\n\r\n### 卸载\r\n\r\n```bash\r\n# Cordova CLI 全平台卸载\r\nhcordova plugin remove cordova-plugin-battery-status \r\n\r\n# 指定平台卸载\r\nhcordova plugin remove cordova-plugin-battery-status --platform ohos\r\n\r\n```\r\n\r\n## 约束与限制\r\n\r\n* 依赖插件：无强制依赖\r\n\r\n* OHOS 平台无法获取完整的电池数据（如充电时间、放电时间），仅支持电量和充电状态监测\r\n\r\n### 兼容性\r\n\r\n支持：\r\n\r\n| 项目 | 版本/信息 |\r\n|-----|--------|\r\n| SDK | API12+ |\r\n| IDE | DevEco Studio: 5.0+ |\r\n| ROM | 5.1+ |\r\n| Emulator | OpenHarmony 6.0+ |\r\n\r\n在以下版本中已测试通过：\r\n\r\n| 项目 | 版本/信息 |\r\n|-----|--------|\r\n| @cordova-ohos/ohos | 14.0.1-ohos-14.0.1 |\r\n| SDK | 5.0.0(12) |\r\n| IDE | DevEco Studio: 6.0.13.200 |\r\n| ROM | 5.1.0.120 SP3 |\r\n| Emulator | OpenHarmony 6.0.1(21) |\r\n\r\n## 使用示例\r\n\r\n```js\r\n// 等待 Cordova 环境就绪\r\ndocument.addEventListener('deviceready', function() {\r\n    // 监听电池状态变化事件\r\n    document.addEventListener('batterystatus', function(status) {\r\n        console.log('当前电池电量：', status.level + '%');\r\n        console.log('充电状态：', status.isPlugged ? '正在充电' : '未充电');\r\n    }, false);\r\n\r\n    // 监听低电量事件\r\n    document.addEventListener('batterylow', function(status) {\r\n        alert(`低电量提醒：当前电量${status.level}%，请及时充电`);\r\n    }, false);\r\n\r\n    // 监听临界电量事件\r\n    document.addEventListener('batterycritical', function(status) {\r\n        alert(`紧急提醒：当前电量${status.level}%，设备即将关机，请立即充电！`);\r\n    }, false);\r\n}, false);\r\n\r\n```\r\n\r\n## 使用说明\r\n\r\n### 核心 API 说明\r\n\r\n插件通过监听三种事件实现电池状态监测，所有事件回调均接收包含电池信息的 status 对象，核心属性如下：\r\n\r\n| 属性名 | 类型 | 说明 |\r\n|---|---|---|\r\n| `level` | Number | 电池电量百分比（0-100），0 表示电量耗尽，100 表示电量满格 |\r\n| `isPlugged` | Boolean | 充电状态标识，true 表示正在充电，false 表示未充电 |\r\n#### 1. 监听电池状态变化（batterystatus）\r\n\r\n电池状态发生变化时（电量增减、充电状态切换）触发，用于实时获取电池信息。\r\n\r\n```js\r\ndocument.addEventListener('deviceready', function() {\r\n    document.addEventListener('batterystatus', function(status) {\r\n        // 更新页面显示\r\n        document.getElementById('batteryLevel').textContent = `电量：${status.level}%`;\r\n        document.getElementById('chargeStatus').textContent = status.isPlugged ? '正在充电' : '未充电';\r\n    }, false);\r\n}, false);\r\n\r\n```\r\n\r\n#### 2. 监听低电量状态（batterylow）\r\n\r\n电池电量低于系统阈值（OHOS 通常为 20%）时触发，用于发送低电量提醒。\r\n\r\n```js\r\ndocument.addEventListener('deviceready', function() {\r\n    document.addEventListener('batterylow', function(status) {\r\n        navigator.notification.alert(\r\n            `当前电池电量较低（${status.level}%），建议及时充电，避免数据丢失。`,\r\n            function() {},\r\n            '低电量提醒',\r\n            '知道了'\r\n        );\r\n    }, false);\r\n}, false);\r\n\r\n```\r\n\r\n#### 3. 监听临界电量状态（batterycritical）\r\n\r\n电池电量低于系统临界阈值（Android 通常为 5%，iOS 通常为 10%）时触发，用于紧急处理。\r\n\r\n```js\r\ndocument.addEventListener('deviceready', function() {\r\n    document.addEventListener('batterycritical', function(status) {\r\n        // 自动保存用户数据\r\n        saveUserData().then(function() {\r\n            navigator.notification.confirm(\r\n                `紧急提醒：当前电池电量已不足${status.level}%，设备即将关机！请立即充电。`,\r\n                function(buttonIndex) {\r\n                    if (buttonIndex === 1 && cordova.platformId === 'android') {\r\n                        cordova.plugins.settings.open('battery');\r\n                    }\r\n                },\r\n                '电池电量紧急警告',\r\n                ['立即充电', '稍后处理']\r\n            );\r\n        });\r\n    }, false);\r\n}, false);\r\n\r\n```\r\n\r\n#### 4. 移除事件监听\r\n\r\n无需监听时移除，避免内存泄漏。\r\n\r\n```js\r\ndocument.addEventListener('deviceready', function() {\r\n    function onBatteryStatus(status) {\r\n        console.log('电池状态：', status.level + '%');\r\n    }\r\n    // 添加监听\r\n    document.addEventListener('batterystatus', onBatteryStatus, false);\r\n    // 移除监听\r\n    document.removeEventListener('batterystatus', onBatteryStatus, false);\r\n}, false);\r\n\r\n```\r\n\r\n## 完整示例项目\r\n\r\n以下是一个包含所有电池状态监听功能的完整 Cordova 页面示例，可直接复制到项目的 `www/index.html` 文件中使用：\r\n\r\n```html\r\n<!DOCTYPE html>\r\n<html>\r\n<head>\r\n    <meta charset=\"utf-8\">\r\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no\">\r\n    <title>cordova-plugin-battery-status 示例</title>\r\n    <style>\r\n        body {\r\n            font-family: Arial, sans-serif;\r\n            padding: 20px;\r\n            max-width: 600px;\r\n            margin: 0 auto;\r\n            background-color: #f5f5f5;\r\n        }\r\n       .battery-card {\r\n            background-color: white;\r\n            border-radius: 10px;\r\n            padding: 25px;\r\n            box-shadow: 0 2px 10px rgba(0,0,0,0.1);\r\n            margin-bottom: 20px;\r\n        }\r\n        .battery-title {\r\n            text-align: center;\r\n            color: #333;\r\n            margin-top: 0;\r\n            margin-bottom: 20px;\r\n        }\r\n\r\n        .battery-info {\r\n            font-size: 18px;\r\n            margin: 15px 0;\r\n            color: #555;\r\n        }\r\n\r\n        .battery-level {\r\n            font-size: 24px;\r\n            font-weight: bold;\r\n            color: #2196F3;\r\n            text-align: center;\r\n            margin: 20px 0;\r\n        }\r\n\r\n        .charge-indicator {\r\n            display: inline-block;\r\n            width: 12px;\r\n            height: 12px;\r\n            border-radius: 50%;\r\n            margin-right: 8px;\r\n        }\r\n\r\n        .charging {\r\n            background-color: #4CAF50;\r\n            animation: blink 1.5s infinite;\r\n        }\r\n\r\n        .not-charging {\r\n            background-color: #F44336;\r\n        }\r\n\r\n        @keyframes blink {\r\n            0% { opacity: 1; }\r\n            50% { opacity: 0.5; }\r\n            100% { opacity: 1; }\r\n        }\r\n\r\n        .btn {\r\n            display: block;\r\n            width: 100%;\r\n            padding: 12px;\r\n            margin-top: 15px;\r\n            background-color: #2196F3;\r\n            color: white;\r\n            border: none;\r\n            border-radius: 5px;\r\n            font-size: 16px;\r\n            cursor: pointer;\r\n            transition: background-color 0.2s;\r\n        }\r\n\r\n        .btn:hover {\r\n            background-color: #1976D2;\r\n        }\r\n\r\n        .note {\r\n            font-size: 14px;\r\n            color: #666;\r\n            padding: 10px;\r\n            background-color: #e8f4fd;\r\n            border-radius: 5px;\r\n            margin-top: 20px;\r\n        }\r\n    </style>\r\n\r\n    <script type=\"text/javascript\" src=\"cordova.js\"></script>\r\n    <script type=\"text/javascript\">\r\n        // 等待 Cordova 环境就绪\r\n        document.addEventListener('deviceready', onDeviceReady, false);\r\n        function onDeviceReady() {\r\n            console.log('Cordova 环境已就绪，可监听电池状态');\r\n            // 初始化页面显示\r\n            document.getElementById('batteryLevel').textContent = '电量：获取中...';\r\n            document.getElementById('chargeStatus').textContent = '充电状态：获取中...';\r\n            document.getElementById('timeInfo').textContent = '时间预估：获取中...';\r\n            \r\n            // 监听电池状态变化\r\n            document.addEventListener('batterystatus', updateBatteryInfo, false);\r\n            \r\n            // 监听低电量事件\r\n            document.addEventListener('batterylow', showLowBatteryAlert, false);\r\n\r\n            // 监听临界电量事件\r\n            document.addEventListener('batterycritical', showCriticalBatteryAlert, false);\r\n\r\n            // 绑定移除监听按钮事件\r\n            document.getElementById('removeListenerBtn').addEventListener('click', function() {\r\n                document.removeEventListener('batterystatus', updateBatteryInfo, false);\r\n                document.removeEventListener('batterylow', showLowBatteryAlert, false);\r\n                document.removeEventListener('batterycritical', showCriticalBatteryAlert, false);\r\n                alert('已移除所有电池状态监听');\r\n                this.disabled = true;\r\n                this.textContent = '监听已移除';\r\n            });\r\n        }\r\n\r\n        // 更新电池信息显示\r\n        function updateBatteryInfo(status) {\r\n            // 更新电量显示\r\n            const levelText = `电量：${status.level}%`;\r\n            document.getElementById('batteryLevel').textContent = levelText;\r\n            document.getElementById('batteryLevel').style.color = getLevelColor(status.level);\r\n\r\n            \r\n            // 更新充电状态显示\r\n            const chargeText = status.isPlugged ? '正在充电' : '未充电';\r\n            const chargeIndicator = document.createElement('span');\r\n            chargeIndicator.className = `charge-indicator ${status.isPlugged ? 'charging' : 'not-charging'}`;\r\n            const chargeStatusElement = document.getElementById('chargeStatus');\r\n            chargeStatusElement.innerHTML = '';\r\n            chargeStatusElement.appendChild(chargeIndicator);\r\n            chargeStatusElement.appendChild(document.createTextNode(`充电状态：${chargeText}`));\r\n\r\n            // 更新时间预估显示\r\n            let timeText = '无法获取时间预估';\r\n            if (status.isPlugged && status.chargingTime !== null && status.chargingTime >= 0) {\r\n                const hours = Math.floor(status.chargingTime / 3600);\r\n                const minutes = Math.floor((status.chargingTime % 3600) / 60);\r\n                timeText = `预计充满时间：${hours > 0 ? hours + '小时' : ''}${minutes}分钟`;\r\n            } else if (!status.isPlugged && status.dischargingTime !== null && status.dischargingTime >= 0) {\r\n                const hours = Math.floor(status.dischargingTime / 3600);\r\n                const minutes = Math.floor((status.dischargingTime % 3600) / 60);\r\n                timeText = `预计剩余使用时间：${hours > 0 ? hours + '小时' : ''}${minutes}分钟`;\r\n            }\r\n\r\n            document.getElementById('timeInfo').textContent = timeText;\r\n        }\r\n\r\n        // 根据电量获取显示颜色（绿色→黄色→红色）\r\n        function getLevelColor(level) {\r\n            if (level >= 60) return '#4CAF50'; // 绿色\r\n            if (level >= 20) return '#FFC107'; // 黄色\r\n            return '#F44336'; // 红色\r\n        }\r\n\r\n        // 显示低电量提醒\r\n        function showLowBatteryAlert(status) {\r\n            navigator.notification.alert(\r\n                `当前电池电量较低（${status.level}%），建议及时充电，避免影响使用。`,\r\n                function() {\r\n                    // 降低屏幕亮度（仅 Android 支持，需额外插件）\r\n                    if (cordova.platformId === 'android' && typeof cordova.plugins.brightness !== 'undefined') {\r\n                        cordova.plugins.brightness.setBrightness(0.5);\r\n                    }\r\n                },\r\n                '低电量提醒',\r\n                '知道了'\r\n            );\r\n        }\r\n\r\n        // 显示临界电量警告\r\n        function showCriticalBatteryAlert(status) {\r\n            // 自动保存数据\r\n            saveUserData().then(function() {\r\n                navigator.notification.confirm(\r\n                    `紧急提醒：当前电池电量已不足${status.level}%，设备即将关机！请立即充电。`,\r\n                    function(buttonIndex) {\r\n                        if (buttonIndex === 1) {\r\n                            // 跳转至系统电池设置页面（Android）\r\n                            if (cordova.platformId === 'android') {\r\n                                cordova.plugins.settings.open('battery', function() {}, function(err) {\r\n                                    console.error('打开电池设置失败：', err);\r\n                                });\r\n                            }\r\n                        }\r\n                    },\r\n                    '电池电量紧急警告',\r\n                    ['立即充电', '稍后处理']\r\n                );\r\n            });\r\n        }\r\n\r\n        // 模拟保存用户数据\r\n        function saveUserData() {\r\n            return new Promise(function(resolve) {\r\n                console.log('正在自动保存用户数据...');\r\n                // 实际项目中可添加 localStorage 存储、API 同步等逻辑\r\n                setTimeout(function() {\r\n                    console.log('用户数据保存完成');\r\n                    resolve();\r\n                }, 800);\r\n            });\r\n        }\r\n    </script>\r\n</head>\r\n\r\n<body>\r\n    <div class=\"battery-card\">\r\n        <h1 class=\"battery-title\">设备电池状态监测</h1>\r\n        <div class=\"battery-level\" id=\"batteryLevel\">电量：获取中...</div>\r\n        <div class=\"battery-info\" id=\"chargeStatus\">充电状态：获取中...</div>\r\n        <div class=\"battery-info\" id=\"timeInfo\">时间预估：获取中...</div>\r\n        <button id=\"removeListenerBtn\" class=\"btn\">移除电池状态监听</button>\r\n    </div>\r\n\r\n    <div class=\"note\">\r\n        <strong>注意事项：</strong><br>\r\n        1. OHOS 无法获取完整的电池数据（如充电时间、放电时间）。<br>\r\n        2. 电池电量更新频率由系统决定（通常为 1%-5% 电量变化时触发，或充电状态切换时触发）。<br>\r\n        3. 若需获取屏幕亮度控制功能，需额外安装 `cordova-plugin-brightness` 插件。\r\n    </div>\r\n\r\n</body>\r\n\r\n</html>\r\n```\r\n\r\n## 目录结构\r\n\r\n```\r\ncordova-plugin-battery-status/\r\n├── src/                          # 源代码目录\r\n│   └── main/                     # 主要源代码\r\n│       └── cpp/                  # C++ 原生代码\r\n│           └── BatteryListener/  # 电池监听模块\r\n│               ├── BatteryListener.cpp  # 电池状态监听功能的 C++ 实现\r\n│               └── BatteryListener.h    # 电池状态监听功能的头文件\r\n├── www/                          # Web 资源目录\r\n│   └── JS battery.js             # JavaScript 电池状态接口（Cordova 桥接层）\r\n├── .gitignore                    # Git 忽略文件配置\r\n├── LICENSE                       # 项目开源许可证\r\n├── OAT.xml                       # OpenHarmony 审核配置文件\r\n├── package.json                  # Node.js 包配置\r\n├── plugin.xml                    # Cordova 插件描述文件（核心配置）\r\n└── README.md                     # 项目说明文档\r\n```\r\n\r\n## 贡献代码\r\n\r\n使用过程中发现任何问题都可以提 [Issue](https://gitcode.com/CPF-Cordova/cordova-plugin-battery-status/issues) ，当然也非常欢迎发 [PR](https://gitcode.com/CPF-Cordova/cordova-plugin-battery-status/pulls) 共建。\r\n\r\n## 许可证\r\n\r\n本插件基于 **Apache License 2.0** 开源，详见 [LICENSE](LICENSE) 文件。\r\n\r\n## 官方资源\r\n\r\n- Android 和 iOS：[cordova-plugin-battery-status 官方指南](https://www.npmjs.com/package/cordova-plugin-battery-status)\r\n\r\n- GitCode 仓库：[CPF-Cordova/cordova-plugin-battery-status](https://gitcode.com/CPF-Cordova/cordova-plugin-battery-status)\r\n","readmeFilename":"README.md"}