captcha.js 632 B

1234567891011121314151617181920212223242526
  1. let _recaptchaId
  2. let _recaptchaResolve
  3. export function executeV2Captcha(disabled = false) {
  4. return new Promise((resolve, reject) => {
  5. if (disabled || !window.grecaptcha) {
  6. return resolve()
  7. }
  8. try {
  9. if (!_recaptchaId) {
  10. _recaptchaId = window.grecaptcha.render('recaptcha', {
  11. callback: token => {
  12. if (_recaptchaResolve) {
  13. _recaptchaResolve(token)
  14. _recaptchaResolve = undefined
  15. }
  16. window.grecaptcha.reset()
  17. },
  18. })
  19. }
  20. _recaptchaResolve = resolve
  21. } catch (error) {
  22. reject(error)
  23. }
  24. })
  25. }