Skip to content

wenlng/go-captcha-react

Repository files navigation

Go Captcha React Package

⭐️ If it helps you, please give a star.

Poster


Install

yarn add go-captcha-react
# or
npm install go-captcha-react
# or
pnpm install go-captcha-react

🖖 Click Mode Captcha

import GoCaptcha from 'go-captcha-react';

<GoCaptcha.Click
  config={{}}
  data={{}}
  events={{}}
/>

Parameter Reference

// config = {}
interface ClickConfig {
  width?: number;
  height?: number;
  thumbWidth?: number;
  thumbHeight?: number;
  verticalPadding?: number;
  horizontalPadding?: number;
  showTheme?: boolean;
  title?: string;
  buttonText?: string;
}

// data = {}
interface ClickData {
  image: string;
  thumb: string;
}

// events = {}
interface ClickEvents {
  click?: (x: number, y: number) => void;
  refresh?: () => void;
  close?: () => void;
  confirm?: (dots: Array<ClickDot>) => boolean;
}

🖖 Slide Mode Captcha

import GoCaptcha from 'go-captcha-react';

<GoCaptcha.Slide
  config={{}}
  data={{}}
  events={{}}
/>

<GoCaptcha.SlideRegion
  config={{}}
  data={{}}
  events={{}}
/>

Parameter Reference

// config = {}
interface SlideConfig {
  width?: number;
  height?: number;
  thumbWidth?: number;
  thumbHeight?: number;
  verticalPadding?: number;
  horizontalPadding?: number;
  showTheme?: boolean;
  title?: string;
}

// data = {}
interface SlideData {
  thumbX: number;
  thumbY: number;
  thumbWidth: number;
  thumbHeight: number;
  image: string;
  thumb: string;
}

// events = {}
interface SlideEvents {
  move?: (x: number, y: number) => void;
  refresh?: () => void;
  close?: () => void;
  confirm?: (point: SlidePoint) => boolean;
}
// config = {}
interface SlideRegionConfig {
  width?: number;
  height?: number;
  thumbWidth?: number;
  thumbHeight?: number;
  verticalPadding?: number;
  horizontalPadding?: number;
  showTheme?: boolean;
  title?: string;
}

// data = {}
interface SlideRegionData {
  thumbX: number;
  thumbY: number;
  thumbWidth: number;
  thumbHeight: number;
  image: string;
  thumb: string;
}

// events = {}
interface SlideRegionEvents {
  move?: (x: number, y: number) => void;
  refresh?: () => void;
  close?: () => void;
  confirm?: (point: SlideRegionPoint) => boolean;
}

🖖 Rotate Mode Captcha

import GoCaptcha from 'go-captcha-react';

<GoCaptcha.Rotate
  config={{}}
  data={{}}
  events={{}}
/>

Parameter Reference

// config = {}
interface RotateConfig {
  width?: number;
  height?: number;
  thumbWidth?: number;
  thumbHeight?: number;
  verticalPadding?: number;
  horizontalPadding?: number;
  showTheme?: boolean;
  title?: string;
}

// data = {}
interface RotateData {
  angle: number;
  image: string;
  thumb: string;
}

// events = {}
interface RotateEvents {
  rotate?: (angle: number) => void;
  refresh?: () => void;
  close?: () => void;
  confirm?: (angle: number) => boolean;
}

🖖 Button

import GoCaptcha from 'go-captcha-react';

<GoCaptcha.Button />

Parameter Reference

interface _ {
  config?: ButtonConfig;
  clickEvent?: () => void;
  disabled?: boolean;
  type?: "default" | "warn" | "error" | "success";
  title?: string;
}

export interface ButtonConfig {
  width?: number;
  height?: number;
  verticalPadding?: number;
  horizontalPadding?: number;
}

🍹 Buy me a coffee

Buy Me A Coffee Buy Me A Coffee