go-captcha-uni
v1.0.6
Published
验证码,UniApp 验证码,GoCaptcha 验证码,行为验证码,点选验证码,滑动验证码,旋转验证码,拼图滑块验证码,拼图拖放验证码,图像旋转验证码,点击验证码
Maintainers
Readme
English | 中文
其他项目
| 名称 | 描述 | |----------------------------------------------------------------------------|---------------------------------------------------------------------------------------------| | document | GoCaptcha 文档 | | online demo | GoCaptcha 在线演示 | | go-captcha-example | Golang + 前端 + APP实例 | | go-captcha-assets | Golang 内嵌素材资源 | | go-captcha | Golang 验证码 | | go-captcha-jslib | Javascript 验证码 | | go-captcha-vue | Vue 验证码 | | go-captcha-react | React 验证码 | | go-captcha-angular | Angular 验证码 | | go-captcha-svelte | Svelte 验证码 | | go-captcha-solid | Solid 验证码 | | go-captcha-uni | UniApp 验证码,兼容 App、小程序、快应用等 | | go-captcha-service | GoCaptcha 服务,支持二进制、Docker镜像等方式部署, 提供 HTTP/GRPC 方式访问接口,可用单机模式和分布式(服务发现、负载均衡、动态配置等) | | go-captcha-service-sdk | GoCaptcha 服务SDK工具包,包含 HTTP/GRPC 请求服务接口,支持静态模式、服务发现、负载均衡 | | ... | | |
安装方式
1、使用HBuilderX导入插件
2、下载插件ZIP导入插件
3、Node 依赖工具安装
yarn add go-captcha-uni
# or
npm install go-captcha-uni
# or
pnpm install go-captcha-uni使用
- 采用 uni_modules 方式安装,支持 easycom 模式导入组件,可以不用 Import、注册等。
<template>
<go-captcha-uni type="click"
:data="clickCaptData"
:config="clickCaptConfig"
:theme="clickThemeColor"
@event-click="handleClickEvent"
@event-confirm="handleConfirmEvent"
@event-refresh="handleRefreshEvent"
@event-close="handleCloseEvent"/>
</template>- 采用 npm/yarn/pnpm/... 等依赖工具方式安装,需要 Import 导入。
<template>
<go-captcha-uni type="click"
:data="clickCaptData"
:config="clickCaptConfig"
:theme="clickThemeColor"
@event-click="handleClickEvent"
@event-confirm="handleConfirmEvent"
@event-refresh="handleRefreshEvent"
@event-close="handleCloseEvent"/>
</template>
<script>
import GoCaptchaUni from 'go-captcha-uni'
</script>点选式
<go-captcha-uni
type="click"
:config="{}"
:theme="{}"
:data="{}"
ref="domRef"
/>
<script>
// call methods
const domRef = ref(null)
domRef.value.clear()
domRef.value.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;
}
// theme = {}
interface Theme {
textColor?: string; // '#ffffff'
bgColor?: string;
btnColor?: string;
btnDisabledColor?: string;
btnBgColor?: string;
btnBorderColor?: string;
activeColor?: string;
borderColor?: string;
iconColor?: string;
loadingIconColor?: string;
bodyBgColor?: string;
dotColor?: string;
dotBgColor?: string;
dotBorderColor?: string;
}
// @events
interface _ {
'@event-click'?: (x: number, y: number) => void;
'@event-refresh'?: () => void;
'@event-close'?: () => void;
'@event-confirm'?: (dots: Array<ClickDot>, reset:() => void) => boolean;
}
// export component method
interface ExportMethods {
reset: () => void,
clear: () => void,
refresh: () => void,
close: () => void,
}滑动式
<go-captcha-uni
type="slide"
:config="{}"
:theme="{}"
:data="{}"
ref="domRef"
/>
<script>
// call methods
const domRef = ref(null)
domRef.value.clear()
domRef.value.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 {
thumbX: number;
thumbY: number;
thumbWidth: number;
thumbHeight: number;
image: string;
thumb: string;
}
// theme = {}
interface Theme {
textColor?: string; // '#ffffff'
bgColor?: string;
borderColor?: string;
iconColor?: string;
dragBarColor?: string;
dragBgColor?: string;
dragIconColor?: string;
loadingIconColor?: string;
bodyBgColor?: string;
}
// @events
interface _{
'@event-move'?: (x: number, y: number) => void;
'@event-refresh'?: () => void;
'@event-close'?: () => void;
'@event-confirm'?: (point: SlidePoint, reset:() => void) => boolean;
}
// export component method
interface ExportMethods {
reset: () => void,
clear: () => void,
refresh: () => void,
close: () => void,
}拖拽式
<go-captcha-uni
type="drag"
:config="{}"
:theme="{}"
:data="{}"
ref="domRef"
/>
<script>
// call methods
const domRef = ref(null)
domRef.value.clear()
domRef.value.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 {
thumbX: number;
thumbY: number;
thumbWidth: number;
thumbHeight: number;
image: string;
thumb: string;
}
// theme = {}
interface Theme {
textColor?: string; // '#ffffff'
bgColor?: string;
borderColor?: string;
iconColor?: string;
loadingIconColor?: string;
bodyBgColor?: string;
}
// @events
interface _ {
'@event-move'?: (x: number, y: number) => void;
'@event-refresh'?: () => void;
'@event-close'?: () => void;
'@event-confirm'?: (point: SlideRegionPoint, reset:() => void) => boolean;
}
// export component method
interface ExportMethods {
reset: () => void,
clear: () => void,
refresh: () => void,
close: () => void,
}旋转式
<go-captcha-uni
type="rotate"
:config="{}"
:theme="{}"
:data="{}"
ref="domRef"
/>
<script>
// call methods
const domRef = ref(null)
domRef.value.clear()
domRef.value.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 {
image: string;
thumb: string;
thumbSize: number;
}
// theme = {}
interface Theme {
textColor?: string; // '#ffffff'
bgColor?: string;
borderColor?: string;
iconColor?: string;
dragBarColor?: string;
dragBgColor?: string;
dragIconColor?: string;
roundColor?: string;
loadingIconColor?: string;
bodyBgColor?: string;
}
// @events
interface _ {
'@event-rotate'?: (angle: number) => void;
'@event-refresh'?: () => void;
'@event-close'?: () => void;
'@event-confirm'?: (angle: number, reset:() => void) => boolean;
}
// export component method
interface ExportMethods {
reset: () => void,
clear: () => void,
refresh: () => void,
close: () => void,
}按钮
<go-captcha-uni
type="button"
:config="{}"
:theme="{}"
:data="{}"
/>// config = {}
interface Config {
width?: number;
height?: number;
verticalPadding?: number;
horizontalPadding?: number;
}
// data = {}
interface Data {
disabled?: boolean;
type?: "default" | "warn" | "error" | "success"
}
// theme = {}
interface Theme {
textColor?: string; // '#ffffff'
bgColor?: string;
btnColor?: string;
btnDisabledColor?: string;
btnBgColor?: string;
btnBorderColor?: string;
activeColor?: string;
borderColor?: string;
iconColor?: string;
loadingIconColor?: string;
bodyBgColor?: string;
dotColor?: string;
dotBgColor?: string;
dotBorderColor?: string;
}
// @events
interface _ {
'@event-click'?: () => {}
}
后端服务【可选】
服务支持二进制、Docker镜像等方式部署 go-captcha-service
