New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

go-captcha-jslib

Package Overview
Dependencies
Maintainers
0
Versions
19
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

go-captcha-jslib

GoCaptcha for Javascript, which implements click mode, slider mode, drag-drop mode and rotation mode.

  • 1.0.9
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
427
increased by0.47%
Maintainers
0
Weekly downloads
 
Created
Source

Go Captcha

The Behavior Captcha For The Javascript


English | 中文


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

Poster

Install Module

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

Import Module


// Import css,Need css-loader processer
import "go-captcha-jslib/dist/gocaptcha.global.css"

// Import Module
import GoCaptcha from "go-captcha-jslib";
console.log(GoCaptcha)
// OR
const GoCaptcha = require('go-captcha-jslib')
console.log(GoCaptcha)

Browser Install

Bower Tool
bower install wenlng/go-captcha-jslib --save
<!-- css -->
<link href="/bower_components/go-captcha-jslib/dist/gocaptcha.global.css" rel="stylesheet">
<!-- Js -->
<script src="/bower_components/go-captcha-jslib/dist/gocaptcha.global.js"></script>

<script>
    console.log(window.GoCaptcha)
</script>
CDN Import
<!-- format: https://unpkg.com/go-captcha-jslib@1.0.0/dist/gocaptcha.xyz.s -->
<!-- Js -->
<script src="https://unpkg.com/go-captcha-jslib@${VERSION}/dist/gocaptcha.global.js"></script>
<!-- css -->
<link href="https://unpkg.com/go-captcha-jslib@${VERSION}/dist/gocaptcha.global.css" rel="stylesheet">

<script>
    console.log(window.GoCaptcha)
</script>

Click Mode

<div id="click-wrap"/>

<script>
  const el = document.getElementById("click-wrap");
  const capt = new GoCaptcha.Click({
    width: 300,
    height: 220,
  })

  capt.mount(el)
  
  // capt.setConfig({
  //   width: 300,
  //   height: 220,
  // })
  
  capt.setData({
    image: 'xxx',
    thumb: 'xxx',
  })
  
  capt.setEvents({
    click(x,  y) {
      // ..
    },
    confirm(dots, reset) {
      // ...
      // reset()
    },
    refresh() {
      // ...
    },
    close() {
      // ...
    }
  })
</script>
// config = {}
interface ClickConfig {
  width?: number;
  height?: number;
  thumbWidth?: number;
  thumbHeight?: number;
  verticalPadding?: number;
  horizontalPadding?: number;
  showTheme?: boolean;
  title?: string;
  buttonText?: string;
  iconSize?: number;
  dotSize?: number;
}

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

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

// instance methods
interface ClickInstanceMethods {
  setConfig: (config: ClickConfig) => void,
  setData: (data: ClickData) => void,
  setEvents: (events: ClickEvents) => void,
  mount: (el: HTMLElement) => void,
  destroy: () => void,
  reset: () => void,
  clear: () => void,
  refresh: () => void,
  close: () => void,
}

Slide Mode

<div id="slide-wrap"/>

<script>
  const el = document.getElementById("slide-wrap");
  const capt = new GoCaptcha.Slide({
    width: 300,
    height: 220,
  })

  capt.mount(el)
  
  // capt.setConfig({
  //   width: 300,
  //   height: 220,
  // })
  
  capt.setData({
    image: 'xxx',
    thumb: 'xxx',
    thumbWidth: 100;
    thumbHeight: 100;
    thumbX: 100;
    thumbY: 100;
  })
  
  capt.setEvents({
    click(x,  y) {
      // ..
    },
    confirm(point, reset) {
      // ...
      // reset()
    },
    refresh() {
      // ...
    },
    close() {
      // ...
    }
  })
</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;
}

// instance methods
interface SlideInstanceMethods {
  setConfig: (config: SlideConfig) => void,
  setData: (data: SlideData) => void,
  setEvents: (events: SlideEvents) => void,
  mount: (el: HTMLElement) => void,
  destroy: () => void,
  reset: () => void,
  clear: () => void,
  refresh: () => void,
  close: () => void,
}

Drag-And-Drop Mode

<div id="slide-region-wrap"/>

<script>
  const el = document.getElementById("slide-region-wrap");
  const capt = new GoCaptcha.SlideRegion({
    width: 300,
    height: 220,
  })

  capt.mount(el)
  
  // capt.setConfig({
  //   width: 300,
  //   height: 220,
  // })
  
  capt.setData({
    image: 'xxx',
    thumb: 'xxx',
  })
  
  capt.setEvents({
    click(x,  y) {
      // ..
    },
    confirm(dots, reset) {
      // ...
      // reset()
    },
    refresh() {
      // ...
    },
    close() {
      // ...
    }
  })
</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;
}

// instance methods
interface SlideRegionInstanceMethods {
  setConfig: (config: SlideRegionConfig) => void,
  setData: (data: SlideRegionData) => void,
  setEvents: (events: SlideRegionEvents) => void,
  mount: (el: HTMLElement) => void,
  destroy: () => void,
  reset: () => void,
  clear: () => void,
  refresh: () => void,
  close: () => void,
}

Rotation Mode

<div id="rotate-wrap"/>

<script>
  const el = document.getElementById("rotate-wrap");
  const capt = new GoCaptcha.Rotate({
    width: 300,
    height: 220,
  })

  capt.mount(el)
  
  // capt.setConfig({
  //   width: 300,
  //   height: 220,
  // })
  
  capt.setData({
    image: 'xxx',
    thumb: 'xxx',
  })
  
  capt.setEvents({
    click(x,  y) {
      // ..
    },
    confirm(dots, reset) {
      // ...
      // reset()
    },
    refresh() {
      // ...
    },
    close() {
      // ...
    }
  })
</script>
// config = {}
interface RotateConfig {
  width?: number;
  height?: number;
  thumbWidth?: number;
  thumbHeight?: number;
  verticalPadding?: number;
  horizontalPadding?: number;
  showTheme?: boolean;
  title?: string;
  iconSize?: number;
  scope ?: boolean;
}

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

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

// instance methods
interface ClickInstanceMethods {
  setConfig: (config: ClickConfig) => void,
  setData: (data: ClickData) => void,
  setEvents: (events: ClickEvents) => void,
  mount: (el: HTMLElement) => void,
  destroy: () => void,
  reset: () => void,
  clear: () => void,
  refresh: () => void,
  close: () => void,
}

Button

<div id="button-wrap"/>

<script>
  const el = document.getElementById("button-wrap");
  const capt = new GoCaptcha.Button({
    width: 300,
    height: 220,
  })

  capt.mount(el)
  
  // capt.setConfig({
  //   width: 200,
  //   height: 28,
  // })
  
  capt.setState({
    title: 'xxx',
    type: 'default',
    clickEvent: () => {console.log('hello ok')},
  })
</script>

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

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


// instance methods
interface ButtonInstanceMethods {
  setConfig: (config: ButtonConfig) => void,
  setState: (data: ButtonState) => void,
  mount: (el: HTMLElement) => void,
  destroy: () => void,
}

Keywords

FAQs

Package last updated on 16 Feb 2025

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc