github.com/godaddy-x/freego@v1.0.156/geetest/static/index.html (about)

     1  <!DOCTYPE html>
     2  <html>
     3  <head>
     4      <meta charset="UTF-8">
     5      <meta name="viewport" content="width=device-width, initial-scale=1">
     6      <title>geetest sdk demo</title>
     7      <style>
     8          body {
     9              margin: 50px 0;
    10              text-align: center;
    11              font-family: "PingFangSC-Regular", "Open Sans", Arial, "Hiragino Sans GB", "Microsoft YaHei", "STHeiti", "WenQuanYi Micro Hei", SimSun, sans-serif;
    12          }
    13  
    14          .inp {
    15              border: 1px solid #cccccc;
    16              border-radius: 2px;
    17              padding: 0 10px;
    18              width: 278px;
    19              height: 40px;
    20              font-size: 18px;
    21          }
    22  
    23          .btn {
    24              border: 1px solid #cccccc;
    25              border-radius: 2px;
    26              width: 100px;
    27              height: 40px;
    28              font-size: 16px;
    29              color: #666;
    30              cursor: pointer;
    31              background: white linear-gradient(180deg, #ffffff 0%, #f3f3f3 100%);
    32          }
    33  
    34          .btn:hover {
    35              background: white linear-gradient(0deg, #ffffff 0%, #f3f3f3 100%)
    36          }
    37  
    38          #captcha {
    39              width: 300px;
    40              display: inline-block;
    41          }
    42  
    43          .show {
    44              display: block;
    45          }
    46  
    47          .hide {
    48              display: none;
    49          }
    50  
    51          #notice {
    52              color: red;
    53          }
    54  
    55          label {
    56              vertical-align: top;
    57              display: inline-block;
    58              width: 80px;
    59              text-align: right;
    60          }
    61  
    62          #wait {
    63              text-align: left;
    64              color: #666;
    65              margin: 0;
    66          }
    67      </style>
    68  </head>
    69  <body>
    70  <h1>极验验证SDK DEMO</h1>
    71  <form action="/geetest/validate" method="post">
    72      <br>
    73      <div>
    74          <label for="username">用户名:</label>
    75          <input class="inp" id="username" type="text" value="极验验证">
    76      </div>
    77      <br>
    78      <div>
    79          <label for="password">密码:</label>
    80          <input class="inp" id="password" type="password" value="123456">
    81      </div>
    82      <br>
    83      <div>
    84          <label>完成验证:</label>
    85          <div id="captcha">
    86              <p id="wait" class="show">正在加载验证码......</p>
    87          </div>
    88      </div>
    89      <br>
    90      <p id="notice" class="hide">请先完成验证</p>
    91      <input class="btn" id="submit" type="submit" value="提交">
    92  </form>
    93  
    94  <!-- 注意,验证码本身是不需要 jquery 库,此处使用 jquery 仅为了在 demo 使用,减少代码量 -->
    95  <script src="http://apps.bdimg.com/libs/jquery/1.9.1/jquery.js"></script>
    96  
    97  <!-- 引入 极验官方gt.js,使用其中提供的 initGeetest 初始化函数 -->
    98  <script src="gt.js"></script>
    99  
   100  <script>
   101      var handler = function (captchaObj) {
   102          $("#submit").click(function (e) {
   103              var result = captchaObj.getValidate();
   104              if (!result) {
   105                  $("#notice").show();
   106                  setTimeout(function () {
   107                      $("#notice").hide();
   108                  }, 2000);
   109                  e.preventDefault();
   110              }
   111          });
   112          // 将验证码加到id为captcha的元素里,同时会有三个input的值用于表单提交
   113          captchaObj.appendTo("#captcha");
   114          captchaObj.onReady(function () {
   115              $("#wait").hide();
   116          });
   117      };
   118      $.ajax({
   119          url: "/geetest/register?t=" + (new Date()).getTime(), // 加随机数防止缓存
   120          type: "get",
   121          dataType: "json",
   122          success: function (data) {
   123              console.log("-----------", data)
   124              console.log(data.gt)
   125              // 调用 initGeetest 初始化参数
   126              // 参数1:配置参数
   127              // 参数2:回调,回调的第一个参数验证码对象,之后可以使用它调用相应的接口
   128              initGeetest({
   129                  gt: data.gt,
   130                  challenge: data.challenge,
   131                  new_captcha: data.new_captcha, // 用于宕机时表示是新验证码的宕机
   132                  offline: !data.success, // 表示用户后台检测极验服务器是否宕机,一般不需要关注
   133                  product: "float", // 产品形式,包括:float,popup
   134                  width: "100%"
   135              }, handler);
   136          }
   137      });
   138  </script>
   139  </body>
   140  </html>