{"_id":"@cordova-ohos/cordova-plugin-imagepicker","_rev":"3-809c181df9d892c6fb8f937889fb25c6","name":"@cordova-ohos/cordova-plugin-imagepicker","dist-tags":{"latest":"1.2.3"},"versions":{"1.2.2":{"name":"@cordova-ohos/cordova-plugin-imagepicker","version":"1.2.2","keywords":["cordova","imagepicker","ecosystem:cordova","cordova-openharmony"],"author":{"name":"Huawei Device, Inc. Ltd. and","email":"马弓手"},"license":"Apache-2.0","_id":"@cordova-ohos/cordova-plugin-imagepicker@1.2.2","maintainers":[{"name":"luqi_tan","email":"295099422@qq.com"},{"name":"wanpengsz","email":"wanpengsz@163.com"},{"name":"xkh111","email":"xukaihui11@163.com"}],"bugs":{"url":"https://gitcode.com/OpenHarmony-Cordova/cordova-plugin-imagepicker/issues"},"dist":{"shasum":"4df52e0541d676bc89560eaa9a0764988c67a835","tarball":"https://registry.npmjs.org/@cordova-ohos/cordova-plugin-imagepicker/-/cordova-plugin-imagepicker-1.2.2.tgz","fileCount":8,"integrity":"sha512-ti+DfYfMQv+OKeHGCXQCXhyIv2fsKSbGz2UzrnRN8tmpfbehBbJDtqCKI9t+vPFS0a6QblJZ5IJlHr7DgNSXew==","signatures":[{"sig":"MEUCIQDPyK5gg3LIFugJgHGQ7HJnUcQf5877XwZ4eqvVbSegZQIgJ0jkK1SA/rH0WlBEXB24HUuDH3dLFuwDUGr22OmpYT0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":30653},"cordova":{"id":"cordova-plugin-imagepicker","platforms":["ohos"]},"engines":{"cordovaDependencies":{"1.2.2":{"hcordova":">=1.0.0","@cordova-ohos/ohos":">=2.0.0"}}},"gitHead":"3bafda9954a65d865b329072b4d654c21a7fc2ad","_npmUser":{"name":"wanpengsz","email":"wanpengsz@163.com"},"repository":{"url":"gitcode:OpenHarmony-Cordova/cordova-plugin-imagepicker","type":"git"},"_npmVersion":"9.6.2","description":"Cordova imagepicker Plugin","directories":{},"_nodeVersion":"20.16.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/cordova-plugin-imagepicker_1.2.2_1773995353200_0.9410123098091943","host":"s3://npm-registry-packages-npm-production"}},"1.2.3":{"name":"@cordova-ohos/cordova-plugin-imagepicker","version":"1.2.3","description":"Cordova Image Picker Plugin","cordova":{"id":"cordova-plugin-imagepicker","platforms":["ohos"]},"repository":{"type":"git","url":"gitcode:CPF-Cordova/cordova-plugin-imagepicker"},"bugs":{"url":"https://gitcode.com/CPF-Cordova/cordova-plugin-imagepicker/issues"},"keywords":["cordova","imagepicker","ecosystem:cordova","cordova-openharmony"],"engines":{"cordovaDependencies":{"1.2.3":{"@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-imagepicker@1.2.3","gitHead":"43e82badda3cfd889e62b0f60484430b8a00f818","_nodeVersion":"22.0.0","_npmVersion":"10.5.1","dist":{"integrity":"sha512-iEBs6s5igcrzvZToWB0VhVdtx5DXScOVLbp2qeMr8el9YKcVLi+9yRAU5NYT1j4oyF/YBe2qYDcEGWQu8ZzfCg==","shasum":"e71a967de55e573249888f436437d327f7927777","tarball":"https://registry.npmjs.org/@cordova-ohos/cordova-plugin-imagepicker/-/cordova-plugin-imagepicker-1.2.3.tgz","fileCount":9,"unpackedSize":51566,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIC6PGYthv/MWnhRJzLdah6DMiVnETKe3/atN7Nmo03vJAiBYzsK5NgcLuqywak7HK7b9LA2EePLxTKPcG1vXJPBtOw=="}]},"_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-imagepicker_1.2.3_1785158332597_0.3651697886452805"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-20T08:29:13.091Z","modified":"2026-07-27T13:18:52.967Z","1.2.2":"2026-03-20T08:29:13.344Z","1.2.3":"2026-07-27T13:18:52.767Z"},"bugs":{"url":"https://gitcode.com/CPF-Cordova/cordova-plugin-imagepicker/issues"},"author":{"name":"Huawei Device, Inc. Ltd. and","email":"马弓手"},"license":"Apache-2.0","keywords":["cordova","imagepicker","ecosystem:cordova","cordova-openharmony"],"repository":{"type":"git","url":"gitcode:CPF-Cordova/cordova-plugin-imagepicker"},"description":"Cordova Image Picker 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-imagepicker</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-imagepicker@1.2.2](https://github.com/giantss/cordova-plugin-ImagePicker) 开发，本文档重点阐述其在 OpenHarmony（OHOS）系统中的具体应用。\r\n\r\n- [cordova-plugin-imagepicker](#cordova-plugin-imagepicker)\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    - [配置参数（options）](#配置参数options)\r\n    - [使用注意事项](#使用注意事项)\r\n    - [常见问题](#常见问题)\r\n  - [核心 API](#核心-api)\r\n    - [选择多张照片](#选择多张照片)\r\n  - [目录结构](#目录结构)\r\n  - [贡献代码](#贡献代码)\r\n  - [许可证](#许可证)\r\n  - [官方资源](#官方资源)\r\n\r\n\r\n## 简介\r\n\r\n`cordova-plugin-imagepicker` 是 Harmony Cordova 生态系统中的一款功能强大的图片选择插件，支持从设备相册中批量选择图片、预览图片、限制选择数量及尺寸筛选等功能，适配 Android、iOS 和 OHOS 三平台，为混合式移动应用提供高效的图片选择解决方案。\r\n\r\n- **批量选择**：支持一次性选择多张图片，可自定义最大选择数量\r\n\r\n- **图片预览**：选择前可预览图片缩略图及原图，提升用户体验\r\n\r\n- **尺寸筛选**：可根据图片宽度、高度筛选符合要求的图片\r\n\r\n- **格式支持**：兼容 JPG、PNG 等主流图片格式，适配不同拍摄场景\r\n\r\n- **返回信息丰富**：返回图片路径、尺寸、大小等完整元数据\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\r\n# 安装 hcordova 命令化工具\r\nnpm install -g hcordova\r\n\r\n# 全平台安装插件\r\nhcordova plugin add cordova-plugin-imagepicker\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-imagepicker --platform ohos\r\n```\r\n\r\n### 从 GitCode 仓库安装\r\n\r\n仅为 OHOS 平台安装插件：\r\n\r\n```bash\r\n# 仅安装到 OHOS 平台\r\n\r\n# 默认分支安装\r\nhcordova plugin add https://gitcode.com/CPF-Cordova/cordova-plugin-imagepicker.git --platform ohos\r\n\r\n# 指定标签/分支安装\r\nhcordova plugin add https://gitcode.com/CPF-Cordova/cordova-plugin-imagepicker.git@develop --platform ohos\r\n```\r\n### 离线安装（本地包）\r\n\r\n适用于无网络环境，先下载插件包到本地，再执行离线安装：\r\n\r\n```bash\r\n# 下载插件包到本地（示例路径：../Downloads/cordova-plugin-imagepicker ）\r\n# 执行离线安装\r\nhcordova plugin add ../Downloads/cordova-plugin-imagepicker  --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-imagepicker \r\n\r\n# 指定平台卸载\r\nhcordova plugin remove cordova-plugin-imagepicker --platform ohos\r\n```\r\n\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以下示例基于 OHOS 平台，展示插件核心功能的完整使用流程，包含图片选择、结果处理及错误捕获，可直接复制到项目中使用（需确保页面存在 id 为 imgInfo 的容器用于展示图片）。\r\n\r\n```javascript\r\n// 页面加载完成后执行，确保插件已初始化\r\ndocument.addEventListener(\"deviceready\", onDeviceReady, false);\r\n\r\nfunction onDeviceReady() {\r\n    console.log(\"插件初始化完成，可调用图片选择功能\");\r\n    // 绑定图片选择按钮点击事件\r\n    document.getElementById(\"selectImgBtn\").addEventListener(\"click\", selectImages);\r\n}\r\n\r\n// 批量选择图片函数\r\nfunction selectImages() {\r\n    // 调用插件核心接口，配置选择参数\r\n    window.imagePicker.getPictures(\r\n        function (results) {\r\n            // 成功回调：处理选择的图片结果\r\n            if (results.length <= 0) {\r\n                alert(\"未选择任何图片\");\r\n                return;\r\n            }\r\n            // 拼接图片标签，展示到页面\r\n            var src = \"\";\r\n            for (var i = 0; i < results.length; i++) {\r\n                // 拼接图片路径，适配 OHOS 本地路径展示规则\r\n                src += \"<img src='https://localhost\" + results[i] + \"' width='100%' style='margin:10px 0;' />\"\r\n            }\r\n            document.getElementById(\"imgInfo\").innerHTML = src;\r\n            // 打印图片元数据（路径、尺寸等，可根据需求扩展）\r\n            console.log(\"选择的图片路径：\", results);\r\n        }, \r\n        function (error) {\r\n            console.log('图片选择失败: ' + error);\r\n        }, \r\n        {\r\n            maximumImagesCount: 9, // 最大选择数量，可自定义（1-9）\r\n            width: 800, // 图片宽度限制，单位 px，超出会自动压缩\r\n            height: 800, // 可选，图片高度限制\r\n            quality: 80 // 可选，图片质量（0-100），默认 80\r\n        }\r\n    );\r\n}\r\n\r\n```\r\n\r\n示例说明：\r\n\r\n- 需先监听 `deviceready` 事件，确保 Cordova 环境及插件初始化完成后再调用接口；\r\n\r\n- 页面需添加按钮（id 为 selectImgBtn）和图片展示容器（id 为 imgInfo），用于触发选择和展示结果；\r\n\r\n\r\n## 使用说明\r\n\r\n本插件适配 OHOS 5.0+、Android 4.4+、iOS 10.0+ 平台，核心用于从设备相册批量选择图片，使用前需了解以下注意事项、配置参数及常见问题，确保功能正常运行。\r\n\r\n### 配置参数（options）\r\n\r\n调用 `window.imagePicker.getPictures` 方法时，第三个参数为配置对象（可选），用于自定义图片选择规则，所有参数均为可选，默认值如下：\r\n\r\n| 参数名 | 类型 | 默认值 | 说明 |\r\n|---|---|---|---|\r\n| maximumImagesCount | Number | 9 | 最大图片选择数量，取值范围 1-9，超出范围会自动取边界值 |\r\n| width | Number | 800 | 图片宽度限制，单位 px，图片超出该宽度会自动压缩，不设置则不限制 |\r\n| height | Number | 无 | 图片高度限制，单位 px，与 width 同时设置时，按比例压缩图片 |\r\n| quality | Number | 80 | 图片质量，取值范围 0-100，值越高质量越好，文件体积越大 |\r\n| allowEdit | Boolean | false | 是否允许选择后编辑图片（仅支持简单裁剪） |\r\n| outputType | String | file_path | 图片返回格式，可选值：file_path（文件路径，默认）、base64（base64 编码） |\r\n\r\n### 使用注意事项\r\n\r\n- 权限说明：OHOS 无需权限相册权限申请\r\n\r\n- 路径适配：OHOS 平台中，图片本地路径需拼接 `https://localhost` 前缀才能在页面中正常展示，示例中已包含该处理；\r\n\r\n- 压缩说明：当设置 width/height 或 quality 时，插件会自动对图片进行压缩，避免图片体积过大导致应用卡顿；\r\n\r\n- 兼容性：设置 allowEdit: true，仅支持简单裁剪；\r\n\r\n\r\n### 常见问题\r\n\r\n1. 问题：调用接口无响应？\r\n解决：确认已监听 deviceready 事件，插件已成功安装；\r\n\r\n2. 问题：图片无法展示？\r\n解决：检查图片路径是否拼接 `https://localhost` 前缀，OHOS 平台本地路径需添加该前缀才能正常加载；\r\n\r\n3. 问题：选择图片数量超出设置的 maximumImagesCount？\r\n解决：检查参数取值是否在 1-9 范围内，超出范围会自动取边界值（如设置 10 则按 9 处理）；\r\n\r\n4. 问题：图片压缩后质量不佳？\r\n解决：提高 quality 参数值（建议 80-100），同时避免过度限制 width/height。\r\n\r\n## 核心 API\r\n\r\n插件通过全局对象 `window.imagePicker` 暴露所有接口，所有方法均为异步执行，通过成功回调和错误回调处理结果。\r\n\r\n### 选择多张照片\r\n\r\n```javascript\r\nwindow.imagePicker.getPictures(\r\n    function (results) {\r\n        if (results.length <= 0) {\r\n            return;\r\n        }\r\n        var src = \"\";\r\n        for (var i = 0; i < results.length; i++) {\r\n            src += \"<img src='https://localhost\" + results[i] + \"' width='100%' />\"\r\n        }\r\n        document.getElementById(\"imgInfo\").innerHTML = src;\r\n    }, function (error) {\r\n        console.log('Error: ' + error);\r\n    }, {\r\n        maximumImagesCount: 9,\r\n        width: 800\r\n    }\r\n);\r\n```\r\n\r\n## 目录结构\r\n\r\n```\r\ncordova-plugin-imagepicker/\r\n├── src/                          # 源代码目录\r\n│   └── main/                     # 主要源代码\r\n│       └── cpp/                  # C++ 原生代码\r\n│           └── ImagePicker/      # 图片选择模块\r\n│               ├── ImagePicker.cpp  # 图片选择功能的 C++ 实现\r\n│               └── ImagePicker.h    # 图片选择功能的头文件\r\n├── www/                          # Web 资源目录\r\n│   └── imagepicker.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-imagepicker/issues) ，当然也非常欢迎发 [PR](https://gitcode.com/CPF-Cordova/cordova-plugin-imagepicker/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-imagepicker 官方指南](https://www.npmjs.com/package/cordova-plugin-imagepicker)\r\n\r\n- GitCode 仓库：[CPF-Cordova/cordova-plugin-imagepicker](https://gitcode.com/CPF-Cordova/cordova-plugin-imagepicker)\r\n","readmeFilename":"README.md"}