TencentCaptcha web端接入


 

 1 import { Toast } from 'vant'
 2 
 3 let scriptId = 0
 4 let prefix = '__import__'
 5 const loadJs = async (url) => {
 6     let script = document.createElement('script')
 7     let elId = prefix + scriptId
 8 
 9     return new Promise((resolve, reject) => {
10         script.onload = (res) => {
11             scriptId++
12             resolve(0)
13             Toast.clear()
14         }
15         if (!document.querySelector(`#${elId}`)) {
16             Toast.loading({
17                 message: '加載中...',
18                 forbidClick: true,
19             })
20             script.id = elId
21             script.src = url
22             script.async = true
23             document.head.appendChild(script)
24         } else {
25             resolve(0)
26         }
27     })
28 }
29 // appid 
30 // App Secret Key  
31 const TencentVerify = {
32     async open(appid = '', callback, opts = { needFeedBack: false }) {
33         if (!window.TencentCaptcha) {
34             await loadJs('https://ssl.captcha.qq.com/TCaptcha.js')
35         }
36         return new Promise((resolve, reject) => {
37             let captcha = new TencentCaptcha(appid, (res) => {
38                 if (res.ret === 0) {
39                     let result = { success: true, msg: '驗證成功', params: res }
40                     callback && callback(result)
41                     resolve(result)
42                 }
43                 reject({ success: false, msg: '驗證失敗' })
44                 captcha.destroy()
45             }, opts)
46             captcha.show()
47         })
48     }
49 }
50 
51 export default TencentVerify

使用

TencentVerify.open()
        .then((res) => {
            console.log(res)
        }).catch((err) => {
            console.log(err)
        })

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM