คู่มือการผสานรวม Web SDK
ความเข้ากันได้
| รายการ | คำอธิบาย |
|---|---|
| ความเข้ากันได้ | IE9+, Chrome, Firefox, Safari, Opera, เบราว์เซอร์มือถือหลัก, WebView ที่ฝังใน iOS และ Android |
รูปแบบการยืนยัน
["slide","icon","nine","match"]
รูปแบบที่รองรับในปัจจุบัน:
| ชื่อ | คำอธิบาย |
|---|---|
| slide | ปริศนาสไลด์ |
| icon | การคลิกไอคอนตามลำดับ |
| nine | ตารางเก้าช่อง |
| match | เกมจับคู่สาม |
เริ่มต้นใช้งานอย่างรวดเร็ว
การนำเข้า
ไฟล์ gt4.js
จัดทำโดย EngageLab
การนำเข้า gt4.js จะติดตั้งฟังก์ชันการเริ่มต้น initGeetest ในระดับโลก
<script src="https://captcha-stat.engagelab.com/www/gt4.js"></script>
การเริ่มต้น Captcha
💡 เคล็ดลับ
ก่อนการเริ่มต้น คุณจำเป็นต้องได้รับ รหัสยืนยัน จากเซิร์ฟเวอร์ ดูรายละเอียดในพารามิเตอร์การกำหนดค่า
ใช้ฟังก์ชัน initGeetest เพื่อรับ อินสแตนซ์ captcha พารามิเตอร์แรกของฟังก์ชันนี้คือ พารามิเตอร์การกำหนดค่า สำหรับ captcha และพารามิเตอร์ที่สองคือ ฟังก์ชัน callback หลังจากการเริ่มต้นเสร็จสิ้น
var config = {
captchaId: 'xxxx', // รหัสยืนยัน
apiServers: ['https://captcha-api.engagelab.com'], // รายการที่อยู่เซิร์ฟเวอร์ยืนยัน ต้องกำหนดค่าตามที่กำหนด
staticServers: ['https://captcha-stat.engagelab.com/www/js'] // รายการที่อยู่เซิร์ฟเวอร์ทรัพยากรสถิติต้องกำหนดค่าตามที่กำหนด
}
/**
* @desc Callback หลังจากการเริ่มต้นเสร็จสิ้น
* @param { Object } gt อินสแตนซ์ Captcha
*/
var callback = function(gt) {
// จัดการธุรกิจที่เกี่ยวข้องตามอินสแตนซ์ captcha เช่น การเรียกหน้าต่าง captcha การฟังเหตุการณ์ยืนยันสำเร็จ...
}
initGeetest(config, callback)
เรียกหน้าต่าง Captcha
💡 เคล็ดลับ
จับคู่กับพารามิเตอร์การกำหนดค่า
productมีสองวิธีในการเรียกหน้าต่าง captcha:
- คลิกปุ่มในตัวที่มีให้เพื่อเรียก (
productมีค่าไม่ใช่bind) - เรียกใช้เมธอด
showCaptchaของอินสแตนซ์ captcha (productมีค่าเป็นbind)
<div id="captch_wrap" class="captch-wrap"></div>
var config = {
captchaId: 'xxxx', // รหัสยืนยัน
apiServers: ['https://captcha-api.engagelab.com'], // รายการที่อยู่เซิร์ฟเวอร์ยืนยัน ต้องกำหนดค่าตามที่กำหนด
staticServers: ['https://captcha-stat.engagelab.com/www/js'], // รายการที่อยู่เซิร์ฟเวอร์ทรัพยากรสถิติต้องกำหนดค่าตามที่กำหนด
product: 'bind' // สถานการณ์ที่ 2
}
/**
* @desc Callback หลังจากการเริ่มต้นเสร็จสิ้น
* @param { Object } gt อินสแตนซ์ Captcha
*/
var callback = function(gt) {
gt.onReady(function() {
// สถานการณ์ที่ 1: ใช้ปุ่มในตัวที่มีให้โดย EngageLab เพื่อเรียกหน้าต่าง captcha
// เพิ่มปุ่มในตัวในพื้นที่ที่ระบุ
gt.appendTo("#captch_wrap")
// สถานการณ์ที่ 2: การเรียกหน้าต่าง captcha แบบกำหนดเอง
// เรียกใช้เมธอด showCaptcha ของอินสแตนซ์ในเหตุการณ์เฉพาะ
// ตัวอย่างเช่น เรียกทันทีหลังจาก captcha พร้อมใช้งาน
gt.showCaptcha()
})
}
initGeetest(config, callback)
รับผลการยืนยัน
/**
* @desc Callback หลังจากการเริ่มต้นเสร็จสิ้น
* @param { Object } gt อินสแตนซ์ Captcha
*/
var callback = function(gt) {
// เรียกหน้าต่าง captcha...
// ฟังผลการยืนยัน
gt.onSuccess(function(res) {
console.log(res)
})
}
initGeetest({...}, callback)
พารามิเตอร์การกำหนดค่า
พารามิเตอร์การกำหนดค่า
| พารามิเตอร์ | ประเภท | คำอธิบาย | ค่าเริ่มต้น |
|---|---|---|---|
| captchaId | string | รหัสยืนยัน ได้รับจาก EngageLab backend | จำเป็น |
| product | string | โหมดการแสดงหน้าต่าง captcha ค่าเลือก: float, popup, bind | float |
| language | string | ให้ความสำคัญกับค่าที่ส่งผ่านก่อน ตามด้วยภาษาของเบราว์เซอร์ปัจจุบัน หากไม่มีค่าที่ตรงกัน จะใช้ค่าเริ่มต้น | zh |
| protocol | string | โปรโตคอลเครือข่าย | // |
| apiServers | array | ที่อยู่บริการคำขอยืนยัน (ไม่รวมโปรโตคอล) ต้องกำหนดค่าเป็น ['https://captcha-api.engagelab.com'] | - |
| staticServers | array | ที่อยู่บริการทรัพยากรสถิติที่จำเป็นสำหรับการยืนยัน (ไม่รวมโปรโตคอล) ต้องกำหนดค่าเป็น ['https://captcha-stat.engagelab.com/www/js'] | - |
| post | boolean | เมื่อกำหนดเป็น true วิธีคำขอคือ ajax; หากไม่ใช่จะเป็น jsonp | false |
| showSuccessTip | boolean | ควบคุมหน้าต่างแจ้งเตือนความสำเร็จเมื่อ product เป็น bind | true |
| riskType | string | ระบุรูปแบบการยืนยัน เช่น การเลื่อน การคลิก เป็นต้น (มีผลเฉพาะเมื่อโหมดการยืนยันของระบบ backend ถูกตั้งค่าเป็นโหมดการผสานความเสี่ยง) | - |
| timeout | number | เวลาหมดอายุสำหรับคำขอยืนยัน | 30000 |
| offlineCb | function | ฟังก์ชันการจัดการออฟไลน์ที่กำหนดเอง | - |
| onError | function | การจับข้อผิดพลาดก่อนการเริ่มต้น captcha | - |
| mask | Object | การกำหนดค่าหน้ากากหน้าต่าง captcha | |
| nativeButton | Object | การกำหนดค่าที่เกี่ยวข้องกับปุ่มในตัว | |
| toolbar | Array | การกำหนดค่าแถบเครื่องมือ | |
| clientType | string | ประเภทของไคลเอนต์ ค่าเลือก: web | |
| width | string | กำหนดความกว้างของหน้าต่าง captcha ความกว้างสูงสุดคือ 340px (ความสูงของหน้าต่าง captcha ปรับตามอัตโนมัติ อัตราส่วนประมาณ | 340px |
| zoom | number | ค่าการปรับขนาดสำหรับสถานการณ์พิเศษ ไม่จำกัดค่ามากสุด (ค่าคงที่คือ 1 สำหรับเบราว์เซอร์ Firefox) | 1 |
การกำหนดค่า Mask Object
| พารามิเตอร์ | ประเภท | คำอธิบาย | ค่าเริ่มต้น |
|---|---|---|---|
| backgroundColor | string | ค่าสีที่ถูกต้อง | - |
| outside | boolean | ปิด captcha เมื่อคลิกนอกพื้นที่ captcha | - |
การกำหนดค่า NativeButton Object
| พารามิเตอร์ | ประเภท | คำอธิบาย | ค่าเริ่มต้น |
|---|---|---|---|
| width | string | ความกว้างของปุ่มทริกเกอร์ในตัว | - |
| height | string | ความสูงของปุ่มทริกเกอร์ในตัว | - |
การกำหนดค่า Toolbar Array
initGeetest({..., toolbar: ['close', 'refresh']}, function() {...})
การกำหนดค่าภาษา
initGeetest({..., language: 'zh'}, function() {...})
| ค่าที่ถูกต้อง | ประเภท | คำอธิบาย |
|---|---|---|
| close | string | ปุ่มปิดหน้าต่าง captcha |
| refresh | string | ปุ่มรีเฟรชหน้าต่าง captcha |
ภาษา (18 ประเภท)
| ค่าที่เลือกได้ | ภาษา |
|---|---|
| ara | อาหรับ |
| deu | เยอรมัน |
| eng | อังกฤษ |
| fra | ฝรั่งเศส |
| ind | อินโดนีเซีย |
| jpn | ญี่ปุ่น |
| kor | เกาหลี |
| msa | มาเลย์ |
| pon | โปรตุเกสบราซิล |
| por | โปรตุเกสยุโรป |
| rus | รัสเซีย |
| spa | สเปน |
| tha | ไทย |
| udm | อุยกูร์ |
| vie | เวียดนาม |
| zh | จีนตัวย่อ |
| zho-hk | จีนดั้งเดิม (ฮ่องกง) |
| zho-tw | จีนดั้งเดิม (ไต้หวัน) |
โหมดออฟไลน์การยืนยันพฤติกรรม
โหมดออฟไลน์ถูกตั้งค่าเพื่อจัดการสถานการณ์ที่รุนแรง เพื่อให้แน่ใจว่ากระบวนการยืนยัน captcha ที่ผิดปกติจะไม่ส่งผลกระทบต่อกระบวนการทางธุรกิจปกติ
โหมดออฟไลน์ส่วนใหญ่เกิดขึ้นเมื่อเซิร์ฟเวอร์หลักของเว็บไซต์ไม่สามารถเชื่อมต่อกับเซิร์ฟเวอร์ยืนยันได้ ส่งผลให้เกิดการหมดเวลาในการเชื่อมต่อและปัญหาอื่นๆ
ในโหมดออฟไลน์ กระบวนการยืนยันทั้งหมดจะข้ามเซิร์ฟเวอร์ยืนยัน ผู้รวมระบบจำเป็นต้องเพิ่มตรรกะการยืนยันหรือมีแผนลดระดับผลิตภัณฑ์

เมื่อเซิร์ฟเวอร์ยืนยันเข้าสู่โหมดออฟไลน์,
กระบวนการของไคลเอนต์ยังคงไม่เปลี่ยนแปลง และการเรียก captcha จะผ่านทันที และเข้าสู่ onSuccess
ระบบธุรกิจส่งการยืนยันครั้งที่สองไปยังระบบ captcha และหากหมดเวลา จะได้รับการยืนยันว่าเป็นออฟไลน์
initGeetest({...}, function(gt) {
...
gt.onSuccess(function(res) {
console.log(res) // ตัวอย่างผลลัพธ์การยืนยันสำเร็จ
{
captcha_id: "59bbe0f128f0624fdd185a6a2207aa54",
captcha_output: "X000Q5p.....i-SFRyH1",
client_type: "web",
gen_time: "1648204854",
lot_number: "200e2e58e1d3a6906e08cc9ff5c6e0b5",
offline: true,
pass_token: "e000b4dc372c1397976f7b8f12d66ea8d5c993ab2db5810258e835429f6fa4ae"
}
// ส่งไปยังระบบธุรกิจ...
})
})









