Skip to content

FxCaptchaRotate 旋转验证 ​

圆形图片按随机角度预旋转,拖动下方滑块把图片转回正向。松手时角度差在容差内通过,否则回弹并提示失败;点击图片换一题。

基础用法 ​

vue
<script setup lang="ts">
import { FxCaptchaRotate } from "@fx/components"

const onSuccess = ({ time }) => console.log(`验证通过,用时 ${time}s`)
</script>

Attributes ​

参数说明类型默认值
v-model通过状态booleanfalse
src图片地址string—
imageSize图片边长(px)number220
minDegree最小随机旋转角(deg)number120
maxDegree最大随机旋转角(deg)number300
diffDegree通过的允许角度差(deg)number20
answerDegree服务端下发的正确角度(提供时跳过本地随机,答案由服务端留存校验)number—
server-side服务端判定模式:题图已按预旋转合成(src 即含偏转的成品图),组件不本地判定不回弹,松手上报 release 由外部校验驱动booleanfalse
defaultTip图片底部默认提示string'拖动滑块将图片转正'

服务端校验

两种接法:① answer-degree 下发答案留存的本地判定(组件内提示通过与否);② server-side 模式——服务端把预旋转直接合成进题图(src 指向动态出图端点),前端不见角度,松手经 release 事件上报换算角度由服务端复验。生产推荐 ②(答案不出服务端)。

Events ​

事件名说明回调参数
success验证通过(本地判定模式)({ isPassing: boolean, time: string })
release松手上报(server-side 模式):value 为换算角度(deg)({ value: number, time: string })

Slots ​

全部透传给内部滑块基座:text(内容文字)、actionIcon(滑块图标),作用域 { isPassing }。

Expose ​

方法说明
resume换一题并复位(重新随机旋转角、清通过态)