日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

客戶(hù)端接入

更新時(shí)間:

在控制臺(tái)添加驗(yàn)證場(chǎng)景后,您需要在使用驗(yàn)證功能的Web或H5頁(yè)面中,集成驗(yàn)證碼初始化代碼,實(shí)現(xiàn)客戶(hù)端接入。本文介紹如何集成驗(yàn)證碼初始化代碼。

前提條件

已開(kāi)通驗(yàn)證碼2.0服務(wù),并新建客戶(hù)端類(lèi)型WebH5的驗(yàn)證場(chǎng)景。具體操作,請(qǐng)參見(jiàn)步驟二:新建驗(yàn)證場(chǎng)景

集成驗(yàn)證碼初始化代碼

Web或H5頁(yè)面支持彈出式、嵌入式兩種形態(tài)。下文以登錄場(chǎng)景為例,介紹如何在客戶(hù)端源代碼中集成驗(yàn)證碼。

重要
  • 集成時(shí),建議您將所需要的初始化參數(shù)項(xiàng)按參數(shù)說(shuō)明配置好,同時(shí)預(yù)留驗(yàn)證碼的頁(yè)面元素,即element、button參數(shù)所指向的DOM元素,例如如下示例中的<div id="captcha-element"></div>

  • 集成時(shí),建議設(shè)置業(yè)務(wù)模塊容器的高度為自適應(yīng),以免后續(xù)切換驗(yàn)證碼類(lèi)型時(shí)因?yàn)轵?yàn)證碼高度變化而造成元素超出容器高度。

  • 集成后,如果您在控制臺(tái)修改場(chǎng)景配置(例如驗(yàn)證碼形態(tài)),無(wú)需再次調(diào)整初始化參數(shù)和頁(yè)面結(jié)構(gòu),程序會(huì)根據(jù)配置按需加載。

  1. 在客戶(hù)端的源代碼中預(yù)留驗(yàn)證碼頁(yè)面元素,這里以登錄場(chǎng)景為例。

    // 客戶(hù)端原代碼舉例
     const button = document.getElementById('button');
     button.onclick = function () {
       // 請(qǐng)求后端接口...
       const result = await getWithParams('xx', { 
           yourBizParam... // 業(yè)務(wù)參數(shù)
       });                
       const { bizResult } = result;
       if (bizResult) {
         // 跳轉(zhuǎn)到對(duì)應(yīng)頁(yè)面。此處以跳轉(zhuǎn)到https://www.aliyun.com/頁(yè)面為例
         window.location.;
       }
     }
    
    // 客戶(hù)端body中的代碼
    <div id="space-semantic">
        <div id="embed-wrapper">
            <h2>彈出式</h2>
            <div class="embed-wrapper">
                <div>
                    <label>用戶(hù)名:</label>
                    <input id="username-embed" class="biz-input">
                </div>
                <div>
                    <label>密碼:</label>
                    <input id="password-embed" type="password" class="biz-input">
                </div>
                <div id="captcha-element"></div>  //預(yù)留的驗(yàn)證碼頁(yè)面元素,用于配置初始化函數(shù)中的element參數(shù)
                <button id="button" class="login-btn">登錄</button>
            </div>
        </div>
    </div>
  2. 在客戶(hù)端原代碼后,集成驗(yàn)證碼初始化代碼。

    重要
    • 在線(xiàn)加載JS默認(rèn)更新最新安全能力,若拉取舊版本代碼本地部署(不推薦)將無(wú)法更新最新參數(shù),需要定期按照J(rèn)S版本更新通知進(jìn)行手動(dòng)更新。

    • 初始化方法initAliyunCaptcha除了在必要場(chǎng)景下(如初始化參數(shù)發(fā)生變化)外,不建議重復(fù)調(diào)用,具體請(qǐng)參見(jiàn)Q1: 驗(yàn)證碼的生命周期是怎樣的?

    彈出式

    // 1.集成主JS
    <script type="text/javascript" src="https://o.alicdn.com/captcha-frontend/aliyunCaptcha/AliyunCaptcha.js"></script>
    // 2.新建一個(gè)<script>標(biāo)簽,用于調(diào)用驗(yàn)證碼初始化函數(shù)initAliyunCaptcha
    <script>
      let captcha;
      // 彈出式
      initAliyunCaptcha({
        SceneId: 'c9h3****', // 場(chǎng)景ID。根據(jù)步驟二新建驗(yàn)證場(chǎng)景后,您可以在驗(yàn)證碼場(chǎng)景列表,獲取該場(chǎng)景的場(chǎng)景ID
        prefix: '89****', // 身份標(biāo)。開(kāi)通阿里云驗(yàn)證碼2.0后,您可以在控制臺(tái)概覽頁(yè)面的實(shí)例基本信息卡片區(qū)域,獲取身份標(biāo)
        mode: 'popup', // 驗(yàn)證碼模式。popup表示要集成的驗(yàn)證碼模式為彈出式。無(wú)需修改
        element: '#captcha-element', //頁(yè)面上預(yù)留的渲染驗(yàn)證碼的元素,與原代碼中預(yù)留的頁(yè)面元素保持一致。
        button: '#button', // 觸發(fā)驗(yàn)證碼彈窗的元素。button表示單擊登錄按鈕后,觸發(fā)captchaVerifyCallback函數(shù)。您可以根據(jù)實(shí)際使用的元素修改element的值
        captchaVerifyCallback: captchaVerifyCallback, // 業(yè)務(wù)請(qǐng)求(帶驗(yàn)證碼校驗(yàn))回調(diào)函數(shù),無(wú)需修改
        onBizResultCallback: onBizResultCallback, // 業(yè)務(wù)請(qǐng)求結(jié)果回調(diào)函數(shù),無(wú)需修改
        getInstance: getInstance, // 綁定驗(yàn)證碼實(shí)例函數(shù),無(wú)需修改
        slideStyle: {
          width: 360,
          height: 40,
        }, // 滑塊驗(yàn)證碼樣式,支持自定義寬度和高度,單位為px。其中,width最小值為320 px
        language: 'cn', // 驗(yàn)證碼語(yǔ)言類(lèi)型,支持簡(jiǎn)體中文(cn)、繁體中文(tw)、英文(en)
        region: 'cn' //驗(yàn)證碼示例所屬地區(qū),支持中國(guó)內(nèi)地(cn)、新加坡(sgp)
      });
    
      // 綁定驗(yàn)證碼實(shí)例函數(shù)。該函數(shù)為固定寫(xiě)法,無(wú)需修改
      function getInstance(instance) {
        captcha = instance;
      }
    
      // 業(yè)務(wù)請(qǐng)求(帶驗(yàn)證碼校驗(yàn))回調(diào)函數(shù)
      /**
       * @name captchaVerifyCallback
       * @function
       * 請(qǐng)求參數(shù):由驗(yàn)證碼腳本回調(diào)的驗(yàn)證參數(shù),不需要做任何處理,直接傳給服務(wù)端即可
       * @params {string} captchaVerifyParam
       * 返回參數(shù):字段名固定,captchaResult為必選;如無(wú)業(yè)務(wù)驗(yàn)證場(chǎng)景時(shí),bizResult為可選
       * @returns {{captchaResult: boolean, bizResult?: boolean|undefined}} 
       */
      async function captchaVerifyCallback(captchaVerifyParam) {
        // 1.向后端發(fā)起業(yè)務(wù)請(qǐng)求,獲取驗(yàn)證碼驗(yàn)證結(jié)果和業(yè)務(wù)結(jié)果
        const result = await xxxx('http://您的業(yè)務(wù)請(qǐng)求地址', {
            captchaVerifyParam: captchaVerifyParam, // 驗(yàn)證碼參數(shù)
            yourBizParam... // 業(yè)務(wù)參數(shù)
        });
    
        // 2.構(gòu)造標(biāo)準(zhǔn)返回參數(shù)
        const verifyResult = {
          captchaResult: result.captchaVerifyResult, // 驗(yàn)證碼驗(yàn)證是否通過(guò),boolean類(lèi)型,必選
          bizResult: 從result獲取您的業(yè)務(wù)驗(yàn)證結(jié)果, // 業(yè)務(wù)驗(yàn)證是否通過(guò),boolean類(lèi)型,可選;若為無(wú)業(yè)務(wù)驗(yàn)證結(jié)果的場(chǎng)景,bizResult可以為空
        };
        return verifyResult;
      }
    
      // 業(yè)務(wù)請(qǐng)求驗(yàn)證結(jié)果回調(diào)函數(shù)
      function onBizResultCallback(bizResult) {
        if (bizResult === true) {
          // 如果業(yè)務(wù)驗(yàn)證通過(guò),跳轉(zhuǎn)到對(duì)應(yīng)頁(yè)面。此處以跳轉(zhuǎn)到https://www.aliyun.com/頁(yè)面為例
          window.location.;
        } else {
          // 如果業(yè)務(wù)驗(yàn)證不通過(guò),給出不通過(guò)提示。此處不通過(guò)提示為業(yè)務(wù)驗(yàn)證不通過(guò)!
          alert('業(yè)務(wù)驗(yàn)證不通過(guò)!');
        }
      }
    </script>

    嵌入式

    // 1.集成主JS
    <script type="text/javascript" src="https://o.alicdn.com/captcha-frontend/aliyunCaptcha/AliyunCaptcha.js"></script>
    // 2.新建一個(gè)<script>標(biāo)簽,用于調(diào)用驗(yàn)證碼初始化函數(shù)initAliyunCaptcha
    <script>
      let captcha;
      // 嵌入式
      initAliyunCaptcha({
        SceneId: 'c9h3****', // 場(chǎng)景ID。通過(guò)步驟一添加驗(yàn)證場(chǎng)景后,您可以在驗(yàn)證碼場(chǎng)景列表,獲取該場(chǎng)景的場(chǎng)景ID
        prefix: '89****', // 身份標(biāo)。開(kāi)通阿里云驗(yàn)證碼2.0后,您可以在控制臺(tái)概覽頁(yè)面的實(shí)例基本信息卡片區(qū)域,獲取身份標(biāo)
        mode: 'embed', // 驗(yàn)證碼模式。embed表示要集成的驗(yàn)證碼模式為嵌入式。無(wú)需修改
        element: '#captcha-element', // 頁(yè)面上預(yù)留的渲染驗(yàn)證碼的元素,與原代碼中預(yù)留的頁(yè)面元素保持一致。
        button: '#button', // 觸發(fā)業(yè)務(wù)請(qǐng)求的元素。button表示單擊登錄按鈕后,觸發(fā)captchaVerifyCallback函數(shù)。您可以根據(jù)實(shí)際使用的元素修改element的值
        captchaVerifyCallback: captchaVerifyCallback, // 業(yè)務(wù)請(qǐng)求(帶驗(yàn)證碼校驗(yàn))回調(diào)函數(shù),無(wú)需修改
        onBizResultCallback: onBizResultCallback, // 業(yè)務(wù)請(qǐng)求結(jié)果回調(diào)函數(shù),無(wú)需修改
        getInstance: getInstance, // 綁定驗(yàn)證碼實(shí)例函數(shù),無(wú)需修改
        slideStyle: {
          width: 360,
          height: 40,
        }, // 滑塊驗(yàn)證碼樣式,支持自定義寬度和高度,單位為px。其中,width最小值為320 px
        language: 'cn', // 驗(yàn)證碼語(yǔ)言類(lèi)型,支持簡(jiǎn)體中文(cn)、繁體中文(tw)、英文(en)
        immediate: false, // 完成驗(yàn)證后,是否立即發(fā)送驗(yàn)證請(qǐng)求(調(diào)用captchaVerifyCallback函數(shù))
        region: 'cn' //驗(yàn)證碼示例所屬地區(qū),支持中國(guó)內(nèi)地(cn)、新加坡(sgp)
      });
    
      // 綁定驗(yàn)證碼實(shí)例函數(shù)。該函數(shù)為固定寫(xiě)法,無(wú)需修改
      function getInstance(instance) {
        captcha = instance;
      }
    
      // 業(yè)務(wù)請(qǐng)求(帶驗(yàn)證碼校驗(yàn))回調(diào)函數(shù)
      /**
       * @name verifyCaptchaCallback
       * @function
       * 請(qǐng)求參數(shù):由驗(yàn)證碼腳本回調(diào)的驗(yàn)證參數(shù),不需要做任何處理,直接傳給服務(wù)端即可
       * @params {string} captchaVerifyParam
       * 返回參數(shù):字段名固定,captchaResult為必選;如無(wú)業(yè)務(wù)驗(yàn)證場(chǎng)景時(shí),bizResult為可選
       * @returns {{captchaResult: boolean, bizResult?: boolean|undefined}} 
       */
      async function captchaVerifyCallback(captchaVerifyParam) {
        // 1.向后端發(fā)起業(yè)務(wù)請(qǐng)求,獲取驗(yàn)證碼驗(yàn)證結(jié)果和業(yè)務(wù)結(jié)果
        const result = await xxxx('http://您的業(yè)務(wù)請(qǐng)求地址', {
            captchaVerifyParam: captchaVerifyParam, // 驗(yàn)證碼參數(shù)
            yourBizParam... // 業(yè)務(wù)參數(shù)
        });
    
        // 2.構(gòu)造標(biāo)準(zhǔn)返回參數(shù)
        const verifyResult = {
          captchaResult: result.captchaVerifyResult, // 驗(yàn)證碼驗(yàn)證是否通過(guò),boolean類(lèi)型,必選
          bizResult: 從result獲取您的業(yè)務(wù)驗(yàn)證結(jié)果, // 業(yè)務(wù)驗(yàn)證是否通過(guò),boolean類(lèi)型,可選,若為無(wú)業(yè)務(wù)驗(yàn)證結(jié)果的場(chǎng)景,bizResult可以為空
        };
        return verifyResult;
      }
    
      // 業(yè)務(wù)請(qǐng)求結(jié)果回調(diào)函數(shù)
      function onBizResultCallback(bizResult) {
        if (bizResult === true) {
          // 如果業(yè)務(wù)驗(yàn)證通過(guò),跳轉(zhuǎn)到對(duì)應(yīng)頁(yè)面。此處以跳轉(zhuǎn)到https://www.aliyun.com/頁(yè)面為例
          window.location.;
        } else {
          // 如果業(yè)務(wù)驗(yàn)證不通過(guò),給出不通過(guò)提示。此處不通過(guò)提示為業(yè)務(wù)驗(yàn)證不通過(guò)!
          alert('業(yè)務(wù)驗(yàn)證不通過(guò)!');
        }
      }
    </script>

    其中的captchaVerifyCallback使用ES6語(yǔ)法,如需要使用ES5語(yǔ)法,則參照以下示例,調(diào)用captchaVerifyCallback的第二個(gè)參數(shù)callback回調(diào),將驗(yàn)證結(jié)果傳入即可:

    /**
     * @name captchaVerifyCallback
     * @function
     * @param {String} captchaVerifyParam - 由驗(yàn)證碼腳本回調(diào)的驗(yàn)證參數(shù),不需要做任何處理,直接傳給服務(wù)端即可
     * @param {Function} callback - 回調(diào)函數(shù),用于處理驗(yàn)證結(jié)果,ES5語(yǔ)法兼容
     */
    function captchaVerifyCallback(captchaVerifyParam, callback) {
      // 1.向后端發(fā)起業(yè)務(wù)請(qǐng)求,獲取驗(yàn)證碼驗(yàn)證結(jié)果和業(yè)務(wù)結(jié)果
      requestVerifyResult('http://您的業(yè)務(wù)請(qǐng)求地址', { 
          captchaVerifyParam: captchaVerifyParam, // 驗(yàn)證碼參數(shù)
          yourBizParam... // 業(yè)務(wù)參數(shù)
      }, function(result) {
          // 2.構(gòu)造標(biāo)準(zhǔn)返回參數(shù)
          var verifyResult = {
              captchaResult: result.captchaVerifyResult,
              bizResult: result.bizResult,
          };    
          // 調(diào)用回調(diào)函數(shù),傳入驗(yàn)證結(jié)果
          callback(verifyResult);
      });
    }

如果您在接入過(guò)程中遇到任何問(wèn)題,請(qǐng)?zhí)峤?span data-tag="ph" id="e5aead189aab9" docid="4202555" class="ph">工單聯(lián)系我們。

參數(shù)說(shuō)明

initAliyunCaptcha

參數(shù)

類(lèi)型

是否必填

默認(rèn)值

描述

SceneId

String

無(wú)

驗(yàn)證碼場(chǎng)景ID,新建驗(yàn)證場(chǎng)景后可獲取該值。具體操作,請(qǐng)參見(jiàn)步驟二:添加驗(yàn)證場(chǎng)景

prefix

String

無(wú)

驗(yàn)證碼身份標(biāo)識(shí)。開(kāi)通驗(yàn)證碼2.0后,可獲取該值。具體操作,請(qǐng)參見(jiàn)步驟一:開(kāi)通驗(yàn)證碼服務(wù)

mode

String

無(wú)

驗(yàn)證碼模式。可選項(xiàng):

  • popup:表示彈出式。

  • embed:表示嵌入式。

element

String

captcha-element

頁(yè)面上預(yù)留渲染驗(yàn)證碼的元素,與原代碼中預(yù)留的頁(yè)面元素保持一致。

button

String

無(wú)

觸發(fā)驗(yàn)證碼彈窗的元素。具體取值與客戶(hù)端body中的button參數(shù)值一致。

captchaVerifyCallback

Function

captchaVerifyCallback

業(yè)務(wù)請(qǐng)求(帶驗(yàn)證碼校驗(yàn))回調(diào)函數(shù)。更多信息,請(qǐng)參見(jiàn)captchaVerifyCallback

onBizResultCallback

Function

onBizResultCallback

業(yè)務(wù)請(qǐng)求結(jié)果回調(diào)函數(shù),用于設(shè)置驗(yàn)證結(jié)果處理邏輯。

getInstance

Function

getInstance

綁定驗(yàn)證碼實(shí)例函數(shù),固定寫(xiě)法為:

function getInstance(instance) {
 captcha = instance;
 }

slideStyle

Object

{ width: 360, height: 40 }

滑塊驗(yàn)證碼樣式,支持自定義寬度和高度,單位為px。

重要
  • 由于驗(yàn)證碼需要通過(guò)滑動(dòng)采集足夠多的信息用于策略模型判斷,所以,建議您將滑塊的寬度(width值)最小設(shè)置為320 px。如果width值小于320 px,系統(tǒng)會(huì)按照320 px進(jìn)行配置。

  • 該參數(shù)僅對(duì)滑塊模式有效,并不適用于拼圖驗(yàn)證碼。如果您使用的是拼圖驗(yàn)證碼,由于拼圖驗(yàn)證碼的圖像尺寸和驗(yàn)證答案是預(yù)設(shè)固定的,請(qǐng)不要復(fù)寫(xiě) CSS 強(qiáng)行修改樣式,否則會(huì)導(dǎo)致驗(yàn)證異常。

language

String

cn

驗(yàn)證碼語(yǔ)言類(lèi)型,請(qǐng)參見(jiàn)驗(yàn)證碼2.0支持的語(yǔ)言

immediate

Boolean

false

嵌入式下,完成驗(yàn)證后,是否立即發(fā)送驗(yàn)證請(qǐng)求(調(diào)用captchaVerifyCallback函數(shù))。

region

String

cn

驗(yàn)證碼實(shí)例所屬地域。取值:

  • cn:表示中國(guó)內(nèi)地。

  • sgp:新加坡。

重要
  • 客戶(hù)端接入region參數(shù)和服務(wù)端接入地址endpoint不一致,會(huì)導(dǎo)致驗(yàn)證請(qǐng)求返回錯(cuò)誤

  • 產(chǎn)品在中國(guó)內(nèi)地(華東2(上海))和新加坡分別設(shè)置了管控中心平面,根據(jù)客戶(hù)自行配置的調(diào)用參數(shù),客戶(hù)端采集的行為數(shù)據(jù)、設(shè)備數(shù)據(jù)等將回傳對(duì)應(yīng)中心處理,主要實(shí)現(xiàn)安全驗(yàn)證功能。

timeout

Number

10000

驗(yàn)證碼初始化請(qǐng)求單次請(qǐng)求超時(shí)時(shí)間。

captchaVerifyCallback

  • 請(qǐng)求參數(shù)

    參數(shù)

    類(lèi)型

    是否必填

    默認(rèn)值

    描述

    captchaVerifyParam

    String

    captchaVerifyParam

    驗(yàn)證碼參數(shù)。由驗(yàn)證碼腳本回調(diào)的驗(yàn)證參數(shù),不需要做任何處理,直接傳給服務(wù)端即可

  • 返回參數(shù)

    參數(shù)

    類(lèi)型

    默認(rèn)值

    描述

    captchaResult

    Boolean

    無(wú)

    驗(yàn)證碼驗(yàn)證是否通過(guò)。

    bizResult

    Boolean

    無(wú)

    業(yè)務(wù)驗(yàn)證是否通過(guò)。如果為無(wú)業(yè)務(wù)驗(yàn)證結(jié)果的場(chǎng)景,bizResult取值可以為空。

初始化接口錯(cuò)誤碼

驗(yàn)證碼初始化接口指的是帶有用戶(hù)身份標(biāo)的獲取驗(yàn)證碼資源的請(qǐng)求,請(qǐng)求域名為xxxxx.captcha-open.aliyuncs.com,其中xxxxx為用戶(hù)的身份標(biāo),關(guān)于如何獲取身份標(biāo),請(qǐng)參考開(kāi)通驗(yàn)證碼服務(wù)。初始化請(qǐng)求成功之后的返回應(yīng)如下圖所示:

image.png

如果初始化接口會(huì)返回失敗,下表為各個(gè)失敗返回結(jié)果的說(shuō)明和對(duì)應(yīng)的排查建議:

HTTP狀態(tài)碼

錯(cuò)誤Code

原因說(shuō)明及排查建議

400

IllegalUserTag

身份標(biāo)(prefix)傳參不合法。參考開(kāi)通驗(yàn)證碼服務(wù)確認(rèn)該參數(shù)是否正確傳入。

400

IllegalScene

場(chǎng)景ID(SceneId)傳參不合法。請(qǐng)確認(rèn)傳入的場(chǎng)景ID參數(shù)是否正確,確保該場(chǎng)景ID為身份標(biāo)(prefix)關(guān)聯(lián)的賬號(hào)下創(chuàng)建。

403

Forbidden.AccountAccessDenied

用戶(hù)賬號(hào)欠費(fèi)。請(qǐng)確認(rèn)賬號(hào)狀態(tài)是否正常。

初始化參數(shù)校驗(yàn)報(bào)錯(cuò)說(shuō)明

在驗(yàn)證碼發(fā)起初始化請(qǐng)求之前,SDK會(huì)對(duì)初始化相關(guān)的基礎(chǔ)參數(shù)進(jìn)行校驗(yàn),如果參數(shù)不合法,將會(huì)在瀏覽器開(kāi)發(fā)者工具console內(nèi)彈出相應(yīng)錯(cuò)誤。具體校驗(yàn)內(nèi)容如下表:

字段

報(bào)錯(cuò)內(nèi)容

示例

通用類(lèi)型校驗(yàn)

傳入?yún)?shù)類(lèi)型不合法,請(qǐng)參照文檔傳入對(duì)應(yīng)類(lèi)型的值。

如immediate參數(shù)類(lèi)型為boolean,若傳入字符串'false',則會(huì)報(bào)如下錯(cuò)誤:

image.png

language

language參數(shù)傳入值不合法,請(qǐng)參見(jiàn)驗(yàn)證碼2.0支持的語(yǔ)言

如language參數(shù)傳入'abc',則會(huì)報(bào)如下錯(cuò)誤:

image.png

region

region參數(shù)傳入值不合法,請(qǐng)參見(jiàn)region參數(shù)說(shuō)明檢查此參數(shù)是否符合要求。

如region參數(shù)傳入'zh',則會(huì)報(bào)如下錯(cuò)誤:

image.png

mode

mode參數(shù)傳入值錯(cuò)誤,目前支持彈出式(popup)和嵌入式(embed)。請(qǐng)參見(jiàn)mode參數(shù)說(shuō)明檢查此參數(shù)是否符合要求。

如mode參數(shù)傳入'popout',則會(huì)報(bào)如下錯(cuò)誤:

image.png

客戶(hù)端接入Demo示例下載