Skip to content

Latest commit

 

History

History
305 lines (260 loc) · 4.88 KB

README_zh.md

File metadata and controls

305 lines (260 loc) · 4.88 KB

Go Captcha

Solid 行为验证码


English | 中文


⭐️ 如果能帮助到你,请随手给点一个star

QQ交流群:178498936

Poster


安装

yarn add go-captcha-solid
# or
npm install go-captcha-solid
# or
pnpm install go-captcha-solid
import GoCaptcha from 'go-captcha-solid';

点选式

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

<script>
  // call methods
  const domRef
  domRef.clear()
  domRef.refresh()
</script>
// config = {}
interface Config {
  width?: number;
  height?: number;
  thumbWidth?: number;
  thumbHeight?: number;
  verticalPadding?: number;
  horizontalPadding?: number;
  showTheme?: boolean;
  title?: string;
  buttonText?: string;
  iconSize?: number;
  dotSize?: number;
}

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

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

// component method
interface ClickMethods {
  reset: () => void,
  clear: () => void,
  refresh: () => void,
  close: () => void,
}

// export component method
interface ExportMethods {
  reset: () => void,
  clear: () => void,
  refresh: () => void,
  close: () => void,
}

滑动式

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

<script>
  // call methods
  const domRef
  domRef.clear()
  domRef.refresh()
</script>
// config = {}
interface SlideConfig {
  width?: number;
  height?: number;
  thumbWidth?: number;
  thumbHeight?: number;
  verticalPadding?: number;
  horizontalPadding?: number;
  showTheme?: boolean;
  title?: string;
  iconSize?: number;
  scope ?: boolean;
}

// 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, reset:() => void) => boolean;
}

// export component method
interface ExportMethods {
  reset: () => void,
  clear: () => void,
  refresh: () => void,
  close: () => void,
}

拖拽式

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

<script>
  // call methods
  const domRef
  domRef.clear()
  domRef.refresh()
</script>
// config = {}
interface SlideRegionConfig {
  width?: number;
  height?: number;
  thumbWidth?: number;
  thumbHeight?: number;
  verticalPadding?: number;
  horizontalPadding?: number;
  showTheme?: boolean;
  title?: string;
  iconSize?: number;
  scope ?: boolean;
}

// 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, reset:() => void) => boolean;
}

// export component method
interface ExportMethods {
  reset: () => void,
  clear: () => void,
  refresh: () => void,
  close: () => void,
}

旋转式

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

<script>
  // call methods
  const domRef
  domRef.clear()
  domRef.refresh()
</script>
// config = {}
interface Config {
  width?: number;
  height?: number;
  thumbWidth?: number;
  thumbHeight?: number;
  verticalPadding?: number;
  horizontalPadding?: number;
  showTheme?: boolean;
  title?: string;
  iconSize?: number;
  scope ?: boolean;
}

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

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

// export component method
interface ExportMethods {
  reset: () => void,
  clear: () => void,
  refresh: () => void,
  close: () => void,
}

按钮

<GoCaptcha.Button />
interface _ {
  config?: CaptchaConfig;
  clickEvent?: () => void;
  disabled?: boolean;
  type?: "default" | "warn" | "error" | "success";
  title?: string;
}

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

👍 赞助一下