{"_id":"@cordova-ohos/cordova-plugin-contacts","_rev":"5-575df9abcd62775993c5e4019900207d","name":"@cordova-ohos/cordova-plugin-contacts","dist-tags":{"latest":"3.0.2"},"versions":{"3.0.1":{"name":"@cordova-ohos/cordova-plugin-contacts","version":"3.0.1","keywords":["cordova","contacts","ecosystem:cordova","cordova-openharmony"],"author":{"name":"Huawei Device, Inc. Ltd. and","email":"马弓手"},"license":"Apache-2.0","_id":"@cordova-ohos/cordova-plugin-contacts@3.0.1","maintainers":[{"name":"luqi_tan","email":"295099422@qq.com"}],"bugs":{"url":"https://gitcode.com/OpenHarmony-Cordova/cordova-plugin-contacts/issues"},"dist":{"shasum":"8150b7405665b4611f822f7493cea5faf203e2b4","tarball":"https://registry.npmjs.org/@cordova-ohos/cordova-plugin-contacts/-/cordova-plugin-contacts-3.0.1.tgz","fileCount":18,"integrity":"sha512-F6UW/xEX0dlmhKW+7CZfuOZuiT9CcoVSnRKzpxC/T9LHjVdhPfM0YKyErBxFb50KVbST8ZbNWk1eAhwBFJIlEw==","signatures":[{"sig":"MEUCIQD+TrR6Tn2mu9/3VHJOCCxsp0EFWKn+e05gaq5MOh1PoAIgVWPz/+TuycHQBCG6Gt0+iILhaeC/tqqC7X7sYhL4v/c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":51427},"cordova":{"id":"cordova-plugin-contacts","platforms":["ohos"]},"engines":{"cordovaDependencies":{"3.0.1":{"hcordova":">=1.0.0","@cordova-ohos/ohos":">=2.0.0"}}},"gitHead":"11ba1e43b36cd2f26b2206948d0a439b31e49342","_npmUser":{"name":"luqi_tan","email":"295099422@qq.com"},"repository":{"url":"gitcode:OpenHarmony-Cordova/cordova-plugin-contacts","type":"git"},"_npmVersion":"10.5.1","description":"Cordova alipay Plugin","directories":{},"_nodeVersion":"22.0.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/cordova-plugin-contacts_3.0.1_1773968726793_0.15267033610212155","host":"s3://npm-registry-packages-npm-production"}},"3.0.2":{"name":"@cordova-ohos/cordova-plugin-contacts","version":"3.0.2","description":"Cordova Contacts Plugin","cordova":{"id":"cordova-plugin-contacts","platforms":["ohos"]},"repository":{"type":"git","url":"gitcode:CPF-Cordova/cordova-plugin-contacts"},"bugs":{"url":"https://gitcode.com/CPF-Cordova/cordova-plugin-contacts/issues"},"keywords":["cordova","contacts","ecosystem:cordova","cordova-openharmony"],"engines":{"cordovaDependencies":{"3.0.2":{"@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-contacts@3.0.2","gitHead":"21748e6ea8bacec7db0a9b4a263f522690443d23","_nodeVersion":"22.0.0","_npmVersion":"10.5.1","dist":{"integrity":"sha512-8QFOEXFbhNK1KO6CfGXSXzJ6xVKDgsFIosBZyCMTZrlIwp8/isW5Tnv1WiTvdFQ4+9FQsLb3TW2zpfjrE4dh/w==","shasum":"af31c0b1b4ea99b580270a1ccfc397e0afeaad48","tarball":"https://registry.npmjs.org/@cordova-ohos/cordova-plugin-contacts/-/cordova-plugin-contacts-3.0.2.tgz","fileCount":19,"unpackedSize":67306,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIFIYktEmNMM3o5FH/WL/bCWoz1vgQgfPi1sNaGSHNL84AiEAhGztVlNBcR+NzJ37ogif/qnVZGdNAwHgrQvHer/qoJQ="}]},"_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-contacts_3.0.2_1785158029965_0.5830808494944142"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-20T01:05:26.700Z","modified":"2026-07-27T13:13:50.309Z","3.0.1":"2026-03-20T01:05:26.939Z","3.0.2":"2026-07-27T13:13:50.100Z"},"bugs":{"url":"https://gitcode.com/CPF-Cordova/cordova-plugin-contacts/issues"},"author":{"name":"Huawei Device, Inc. Ltd. and","email":"马弓手"},"license":"Apache-2.0","keywords":["cordova","contacts","ecosystem:cordova","cordova-openharmony"],"repository":{"type":"git","url":"gitcode:CPF-Cordova/cordova-plugin-contacts"},"description":"Cordova Contacts 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-contacts</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-contacts@3.0.1](https://www.npmjs.com/package/cordova-plugin-contacts/v/3.0.1) 开发，本文档重点阐述其在 OpenHarmony（OHOS）系统中的具体应用。\r\n\r\n- [cordova-plugin-contacts](#cordova-plugin-contacts)\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  - [使用说明](#使用说明)\r\n  - [目录结构](#目录结构)\r\n  - [贡献代码](#贡献代码)\r\n  - [许可证](#许可证)\r\n  - [官方资源](#官方资源)\r\n\r\n\r\n## 简介\r\n\r\n`cordova-plugin-contacts` 是 Harmony Cordova 生态系统中一款联系人操作插件，提供跨平台、便捷的联系人相关能力。插件支持访问设备系统通讯录，适用于社交应用好友邀请、通讯录导入、联系人备份、分享联系方式等场景，为混合应用提供与原生应用一致的联系人交互体验。\r\n\r\n重要提示：本插件已经被 Apache Cordova 废弃，主要原因是隐私安全问题，各大应用市场已经禁止访问通讯录，在 OHOS 系统中，已经禁止三方应用访问通讯录，但是可以提供选择联系人的功能，因此该插件在 OHOS 系统中仅提供联系人的选择功能。\r\n\r\n- 跨平台适配：支持多平台联系人相关操作，提供统一 API 接口\r\n\r\n- OHOS 专属支持：仅提供联系人选择功能，符合系统隐私安全限制\r\n\r\n- 便捷交互：API 简洁易用，快速实现联系人选择功能\r\n\r\n- 完整返回：选择联系人后可获取 id、姓名、手机号、邮箱等完整信息\r\n\r\n## 支持平台\r\n\r\n- **Android**：API 19 及以上（Android 4.4+）\r\n\r\n- **iOS**：10.0 及以上\r\n\r\n- **OHOS**：5.0+（仅支持联系人选择功能）\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-contacts\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-contacts --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\nhcordova plugin add https://gitcode.com/CPF-Cordova/cordova-plugin-contacts.git --platform ohos\r\n\r\n# 指定标签/分支安装\r\nhcordova plugin add https://gitcode.com/CPF-Cordova/cordova-plugin-contacts.git@develop --platform ohos\r\n```\r\n\r\n### 安装特定版本\r\n\r\n如需安装指定版本插件，执行以下命令：\r\n\r\n```bash\r\nhcordova plugin add cordova-plugin-contacts@1.0.0 --platform ohos\r\n\r\n```\r\n\r\n### 离线安装（本地包）\r\n\r\n适用于无网络环境，先下载插件包到本地，再执行离线安装：\r\n\r\n```bash\r\n# 下载插件包到本地（示例路径：~/Downloads/cordova-plugin-contacts）\r\n# 执行离线安装\r\nhcordova plugin add ~/Downloads/cordova-plugin-contacts --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\r\n```bash\r\n# Cordova CLI 全平台卸载\r\nhcordova plugin remove cordova-plugin-contacts \r\n\r\n# 指定平台卸载\r\nhcordova plugin remove cordova-plugin-contacts --platform ohos\r\n\r\n```\r\n\r\n## 约束与限制\r\n\r\n* 依赖插件：无强制依赖，插件集成后可直接使用\r\n\r\n* 隐私安全限制：本插件已被 Apache Cordova 废弃，主要原因是隐私安全问题，各大应用市场禁止访问通讯录\r\n\r\n* OHOS 系统限制：OHOS 系统禁止三方应用访问通讯录，该插件在 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/**\r\n * 返回属性说明：\r\n * id：联系人的唯一 Id\r\n * displayName：显示的姓名\r\n * name：姓名\r\n * nickname：昵称\r\n * phoneNumbers：手机号数组\r\n * emails：电子邮箱数组\r\n * addresses：地址数组\r\n*/\r\nfunction pickContact() {\r\n    navigator.contacts.pickContact(function(contact){\r\n        console.log('The following contact has been selected:' + JSON.stringify(contact));\r\n    },function(err){\r\n        console.log('Error: ' + err);\r\n    });\r\n}\r\n\r\n```\r\n\r\n## 使用说明\r\n\r\n插件核心功能挂载在 `navigator.contacts` 对象上，OHOS 平台仅支持联系人选择功能，核心 API 为 pickContact 方法，用于弹出系统联系人选择界面，选择后返回联系人详细信息。\r\n\r\n核心方法说明：pickContact(successCallback, errorCallback)，用于选择系统联系人。\r\n\r\n- successCallback：选择成功的回调函数，接收选中的联系人对象（包含 id、displayName、phoneNumbers 等属性）\r\n\r\n- errorCallback：选择失败的回调函数，接收错误信息（如用户取消选择、权限不足等）\r\n\r\n返回联系人对象属性说明：\r\n\r\n- id：联系人的唯一 Id\r\n\r\n- displayName：联系人显示的姓名\r\n\r\n- name：联系人姓名\r\n\r\n- nickname：联系人昵称\r\n\r\n- phoneNumbers：手机号数组（包含联系人所有手机号）\r\n\r\n- emails：电子邮箱数组（包含联系人所有邮箱）\r\n\r\n- addresses：地址数组（包含联系人所有地址）\r\n\r\n## 目录结构\r\n\r\n```\r\ncordova-plugin-contacts/\r\n├── src/                          # 源代码目录\r\n│   └── main/                     # 主要源代码\r\n│       ├── cpp/                  # C++ 原生代码\r\n│       │   └── Contact/          # 联系人模块\r\n│       │       ├── ContactManager.cpp  # 联系人管理功能的 C++ 实现\r\n│       │       └── ContactManager.h    # 联系人管理功能的头文件\r\n│       └── ets/                  # ArkTS 代码（OpenHarmony API）\r\n│           └── components/       # 组件目录\r\n│               └── PluginAction/ # 插件动作组件\r\n│                   └── PickContact.ets  # 选择联系人的 ArkTS 实现\r\n├── www/                          # Web 资源目录\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-contacts/issues) ，当然也非常欢迎发 [PR](https://gitcode.com/CPF-Cordova/cordova-plugin-contacts/pulls) 共建。\r\n\r\n## 许可证\r\n\r\n本插件基于 **Apache License 2.0** 开源，详见 [LICENSE](LICENSE) 文件。\r\n\r\n## 官方资源\r\n\r\n- OHOS Cordova: [https://gitcode.com/CPF-Cordova/cordova-plugin-contacts](https://gitcode.com/CPF-Cordova/cordova-plugin-contacts)\r\n\r\n- Android/iOS: [https://npmjs.com/cordova-plugin-contacts](https://npmjs.com/cordova-plugin-contacts)\r\n","readmeFilename":"README.md"}