app.html 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. <html>
  2. <head>
  3. <title>验证码</title>
  4. <meta charset="UTF-8"/>
  5. <meta name="format-detection" content="telephone=no, email=no"/>
  6. <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
  7. <link href="/antiRes/css/app.css?v=1429" rel="stylesheet">
  8. <script> let isSpiderPage = true</script>
  9. <script src="/antiRes/js/jquery.js"></script>
  10. <script src="/antiRes/js/rem.js"></script>
  11. </head>
  12. <body>
  13. <div class="error-body">
  14. <div class="app-layout-header">
  15. <span class="app-back jyapp-icon jyapp-icon-zuojiantou"></span>
  16. 验证码
  17. </div>
  18. <div class="app-layout-content-b">
  19. <div class="verify-body">
  20. <div class="verify-img">
  21. <img class="verify_logo" src="/antiRes/images/verify_logo.png">
  22. </div>
  23. <div class="verify-content">
  24. <div style="margin-bottom:8pt"><p class="word">请在下图依次点击:<span id="words">{{.textVerify}}</span></p></div>
  25. <div style="position:relative;width: 100%" class="verify_img">
  26. <img id="antiimg" src="data:image/png;base64,{{.imgData}}" onclick="antiAdd(event,this);"/>
  27. <input type="hidden" value="" id="antivalue"/>
  28. </div>
  29. <div class="footBtn">
  30. <img onclick="flash()" src="/antiRes/images/flush.png" style="width: 25pt;height: 25pt" alt="">
  31. <div>
  32. <button class="comfirmbtn btn btn-success" onclick="checkdot();">确定</button>
  33. </div>
  34. </div>
  35. </div>
  36. </div>
  37. </div>
  38. </div>
  39. </body>
  40. <script>
  41. //验证码方法
  42. function antiAdd(event, obj) {
  43. if (obj.parentNode.querySelectorAll(".imgs").length < 3) {
  44. var offsetX = event.pageX - (obj.getBoundingClientRect().left + document.body.scrollLeft);
  45. var offsetY = event.pageY - (obj.getBoundingClientRect().top + document.body.scrollTop);
  46. var offx = parseInt(offsetX);
  47. var offy = parseInt(offsetY);
  48. var icon = "<img onclick='antiRemove(this)' class='imgs' src='/antiRes/images/hoverclick.png' "
  49. + "style='position:absolute;top:" + (offsetY - 8) + "px;left:" + (offsetX - 8) + "px;' offx=" + offx + " offy=" + offy + " />";
  50. obj.parentNode.innerHTML += icon
  51. document.querySelector("#antivalue").value += (";" + offx + "," + offy)
  52. }
  53. }
  54. //删除验证
  55. function antiRemove(obj) {
  56. var offx = obj.getAttribute("offx");
  57. var offy = obj.getAttribute("offy");
  58. document.querySelector("#antivalue").value = document.querySelector("#antivalue").value.replace((";" + offx + "," + offy), "");
  59. obj.parentNode.removeChild(obj);
  60. }
  61. //刷新验证码
  62. function flash() {
  63. window.location.reload()
  64. }
  65. //验证码提交
  66. function checkdot() {
  67. var param={};
  68. param["antiVerifyCheck"]=document.querySelector("#antivalue").value.substr(1);
  69. param["imgw"]= document.querySelector("#antiimg").width;
  70. $.ajax({
  71. type: "POST",
  72. url: window.location.href,
  73. dataType: "json",
  74. data: param,
  75. headers : {
  76. 'app': '{{.appName}}',
  77. },
  78. success: function(res){
  79. window.location.reload()
  80. }
  81. });
  82. }
  83. </script>
  84. </html>