{"_id":"@bonboru93/rc-slider-captcha","_rev":"4-d12cb640da107d3ed8b2ad7a88a80298","name":"@bonboru93/rc-slider-captcha","dist-tags":{"latest":"1.3.0"},"versions":{"1.0.0":{"name":"@bonboru93/rc-slider-captcha","version":"1.0.0","keywords":["captcha","react","slider","verification","component"],"_id":"@bonboru93/rc-slider-captcha@1.0.0","maintainers":[{"name":"bonboru93","email":"bonboru93@outlook.com"}],"homepage":"https://github.com/bonboru93/react-slider-captcha#readme","bugs":{"url":"https://github.com/bonboru93/react-slider-captcha/issues"},"dist":{"shasum":"8b9a2804660d62939de85ee42413febb006ef513","tarball":"https://registry.npmjs.org/@bonboru93/rc-slider-captcha/-/rc-slider-captcha-1.0.0.tgz","fileCount":4,"integrity":"sha512-vgjWBnenZ7HBFYaANKr5cJITqe4q2+arw24EXL47U3cnF0EF1EC0/vxhLMHrfzsdoKoR7Ii8IugSVrvuRJjEEw==","signatures":[{"sig":"MEQCIA5TshUYfr/MWrA5RFVgcnooM4Tcei76tI4qSPel1bISAiBBsEKhj0bdgFrhAEB5/ubzUz23ql5cP2De0SWdYuJIOA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":10375},"main":"dist/SliderCaptcha.js","type":"module","gitHead":"c049fbad48b85bbbb72f88e98607ad2ac6f48f0f","scripts":{"dev":"vite --host","lint":"eslint .","build":"vite build","preview":"vite preview"},"_npmUser":{"name":"bonboru93","email":"bonboru93@outlook.com"},"repository":{"url":"git+https://github.com/bonboru93/react-slider-captcha.git","type":"git"},"_npmVersion":"11.0.0","description":"A React sliding captcha component for user verification.","directories":{},"_nodeVersion":"22.12.0","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"less":"^4.2.1","vite":"^6.0.5","react":"^18.3.1","eslint":"^9.17.0","globals":"^15.14.0","react-dom":"^18.3.1","@eslint/js":"^9.17.0","@types/react":"^18.3.18","@types/react-dom":"^18.3.5","eslint-plugin-react":"^7.37.2","@vitejs/plugin-react":"^4.3.4","eslint-plugin-react-hooks":"^5.0.0","vite-plugin-lib-inject-css":"^2.2.0","eslint-plugin-react-refresh":"^0.4.16"},"_npmOperationalInternal":{"tmp":"tmp/rc-slider-captcha_1.0.0_1736075771505_0.5735699855150915","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@bonboru93/rc-slider-captcha","version":"1.0.1","keywords":["captcha","react","slider","verification","component"],"_id":"@bonboru93/rc-slider-captcha@1.0.1","maintainers":[{"name":"bonboru93","email":"bonboru93@outlook.com"}],"homepage":"https://github.com/bonboru93/rc-slider-captcha#readme","bugs":{"url":"https://github.com/bonboru93/rc-slider-captcha/issues"},"dist":{"shasum":"c63817b83ac7421e4a598eee06483cf757ee3f7c","tarball":"https://registry.npmjs.org/@bonboru93/rc-slider-captcha/-/rc-slider-captcha-1.0.1.tgz","fileCount":4,"integrity":"sha512-p3sHyfWp1rJ/J5k1t17A2u7SqQCOWZ5sIa3ge0RANXcooOIRNhjmnYU/XsseIspZ+WA/txM7Jm0v6OyTzMpUtg==","signatures":[{"sig":"MEUCIQC6H5PmvmRwVv28o3tnkLnlyOdMzg3Y5dw/m5ahz+D5vAIgXdf1OLhaQQ9Akah8p3ZIYjnOPj68eiLEiEgxaik6b3g=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":10360},"main":"dist/SliderCaptcha.js","type":"module","gitHead":"c049fbad48b85bbbb72f88e98607ad2ac6f48f0f","scripts":{"dev":"vite --host","lint":"eslint .","build":"vite build","preview":"vite preview"},"_npmUser":{"name":"bonboru93","email":"bonboru93@outlook.com"},"repository":{"url":"git+https://github.com/bonboru93/rc-slider-captcha.git","type":"git"},"_npmVersion":"11.0.0","description":"A React sliding captcha component for user verification.","directories":{},"_nodeVersion":"22.12.0","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"less":"^4.2.1","vite":"^6.0.5","react":"^18.3.1","eslint":"^9.17.0","globals":"^15.14.0","react-dom":"^18.3.1","@eslint/js":"^9.17.0","@types/react":"^18.3.18","@types/react-dom":"^18.3.5","eslint-plugin-react":"^7.37.2","@vitejs/plugin-react":"^4.3.4","eslint-plugin-react-hooks":"^5.0.0","vite-plugin-lib-inject-css":"^2.2.0","eslint-plugin-react-refresh":"^0.4.16"},"_npmOperationalInternal":{"tmp":"tmp/rc-slider-captcha_1.0.1_1736076097448_0.8541023737477957","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@bonboru93/rc-slider-captcha","version":"1.1.0","keywords":["captcha","react","slider","verification","component"],"_id":"@bonboru93/rc-slider-captcha@1.1.0","maintainers":[{"name":"bonboru93","email":"bonboru93@outlook.com"}],"homepage":"https://github.com/bonboru93/rc-slider-captcha#readme","bugs":{"url":"https://github.com/bonboru93/rc-slider-captcha/issues"},"dist":{"shasum":"7f036f5329fa4c828eb9acc0101223eda70b058d","tarball":"https://registry.npmjs.org/@bonboru93/rc-slider-captcha/-/rc-slider-captcha-1.1.0.tgz","fileCount":4,"integrity":"sha512-U3iD5nrhXMnPVL9+Ullng+NFqrePnD0uINrnrM2TkBK9CD2vuk4QTL0yM9TwlwV4NcAYloSmAlvIm+bggKU18g==","signatures":[{"sig":"MEUCIQDxGxFlU4QZbh+wfO/x0IPbI/WhtZ/JpfoGlzJRnxvRHwIgDUtVYUhVCOsZYhq+134dbkfN7Nqj/QyTaCDSvuzkKFc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":10350},"main":"dist/SliderCaptcha.js","type":"module","gitHead":"4c6145def4099a6435a25d730831711a0f973529","scripts":{"dev":"vite --host","lint":"eslint .","build":"vite build","preview":"vite preview"},"_npmUser":{"name":"bonboru93","email":"bonboru93@outlook.com"},"repository":{"url":"git+https://github.com/bonboru93/rc-slider-captcha.git","type":"git"},"_npmVersion":"11.0.0","description":"A React sliding captcha component for user verification.","directories":{},"_nodeVersion":"22.12.0","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"less":"^4.2.1","vite":"^6.0.5","react":"^18.3.1","eslint":"^9.17.0","globals":"^15.14.0","react-dom":"^18.3.1","@eslint/js":"^9.17.0","@types/react":"^18.3.18","@types/react-dom":"^18.3.5","eslint-plugin-react":"^7.37.2","@vitejs/plugin-react":"^4.3.4","eslint-plugin-react-hooks":"^5.0.0","vite-plugin-lib-inject-css":"^2.2.0","eslint-plugin-react-refresh":"^0.4.16"},"_npmOperationalInternal":{"tmp":"tmp/rc-slider-captcha_1.1.0_1736076471586_0.5673600386783273","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@bonboru93/rc-slider-captcha","version":"1.2.0","keywords":["captcha","react","slider","verification","component"],"_id":"@bonboru93/rc-slider-captcha@1.2.0","maintainers":[{"name":"bonboru93","email":"bonboru93@outlook.com"}],"homepage":"https://github.com/bonboru93/rc-slider-captcha#readme","bugs":{"url":"https://github.com/bonboru93/rc-slider-captcha/issues"},"dist":{"shasum":"f4aff64f5715d8a73de492d4e3efd48516323698","tarball":"https://registry.npmjs.org/@bonboru93/rc-slider-captcha/-/rc-slider-captcha-1.2.0.tgz","fileCount":4,"integrity":"sha512-tVEFPwRRi3u8kEyrbfpVbfDMuGZRxWLDb6JuMPFnIef9Hr1ApTdHJJmVH/YzJ3X0Gg/cb1YCi5lQXis+K+ok8Q==","signatures":[{"sig":"MEQCIC21IYFz6Cheaaos80SufgWkcCqOFROV6KfNTcF+NP53AiB0kEcXROxICp9qwHhR1shSG3B3sHoSLkb6kTyeQjeLBA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":10357},"main":"dist/SliderCaptcha.js","type":"module","gitHead":"4c6145def4099a6435a25d730831711a0f973529","scripts":{"dev":"vite --host","lint":"eslint .","build":"vite build","preview":"vite preview"},"_npmUser":{"name":"bonboru93","email":"bonboru93@outlook.com"},"repository":{"url":"git+https://github.com/bonboru93/rc-slider-captcha.git","type":"git"},"_npmVersion":"11.0.0","description":"A React sliding captcha component for user verification.","directories":{},"_nodeVersion":"22.12.0","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"less":"^4.2.1","vite":"^6.0.5","react":"^18.3.1","eslint":"^9.17.0","globals":"^15.14.0","react-dom":"^18.3.1","@eslint/js":"^9.17.0","@types/react":"^18.3.18","@types/react-dom":"^18.3.5","eslint-plugin-react":"^7.37.2","@vitejs/plugin-react":"^4.3.4","eslint-plugin-react-hooks":"^5.0.0","vite-plugin-lib-inject-css":"^2.2.0","eslint-plugin-react-refresh":"^0.4.16"},"_npmOperationalInternal":{"tmp":"tmp/rc-slider-captcha_1.2.0_1736076637773_0.20063109663803091","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"@bonboru93/rc-slider-captcha","version":"1.3.0","description":"A React sliding captcha component for user verification.","type":"module","main":"dist/SliderCaptcha.js","scripts":{"dev":"vite --host","build":"vite build","lint":"eslint .","preview":"vite preview"},"keywords":["captcha","react","slider","verification","component"],"repository":{"type":"git","url":"git+https://github.com/bonboru93/rc-slider-captcha.git"},"homepage":"https://github.com/bonboru93/rc-slider-captcha#readme","dependencies":{},"devDependencies":{"react":"^18.3.1","react-dom":"^18.3.1","@eslint/js":"^9.17.0","@types/react":"^18.3.18","@types/react-dom":"^18.3.5","@vitejs/plugin-react":"^4.3.4","eslint":"^9.17.0","eslint-plugin-react":"^7.37.2","eslint-plugin-react-hooks":"^5.0.0","eslint-plugin-react-refresh":"^0.4.16","globals":"^15.14.0","less":"^4.2.1","vite":"^6.0.5","vite-plugin-lib-inject-css":"^2.2.0"},"_id":"@bonboru93/rc-slider-captcha@1.3.0","gitHead":"4c6145def4099a6435a25d730831711a0f973529","bugs":{"url":"https://github.com/bonboru93/rc-slider-captcha/issues"},"_nodeVersion":"22.12.0","_npmVersion":"11.0.0","dist":{"integrity":"sha512-IVSHBH8+qNPU3hKo6lWnUMh/IXiDhs7kxlB+X9cbmlBkVIaYNXumNN7cz52KvqA9LDIWI8ln7CowDN9YelHzPg==","shasum":"5514a582569537d5e137134c7d0f6ef805738d1a","tarball":"https://registry.npmjs.org/@bonboru93/rc-slider-captcha/-/rc-slider-captcha-1.3.0.tgz","fileCount":4,"unpackedSize":10357,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCzFXz+PAzXyKiKw5ToX8nfBp6OfeHBKfMcWxlAeNaV+wIhALH0u/I3bVOdPV/ke4SVlQe26/xjRLj/srFoPOYmjxjH"}]},"_npmUser":{"name":"bonboru93","email":"bonboru93@outlook.com"},"directories":{},"maintainers":[{"name":"bonboru93","email":"bonboru93@outlook.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/rc-slider-captcha_1.3.0_1736077629960_0.7355716637806353"},"_hasShrinkwrap":false}},"time":{"created":"2025-01-05T11:16:11.333Z","modified":"2025-01-05T11:47:10.333Z","1.0.0":"2025-01-05T11:16:11.671Z","1.0.1":"2025-01-05T11:21:37.660Z","1.1.0":"2025-01-05T11:27:51.757Z","1.2.0":"2025-01-05T11:30:37.989Z","1.3.0":"2025-01-05T11:47:10.128Z"},"bugs":{"url":"https://github.com/bonboru93/rc-slider-captcha/issues"},"homepage":"https://github.com/bonboru93/rc-slider-captcha#readme","keywords":["captcha","react","slider","verification","component"],"repository":{"type":"git","url":"git+https://github.com/bonboru93/rc-slider-captcha.git"},"description":"A React sliding captcha component for user verification.","maintainers":[{"name":"bonboru93","email":"bonboru93@outlook.com"}],"readme":"# rc-slider-captcha\n\n一个用于实现滑动验证码的 React 组件，用户通过滑动拼图来完成身份验证。\n\n## 安装\n\n```bash\nnpm install @bonboru93/rc-slider-captcha\n```\n\n## 示例\n\n```jsx\nimport SliderCaptcha from \"@bonboru93/rc-slider-captcha\";\n\nconst App = () => {\n  const handleLoad = async () => {\n    // 返回背景图和拼图的 URL\n    return {\n      bgSrc: \"https://example.com/bg.jpg\",\n      puzzleSrc: \"https://example.com/puzzle.png\",\n    };\n  };\n\n  const handleCheck = async offset => {\n    // 校验偏移量，如果有效则 resolve，无效则 reject\n    if (offset === 42) {\n      return; // 偏移量正确\n    } else {\n      throw new Error(\"偏移量无效\");\n    }\n  };\n\n  return (\n    <div>\n      <h1>滑动验证码示例</h1>\n      <SliderCaptcha onLoad={handleLoad} onCheck={handleCheck} />\n    </div>\n  );\n};\n\nexport default App;\n```\n\n## 图片要求\n\n背景图显示大小为320x160，拼图高度与背景图相同，宽度为60。\n\n请提供等比例图片，源码中有示例图。\n\n## 属性说明\n\n| 属性       | 类型                                      | 必填 | 说明                                                         |\n|------------|------------------------------------------|------|------------------------------------------------------------|\n| `onLoad`   | `() => Promise<{ bgSrc: string; puzzleSrc: string }>` | 是   | 加载背景图和拼图图像的 URL。                  |\n| `onCheck`  | `(offset: number) => Promise<void>`       | 是   | 校验滑块偏移量。成功时 resolve，失败时 reject。|\n\n## 原理\n\n滑动条本质是input[type=\"range\"]。样式基于-webkit-slider-thumb和-moz-range-thumb实现，代码极其简单。\n\n如有兼容性问题，请提issue。","readmeFilename":"README.md"}