{"_id":"@bingtang-rn/react-native-looped-carousel","_rev":"2-82c8a73ebd9201bd0c6c42b3bee3e604","name":"@bingtang-rn/react-native-looped-carousel","dist-tags":{"latest":"0.1.14"},"versions":{"0.1.13":{"name":"@bingtang-rn/react-native-looped-carousel","version":"0.1.13","keywords":["react-native","harmony","harmonyos","react-native-looped-carousel"],"license":"MIT","_id":"@bingtang-rn/react-native-looped-carousel@0.1.13","maintainers":[{"name":"luyizouyuan","email":"189605613@qq.com"}],"homepage":"https://gitcode.com/rn_ohos_plugin/react_native_looped_carousel","dist":{"shasum":"4dc55d527e9a2fc7f050973f9a81510189b6e268","tarball":"https://registry.npmjs.org/@bingtang-rn/react-native-looped-carousel/-/react-native-looped-carousel-0.1.13.tgz","fileCount":7,"integrity":"sha512-9YVq0UPWo8Ezu7uEmAnqNGR7Dwjvqt+oPx+Afst9cGMOxKviwfzMZRRpps+BBE7suzwG5gexHk0TSXnDqQV7BQ==","signatures":[{"sig":"MEQCIDyfBVk9ABGFq1BWs8lhwoY8qzReYG/8bx/dECjYoj4xAiAZ2BTQ0FQ6tf+3Tfl+E+wBWiD/lJM5BaZKkMm4taEqzA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22597},"main":"./src/index.js","engines":{"node":">=18"},"gitHead":"4a983a7dd5b420fdb22f5a01776dcc31ba4e2c13","harmony":{"alias":"react-native-looped-carousel"},"private":false,"scripts":{},"_npmUser":{"name":"luyizouyuan","email":"189605613@qq.com"},"repository":{"url":"https://gitcode.com/rn_ohos_plugin/react_native_looped_carousel","type":"git"},"_npmVersion":"11.12.1","description":"适配鸿蒙版本，提供react_native_looped_carousel组件。","directories":{},"_nodeVersion":"24.15.0","dependencies":{"prop-types":"^15.6.1","lodash.isequal":"^4.5.0"},"react-native":"./src/index.js","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"peerDependencies":{"react-native":">=0.72"},"_npmOperationalInternal":{"tmp":"tmp/react-native-looped-carousel_0.1.13_1785417812196_0.23981630448097713","host":"s3://npm-registry-packages-npm-production"}},"0.1.14":{"_id":"@bingtang-rn/react-native-looped-carousel@0.1.14","dist":{"shasum":"9ebdae7ca5039e30037b9588faa542d12becb0ec","tarball":"https://registry.npmjs.org/@bingtang-rn/react-native-looped-carousel/-/react-native-looped-carousel-0.1.14.tgz","fileCount":7,"integrity":"sha512-NQNH2l1D/hJklMQh3Xu/22K3ZXSJNRzP9IYmfl6xPV0u07FA6iEnYXrCW8EAQ5HAhTuWGKzVrbAA7joKxhxGvg==","signatures":[{"sig":"MEYCIQCPpkSjwzwzJ4/2ii9zjhHj0rAEHCM9r00xNIG8fp1PRgIhAPFUiA9gjFDnWSkRnznn2NQVqmimcMNbxSHDHozgWcXu","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIFl0VkLSc7GuxxxTpq5QCNSO9KdC5mlKXV8qqKDB+JjDAiEA2ararR2gc8xV5sja7sypYtmmGoiX9Pk+GnmuWWGq7jw="}],"unpackedSize":22790},"main":"./src/index.js","name":"@bingtang-rn/react-native-looped-carousel","_from":"file:bingtang-rn-react-native-looped-carousel-0.1.14.tgz","engines":{"node":">=18"},"harmony":{"alias":"react-native-looped-carousel"},"license":"MIT","private":false,"scripts":{},"version":"0.1.14","_npmUser":{"name":"luyizouyuan","email":"189605613@qq.com"},"homepage":"https://gitcode.com/rn_ohos_plugin/react_native_looped_carousel","keywords":["react-native","harmony","harmonyos","react-native-looped-carousel"],"_resolved":"D:\\code\\rn\\npm\\batch\\react_native_looped_carousel\\bingtang-rn-react-native-looped-carousel-0.1.14.tgz","_integrity":"sha512-NQNH2l1D/hJklMQh3Xu/22K3ZXSJNRzP9IYmfl6xPV0u07FA6iEnYXrCW8EAQ5HAhTuWGKzVrbAA7joKxhxGvg==","repository":{"url":"https://gitcode.com/rn_ohos_plugin/react_native_looped_carousel","type":"git"},"_npmVersion":"11.12.1","description":"适配鸿蒙版本，提供react_native_looped_carousel组件。","directories":{},"maintainers":[{"name":"luyizouyuan","email":"189605613@qq.com"}],"_nodeVersion":"24.15.0","dependencies":{"prop-types":"^15.6.1","lodash.isequal":"^4.5.0"},"react-native":"./src/index.js","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"peerDependencies":{"react-native":">=0.72"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/react-native-looped-carousel_0.1.14_1790569223571_0.28914223437569553"}}},"time":{"created":"2026-07-30T13:23:18.868Z","modified":"2026-09-28T04:20:23.829Z","0.1.13":"2026-07-30T13:23:32.345Z","0.1.14":"2026-09-28T04:20:23.669Z"},"license":"MIT","homepage":"https://gitcode.com/rn_ohos_plugin/react_native_looped_carousel","keywords":["react-native","harmony","harmonyos","react-native-looped-carousel"],"repository":{"url":"https://gitcode.com/rn_ohos_plugin/react_native_looped_carousel","type":"git"},"description":"适配鸿蒙版本，提供react_native_looped_carousel组件。","maintainers":[{"name":"luyizouyuan","email":"189605613@qq.com"}],"readme":"# @bingtang-rn/react-native-looped-carousel for HarmonyOS\r\n\r\n本项目基于 [react-native-looped-carousel](https://github.com/phil-r/react-native-looped-carousel) 开发，为 React Native 鸿蒙（OpenHarmony）适配版本。如果在使用过程中有任何问题，可以在GitCode提Issue，会及时跟进。issue地址：[issues](https://gitcode.com/rn_ohos_plugin/react_native_looped_carousel/issues)。\r\n\r\n## 版本对应关系\r\n\r\n| 鸿蒙适配包版本 | 原始库版本 | 支持 RN 版本 | Autolink | 编译 API 版本 |\r\n| ------------ | ---------- | ------------ | -------- | ------------- |\r\n| 0.1.13 | 0.1.13 | 0.72+ | 否（js-only） | API17+ |\r\n\r\n## 安装\r\n\r\n```bash\r\nnpm install @bingtang-rn/react-native-looped-carousel\r\n```\r\n\r\n## 使用\r\n\r\n```tsx\r\nimport Carousel from 'react-native-looped-carousel';\r\nimport { View, Text, StyleSheet } from 'react-native';\r\n\r\n// 基础用法\r\n<Carousel autoplay={true} delay={4000} isLooped={true}>\r\n  <View style={styles.page1}><Text>Page 1</Text></View>\r\n  <View style={styles.page2}><Text>Page 2</Text></View>\r\n  <View style={styles.page3}><Text>Page 3</Text></View>\r\n</Carousel>\r\n\r\nconst styles = StyleSheet.create({\r\n  page1: { backgroundColor: '#FF6B6B' },\r\n  page2: { backgroundColor: '#4ECDC4' },\r\n  page3: { backgroundColor: '#45B7D1' },\r\n});\r\n```\r\n\r\n本库为纯 JS 组件（js-only），无需原生代码注册，通过 `harmony.alias` 自动重定向 import。\r\n\r\n## Link\r\n\r\n| 版本 | 是否支持 Autolink |\r\n|------|------------------|\r\n| 当前版本 | 否（js-only，无需 Autolink） |\r\n\r\n本模块为纯 JS 实现，不需要原生端注册 Package 或配置 CMakeLists。\r\n\r\n## 属性 / API\r\n\r\n| API | 描述 | 参数 | 返回值 | HarmonyOS 支持 |\r\n|-----|------|------|--------|----------------|\r\n| `children` | 轮播页内容（必填） | ReactNode | - | ✅ |\r\n| `autoplay` | 是否自动播放 | boolean | - | ✅ |\r\n| `delay` | 自动播放间隔（毫秒） | number | - | ✅ |\r\n| `currentPage` | 初始页索引 | number | - | ✅ |\r\n| `isLooped` | 是否无限循环 | boolean | - | ✅ |\r\n| `swipe` | 是否允许手势滑动 | boolean | - | ✅ |\r\n| `pageInfo` | 是否显示页码信息 | boolean | - | ✅ |\r\n| `pageInfoBackgroundColor` | 页码背景色 | string | - | ✅ |\r\n| `pageInfoTextStyle` | 页码文本样式 | style | - | ✅ |\r\n| `pageInfoTextSeparator` | 页码分隔符 | string | - | ✅ |\r\n| `pageInfoBottomContainerStyle` | 页码底部容器样式 | style | - | ✅ |\r\n| `bullets` | 是否显示圆点导航 | boolean | - | ✅ |\r\n| `bulletsContainerStyle` | 圆点容器样式 | style | - | ✅ |\r\n| `bulletStyle` | 圆点样式 | style | - | ✅ |\r\n| `chosenBulletStyle` | 选中圆点样式 | style | - | ✅ |\r\n| `arrows` | 是否显示箭头导航 | boolean | - | ✅ |\r\n| `arrowsContainerStyle` | 箭头容器样式 | style | - | ✅ |\r\n| `arrowStyle` | 箭头样式 | style | - | ✅ |\r\n| `leftArrowStyle` | 左箭头样式 | style | - | ✅ |\r\n| `rightArrowStyle` | 右箭头样式 | style | - | ✅ |\r\n| `leftArrowText` | 左箭头文本 | string | - | ✅ |\r\n| `rightArrowText` | 右箭头文本 | string | - | ✅ |\r\n| `onAnimateNextPage` | 页面切换回调 | (page: number) => void | - | ✅ |\r\n| `onPageBeingChanged` | 滑动开始回调 | (page: number) => void | - | ✅ |\r\n| `getCurrentPage()` | 获取当前页索引 | - | number | ✅ |\r\n| `animateToPage(page)` | 动画跳转到指定页 | number | void | ✅ |\r\n\r\n## 快速验证（运行 Example）\r\n\r\n### 前置条件\r\n\r\n| 依赖 | 版本要求 |\r\n|------|----------|\r\n| Node.js | >= 18 |\r\n| DevEco Studio | 5.0+ / 6.0+ |\r\n| HarmonyOS SDK | API 17+ |\r\n\r\n### 运行步骤\r\n\r\n**1. 克隆仓库**\r\n\r\n```bash\r\ngit clone <仓库地址>\r\ncd <仓库目录>\r\n```\r\n\r\n**2. 安装依赖并构建**\r\n\r\n```bash\r\ncd ohos\r\nnpm install --legacy-peer-deps\r\nnpm pack\r\n```\r\n\r\n**3. 进入 example 目录，安装依赖**\r\n\r\n```bash\r\ncd example\r\nnpm install --legacy-peer-deps\r\n```\r\n\r\n**4. 生成 JS Bundle**\r\n\r\n```bash\r\nnpm run dev\r\n```\r\n\r\n产物：`harmony/entry/src/main/resources/rawfile/bundle.harmony.js`\r\n\r\n**5. 用 DevEco Studio 打开鸿蒙工程**\r\n\r\n- 打开 DevEco Studio\r\n- 选择 `example/harmony` 目录\r\n- 等待 Sync 完成\r\n\r\n**6. 编译并运行 HAP**\r\n\r\n在 DevEco Studio 中点击运行按钮，将 HAP 安装到设备/模拟器。\r\n\r\n## 约束与限制\r\n\r\n### 兼容性\r\n\r\n- RNOH: 0.72+\r\n- HarmonyOS SDK: API 17+\r\n- DevEco Studio: 5.0+\r\n\r\n### 适配说明\r\n\r\n- `ViewPropTypes` 已替换为 `PropTypes.oneOfType([PropTypes.object, PropTypes.array])`（RN 0.72+ 已移除 ViewPropTypes）\r\n- `componentWillReceiveProps` 已替换为 `componentDidUpdate`（废弃生命周期）\r\n- `Platform.OS === 'android'` 已增加 `|| Platform.OS === 'harmony'` 分支\r\n\r\n## 遗留问题\r\n\r\n无\r\n\r\n## 开源协议\r\n\r\n本项目基于 [MIT License](https://github.com/phil-r/react-native-looped-carousel/blob/master/LICENSE)，详见 [LICENSE](./LICENSE) 文件。\r\n","readmeFilename":"README.md"}