{"_id":"@capacitor-ohos/network","_rev":"2-f84c71ea0c2ca3c57ccd18d6284ab22b","name":"@capacitor-ohos/network","dist-tags":{"latest":"8.0.2"},"versions":{"8.0.1":{"name":"@capacitor-ohos/network","version":"8.0.1","keywords":["capacitor","plugin","native"],"author":{"url":"Group","name":"Huawei Device Co., Ltd and iSoftStone Information Technology"},"license":"MIT","_id":"@capacitor-ohos/network@8.0.1","maintainers":[{"name":"luqi_tan","email":"295099422@qq.com"}],"bugs":{"url":"https://gitcode.com/CPF-Ionic/capacitor-network/issues"},"dist":{"shasum":"c57411bc25fffdb55c643b3840bca34f6f71915b","tarball":"https://registry.npmjs.org/@capacitor-ohos/network/-/network-8.0.1.tgz","fileCount":9,"integrity":"sha512-P4r71E0njiG0Fvj0zZM8n9G0VHOxN8K3QcuF+CnRuobydfzMWhF7+CVqlYgW4p6OaYbd7L4H4/mgSAlJMAmmtA==","signatures":[{"sig":"MEQCIFOjoMhoO7bkY+eRSNkqwPNnA8AZZoyhKujSuf3srAOQAiBSJAVav6RwoU73w6bE9EkVZ5gvprzhu4qDKeDQ8dhA8Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":33498},"gitHead":"e39276dbc40cca2a5fb4c5320e15e619c5c40ea8","_npmUser":{"name":"luqi_tan","email":"295099422@qq.com"},"capacitor":{"id":"@capacitor/network","platforms":["openharmony"]},"repository":{"url":"gitcode:CPF-Ionic/capacitor-network","type":"git"},"_npmVersion":"10.5.1","description":"The Network API provides network and connectivity information.","directories":{},"_nodeVersion":"22.0.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/network_8.0.1_1777542078100_0.6024030667623057","host":"s3://npm-registry-packages-npm-production"}},"8.0.2":{"name":"@capacitor-ohos/network","version":"8.0.2","description":"The Network API provides network and connectivity information.","capacitor":{"id":"@capacitor/network","platforms":["openharmony"]},"repository":{"type":"git","url":"gitcode:CPF-Ionic/capacitor-network"},"bugs":{"url":"https://gitcode.com/CPF-Ionic/capacitor-network/issues"},"keywords":["capacitor","plugin","native"],"author":{"name":"Huawei Device Co., Ltd and iSoftStone Information Technology","url":"Group"},"license":"MIT","_id":"@capacitor-ohos/network@8.0.2","gitHead":"977102694e5185f2ed7876924fdf58e7c4375f6a","_nodeVersion":"22.0.0","_npmVersion":"10.5.1","dist":{"integrity":"sha512-ZpewVHLH2frwlI8gHeMyB2nI8jUdu6i/2NTLDrDSJOE6Z8lKu688abWme32l15CoK13upmeMTihfu863UywlzQ==","shasum":"e7681b0be17abed3019a2272cdfb533de7fc8985","tarball":"https://registry.npmjs.org/@capacitor-ohos/network/-/network-8.0.2.tgz","fileCount":9,"unpackedSize":33505,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDGJn/Xq90C9JscAQjfPV4+fduSTOg0hzpaoa4lqg/GlgIhAKQmFqnL3Y1PaArhudql7YnozHwXZ4kHWH7ReSgH9F/e"}]},"_npmUser":{"name":"luqi_tan","email":"295099422@qq.com"},"directories":{},"maintainers":[{"name":"luqi_tan","email":"295099422@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/network_8.0.2_1784792297476_0.4915193874852053"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-30T09:41:17.874Z","modified":"2026-07-23T07:38:17.774Z","8.0.1":"2026-04-30T09:41:18.289Z","8.0.2":"2026-07-23T07:38:17.613Z"},"bugs":{"url":"https://gitcode.com/CPF-Ionic/capacitor-network/issues"},"author":{"name":"Huawei Device Co., Ltd and iSoftStone Information Technology","url":"Group"},"license":"MIT","keywords":["capacitor","plugin","native"],"repository":{"type":"git","url":"gitcode:CPF-Ionic/capacitor-network"},"description":"The Network API provides network and connectivity information.","maintainers":[{"name":"luqi_tan","email":"295099422@qq.com"}],"readme":"# <center>@capacitor/network</center>\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本项目基于 [@capacitor/network@8.0.0](https://www.npmjs.com/package/@capacitor/network) 开发。\r\n\r\n## 简介\r\n\r\n`@capacitor/network` 是 capacitor 生态系统中的核心插件，用于提供网络和连接信息，为跨平台应用开发提供设备差异化适配能力，兼容 capacitor 的 Android、iOS 等主流移动平台及浏览器环境，本文档主要说明在 OpenHarmony 系统中的使用。\r\n\r\n该插件提供查询网络连接状态、监听网络状态变化的能力，满足移动应用中根据网络状况调整行为的需求，比如在无网络时提示用户、切换不同的加载策略等。\r\n\r\n## 支持平台\r\n\r\n- **OpenHarmony**：5.0+\r\n\r\n## 下载安装\r\n\r\n通过命令行或手动引入即可快速安装插件，支持从npm仓库获取。\r\n\r\n### 命令行安装（推荐）\r\n\r\n安装hionic CLI：\r\n\r\n```bash\r\nnpm install -g hionic\r\n```\r\n\r\n以下两种方式中**任选其一**即可，无需重复操作：\r\n\r\nnpm安装：\r\n\r\n```bash\r\n# 安装插件\r\nnpm install @capacitor/network\r\n\r\n# 同步插件\r\nhionic sync openharmony\r\n```\r\n\r\nhionic CLI安装：\r\n\r\n```bash\r\nhionic plugin add @capacitor/network\r\n```\r\n\r\n### 手动引入安装\r\n\r\n根据插件源码中 `plugin.xml` 配置在项目中引入插件：\r\n\r\n#### 1. 添加插件配置\r\n\r\n根据 `plugin.xml` 的 `config-json` 项，通过 `target` 字段找到 `entry` 模块中 `capacitor.plugins.json` 文件，并根据 `param` 标签添加配置如下：\r\n\r\n```json\r\n{\r\n    \"pkg\": \"@capacitor/network\",\r\n    \"classpath\": \"Network\"\r\n}\r\n```\r\n\r\n#### 2. 修改 CMake 配置\r\n\r\n根据 `plugin.xml` 的 `CMakeLists` 项，通过 `modules-name` 字段找到模块 capacitor，路径为 `target` 字段的 `CMakeLists.txt` 文件，并根据 `param` 标签添加 `add_subdirectory` 和 `target_link_libraries` 如下：\r\n\r\n```cmake\r\n#START_ADD_SUBDIRECTORY\r\n// ...\r\nadd_subdirectory(Network)\r\n// ...\r\n#END_ADD_SUBDIRECTORY\r\n\r\n// ...\r\n\r\ntarget_link_libraries(capacitor PUBLIC\r\n  \"-Wl,--whole-archive\"\r\n  // ...\r\n  Network\r\n  // ...\r\n  \"-Wl,--no-whole-archive\"\r\n)\r\n```\r\n\r\n#### 3. 复制源码文件\r\n\r\n根据 `plugin.xml` 的 `source-file` 项，根据 `src` 字段找到需要复制的文件，并根据 `modules-name` 字段和 `target-dir` 字段找到文件复制的具体模块和目录：\r\n\r\n将源码中 src/main/cpp/Network 目录下的 Network.h、Network.cpp、CMakeLists.txt 文件引入到 capacitor 模块中 src/main/cpp/Network 目录下。\r\n\r\n## 卸载\r\n\r\n```bash\r\n# 卸载 network 插件\r\nhionic plugin remove @capacitor/network\r\n```\r\n\r\n## 约束与限制\r\n\r\n### 兼容性\r\n\r\n在以下版本中已测试通过：\r\n\r\n1. SDK: 5.0.5(17); IDE: DevEco Studio: 6.0.0; ROM: 5.1.0.150;\r\n\r\n### 权限要求\r\n\r\nOpenHarmony 需要申请网络信息权限，在主工程的 `module.json5` 的 `requestPermissions` 添加 `ohos.permission.GET_NETWORK_INFO` 权限，示例如下：\r\n\r\n```json\r\n{\r\n  \"name\" : \"ohos.permission.GET_NETWORK_INFO\",\r\n  \"reason\": \"$string:network\",\r\n  \"usedScene\": {\r\n    \"abilities\": [\r\n      \"EntryAbility\"\r\n    ],\r\n    \"when\": \"always\"\r\n  }\r\n}\r\n```\r\n\r\n更多权限说明参考：[申请应用权限](https://docs.openharmony.cn/pages/v6.0/zh-cn/application-dev/security/AccessToken/app-permissions.md)。\r\n\r\n## 使用示例\r\n\r\n### 基础示例：监听网络状态变化\r\n\r\n```javascript\r\nimport { Network } from '@capacitor/network';\r\n\r\n// 添加网络状态变化监听器\r\nNetwork.addListener('networkStatusChange', status => {\r\n  console.log('Network status changed', status);\r\n});\r\n\r\n// 获取当前网络状态\r\nconst logCurrentNetworkStatus = async () => {\r\n  const status = await Network.getStatus();\r\n  console.log('Network status:', status);\r\n};\r\n```\r\n\r\n## 使用说明\r\n\r\n### 接口方法\r\n\r\n| 方法名 | 返回类型 | 描述 |\r\n| ---- | ---- | ---- |\r\n| getStatus() | Promise&lt;[ConnectionStatus](#connectionstatus)&gt; | 查询当前网络连接状态 |\r\n| addListener('networkStatusChange', listenerFunc: [ConnectionStatusChangeListener](#connectionstatuschangelistener)) | Promise&lt;[PluginListenerHandle](#pluginlistenerhandle)&gt; | 监听网络连接的变化 |\r\n| removeAllListeners() | Promise&lt;void&gt; | 移除该插件的所有监听器（包括网络状态的更改） |\r\n\r\n### 数据结构\r\n\r\n#### ConnectionStatus\r\n\r\n表示网络连接的状态和类型\r\n\r\n| 属性                 | 类型               | 描述                                                         |\r\n| -------------------- | ------------------ | ------------------------------------------------------------ |\r\n| **`connected`**      | `boolean`          | 是否存在活跃的连接                                           |\r\n| **`connectionType`** | [ConnectionType](#connectiontype)    | 目前使用的网络连接类型。如果没有活跃的网络连接，`connectionType` 会是 `'none'` |\r\n\r\n#### ConnectionType\r\n\r\n设备可能拥有的网络连接类型。\r\n\r\n类型定义：\r\n```typescript\r\ntype ConnectionType = 'wifi' | 'cellular' | 'none' | 'unknown';\r\n```\r\n\r\n#### ConnectionStatusChangeListener\r\n\r\n网络状态变化回调函数。\r\n\r\n类型定义：\r\n```typescript\r\n(status: ConnectionStatus) => void;\r\n```\r\n\r\n#### PluginListenerHandle\r\n\r\n监听器句柄，用于移除监听器。\r\n\r\n| 属性         | 类型                               |\r\n| ------------ | ---------------------------------- |\r\n| **`remove`** | `() => Promise<void>`              |\r\n\r\n## 目录结构\r\n\r\n```\r\n|---- 项目根目录\r\n|     |---- src\r\n|           |---- main\r\n|                 |---- cpp\r\n|                       |---- Network   # 插件核心 C++ 实现\r\n|                             |---- Network.cpp\r\n|                             |---- Network.h\r\n|                             |---- CMakeLists.txt\r\n|     |---- README.md          # 说明文档\r\n|     |---- package.json       # npm 配置文件\r\n|     |---- plugin.xml         # capacitor 插件配置\r\n|     |---- LICENSE            # 许可证文件\r\n```\r\n\r\n## 贡献代码\r\n\r\n使用过程中发现任何问题都可以提 [Issue](https://gitcode.com/CPF-Ionic/capacitor-network/issues)，当然，也非常欢迎发 [PR](https://gitcode.com/CPF-Ionic/capacitor-network/pulls) 共建。\r\n\r\n## 许可证\r\n\r\n本插件基于 **MIT License** 开源，详见 [LICENSE](./LICENSE) 文件。\r\n","readmeFilename":"README.md"}