Skip to content
On this page

隐藏式

使用工具函数

使用方法

javascript
import { verifyAndGetToken, VerifyClosed } from '@chongying-star/vue-vaptcha';
async function onFormSubmit () {
  try {
    const { server, token } = await verifyAndGetToken();
    // 验证成功
  } catch (error) {
    if (error instanceof VerifyClosed) {
      // 用户取消了验证
    }
  }
}

Parameters

ParameterDescriptionType
optionVaptcha选项Readonly<Partial<VaptchaOptionInvisibleType>>

Return

PropertyDescriptionType
tokentoken值string
serverserver值string

Throws

TypeDescription
InitError初始化错误(通常是未提供vid)
VerifyClosed用户取消了验证(通常是用户关闭了验证对话框)

使用组合式函数(Composables)

使用方法

javascript
import { useInvisibleVaptcha } from '@chongying-star/vue-vaptcha';

const timeout = ref(120 * 1000);

const {
  server, token, init, validate, reset,
} = useInvisibleVaptcha({
  timeout,
  onPass (serverToken) { console.log('passed', serverToken) },
});

onMounted(() => {
  init();
});

const onButtonClick = () => {
  validate();
};

watch(token, () => {
  // Do something ...
});

Parameters

ParameterPropertyDescriptionTypeDefault
optiontimeoutToken过期时间(毫秒)number|Ref<number>120 * 1000
optiononPass验证通过时触发(VaptchaServerToken) => any--
optiononClose关闭验证弹窗时触发() => any--
optiononTimeoutToken过期时触发() => any--

Return

PropertyDescriptionType
vaptchaInstancevaptcha实例ReadonlyShallowRef<CyVaptcha|undefined>
token响应式token值ReadonlyRef<string>
server响应式server值ReadonlyRef<string>
init初始化方法(option?: Readonly<Partial<VaptchaOptionInvisibleType>>) => Promise<CyVaptcha>
validate开启验证方法() => void
reset重置方法() => void
renderTokenInput向表单添加两个名为VAPTCHA_serverVAPTCHA_token的input标签() => void

Throws

TypeDescription
InitError初始化错误(通常是未提供vid)