3e246431ac6c4d57da0d0d8435b41401.json 25 KB

1
  1. {"remainingRequest":"C:\\Users\\Administrator\\Desktop\\crmeb5.0\\template\\admin\\node_modules\\babel-loader\\lib\\index.js!C:\\Users\\Administrator\\Desktop\\crmeb5.0\\template\\admin\\node_modules\\cache-loader\\dist\\cjs.js??ref--0-0!C:\\Users\\Administrator\\Desktop\\crmeb5.0\\template\\admin\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!C:\\Users\\Administrator\\Desktop\\crmeb5.0\\template\\admin\\src\\components\\verifition\\Verify\\VerifyPoints.vue?vue&type=script&lang=js","dependencies":[{"path":"C:\\Users\\Administrator\\Desktop\\crmeb5.0\\template\\admin\\src\\components\\verifition\\Verify\\VerifyPoints.vue","mtime":1761185180036},{"path":"C:\\Users\\Administrator\\Desktop\\crmeb5.0\\template\\admin\\babel.config.js","mtime":1761185179818},{"path":"C:\\Users\\Administrator\\Desktop\\crmeb5.0\\template\\admin\\.babelrc","mtime":1761185179813},{"path":"C:\\Users\\Administrator\\Desktop\\crmeb5.0\\template\\admin\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"C:\\Users\\Administrator\\Desktop\\crmeb5.0\\template\\admin\\node_modules\\babel-loader\\lib\\index.js","mtime":456789000000},{"path":"C:\\Users\\Administrator\\Desktop\\crmeb5.0\\template\\admin\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"C:\\Users\\Administrator\\Desktop\\crmeb5.0\\template\\admin\\node_modules\\vue-loader\\lib\\index.js","mtime":499162500000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:aW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkuam9pbi5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLmFycmF5Lm1hcC5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLmFycmF5LnB1c2guanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5hcnJheS5zcGxpY2UuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5pdGVyYXRvci5jb25zdHJ1Y3Rvci5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLml0ZXJhdG9yLm1hcC5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLmpzb24uc3RyaW5naWZ5LmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMubnVtYmVyLmNvbnN0cnVjdG9yLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMub2JqZWN0LnRvLXN0cmluZy5qcyI7Ci8qKg0KICogVmVyaWZ5UG9pbnRzDQogKiBAZGVzY3JpcHRpb24g54K56YCJDQogKiAqLwppbXBvcnQgeyByZXNldFNpemUgYXMgX3Jlc2V0U2l6ZSwgX2NvZGVfY2hhcnMsIF9jb2RlX2NvbG9yMSwgX2NvZGVfY29sb3IyIH0gZnJvbSAnLi8uLi91dGlscy91dGlsJzsKaW1wb3J0IHsgYWVzRW5jcnlwdCB9IGZyb20gJy4vLi4vdXRpbHMvYXNlJzsKaW1wb3J0IHsgYWpDYXB0Y2hhLCBhakNhcHRjaGFDaGVjayB9IGZyb20gJy4uLy4uLy4uL2FwaS9jb21tb24nOwpleHBvcnQgZGVmYXVsdCB7CiAgbmFtZTogJ1ZlcmlmeVBvaW50cycsCiAgcHJvcHM6IHsKICAgIC8vIOW8ueWHuuW8j3BvcO+8jOWbuuWummZpeGVkCiAgICBtb2RlOiB7CiAgICAgIHR5cGU6IFN0cmluZywKICAgICAgZGVmYXVsdDogJ2ZpeGVkJwogICAgfSwKICAgIGNhcHRjaGFUeXBlOiB7CiAgICAgIHR5cGU6IFN0cmluZwogICAgfSwKICAgIC8vIOmXtOmalAogICAgdlNwYWNlOiB7CiAgICAgIHR5cGU6IE51bWJlciwKICAgICAgZGVmYXVsdDogNQogICAgfSwKICAgIGltZ1NpemU6IHsKICAgICAgdHlwZTogT2JqZWN0LAogICAgICBkZWZhdWx0OiBmdW5jdGlvbiBfZGVmYXVsdCgpIHsKICAgICAgICByZXR1cm4gewogICAgICAgICAgd2lkdGg6ICczMTBweCcsCiAgICAgICAgICBoZWlnaHQ6ICcxNTVweCcKICAgICAgICB9OwogICAgICB9CiAgICB9LAogICAgYmFyU2l6ZTogewogICAgICB0eXBlOiBPYmplY3QsCiAgICAgIGRlZmF1bHQ6IGZ1bmN0aW9uIF9kZWZhdWx0KCkgewogICAgICAgIHJldHVybiB7CiAgICAgICAgICB3aWR0aDogJzMxMHB4JywKICAgICAgICAgIGhlaWdodDogJzQwcHgnCiAgICAgICAgfTsKICAgICAgfQogICAgfSwKICAgIGRlZmF1bHRJbWc6IHsKICAgICAgdHlwZTogU3RyaW5nLAogICAgICBkZWZhdWx0OiAnJwogICAgfQogIH0sCiAgZGF0YTogZnVuY3Rpb24gZGF0YSgpIHsKICAgIHJldHVybiB7CiAgICAgIHNlY3JldEtleTogJycsCiAgICAgIC8vIOWQjuerr+i/lOWbnueahGFzZeWKoOWvhuenmOmSpQogICAgICBjaGVja051bTogMywKICAgICAgLy8g6buY6K6k6ZyA6KaB54K55Ye755qE5a2X5pWwCiAgICAgIGZvbnRQb3M6IFtdLAogICAgICAvLyDpgInkuK3nmoTlnZDmoIfkv6Hmga8KICAgICAgY2hlY2tQb3NBcnI6IFtdLAogICAgICAvLyDnlKjmiLfngrnlh7vnmoTlnZDmoIcKICAgICAgbnVtOiAxLAogICAgICAvLyDngrnlh7vnmoTorrDmlbAKICAgICAgcG9pbnRCYWNrSW1nQmFzZTogJycsCiAgICAgIC8vIOWQjuerr+iOt+WPluWIsOeahOiDjOaZr+WbvueJhwogICAgICBwb2luVGV4dExpc3Q6IFtdLAogICAgICAvLyDlkI7nq6/ov5Tlm57nmoTngrnlh7vlrZfkvZPpobrluo8KICAgICAgYmFja1Rva2VuOiAnJywKICAgICAgLy8g5ZCO56uv6L+U5Zue55qEdG9rZW7lgLwKICAgICAgc2V0U2l6ZTogewogICAgICAgIGltZ0hlaWdodDogMCwKICAgICAgICBpbWdXaWR0aDogMCwKICAgICAgICBiYXJIZWlnaHQ6IDAsCiAgICAgICAgYmFyV2lkdGg6IDAKICAgICAgfSwKICAgICAgdGVtcFBvaW50czogW10sCiAgICAgIHRleHQ6ICcnLAogICAgICBiYXJBcmVhQ29sb3I6IHVuZGVmaW5lZCwKICAgICAgYmFyQXJlYUJvcmRlckNvbG9yOiB1bmRlZmluZWQsCiAgICAgIHNob3dSZWZyZXNoOiB0cnVlLAogICAgICBiaW5kaW5nQ2xpY2s6IHRydWUKICAgIH07CiAgfSwKICBjb21wdXRlZDogewogICAgcmVzZXRTaXplOiBmdW5jdGlvbiByZXNldFNpemUoKSB7CiAgICAgIHJldHVybiBfcmVzZXRTaXplOwogICAgfQogIH0sCiAgd2F0Y2g6IHsKICAgIC8vIHR5cGXlj5jljJbliJnlhajpnaLliLfmlrAKICAgIHR5cGU6IHsKICAgICAgaW1tZWRpYXRlOiB0cnVlLAogICAgICBoYW5kbGVyOiBmdW5jdGlvbiBoYW5kbGVyKCkgewogICAgICAgIHRoaXMuaW5pdCgpOwogICAgICB9CiAgICB9CiAgfSwKICBtb3VudGVkOiBmdW5jdGlvbiBtb3VudGVkKCkgewogICAgLy8g56aB5q2i5ouW5ou9CiAgICB0aGlzLiRlbC5vbnNlbGVjdHN0YXJ0ID0gZnVuY3Rpb24gKCkgewogICAgICByZXR1cm4gZmFsc2U7CiAgICB9OwogIH0sCiAgbWV0aG9kczogewogICAgaW5pdDogZnVuY3Rpb24gaW5pdCgpIHsKICAgICAgdmFyIF90aGlzID0gdGhpczsKICAgICAgLy8g5Yqg6L296aG16Z2iCiAgICAgIHRoaXMuZm9udFBvcy5zcGxpY2UoMCwgdGhpcy5mb250UG9zLmxlbmd0aCk7CiAgICAgIHRoaXMuY2hlY2tQb3NBcnIuc3BsaWNlKDAsIHRoaXMuY2hlY2tQb3NBcnIubGVuZ3RoKTsKICAgICAgdGhpcy5udW0gPSAxOwogICAgICB0aGlzLmdldFBpY3RydWUoKTsKICAgICAgdGhpcy4kbmV4dFRpY2soZnVuY3Rpb24gKCkgewogICAgICAgIF90aGlzLnNldFNpemUgPSBfdGhpcy5yZXNldFNpemUoX3RoaXMpOyAvLyDph43mlrDorr7nva7lrr3luqbpq5jluqYKICAgICAgICBfdGhpcy4kcGFyZW50LiRlbWl0KCdyZWFkeScsIF90aGlzKTsKICAgICAgfSk7CiAgICB9LAogICAgY2FudmFzQ2xpY2s6IGZ1bmN0aW9uIGNhbnZhc0NsaWNrKGUpIHsKICAgICAgdmFyIF90aGlzMiA9IHRoaXM7CiAgICAgIHRoaXMuY2hlY2tQb3NBcnIucHVzaCh0aGlzLmdldE1vdXNlUG9zKHRoaXMuJHJlZnMuY2FudmFzLCBlKSk7CiAgICAgIGlmICh0aGlzLm51bSA9PSB0aGlzLmNoZWNrTnVtKSB7CiAgICAgICAgdGhpcy5udW0gPSB0aGlzLmNyZWF0ZVBvaW50KHRoaXMuZ2V0TW91c2VQb3ModGhpcy4kcmVmcy5jYW52YXMsIGUpKTsKICAgICAgICAvLyDmjInmr5TkvovovazmjaLlnZDmoIflgLwKICAgICAgICB0aGlzLmNoZWNrUG9zQXJyID0gdGhpcy5wb2ludFRyYW5zZnJvbSh0aGlzLmNoZWNrUG9zQXJyLCB0aGlzLnNldFNpemUpOwogICAgICAgIC8vIOetieWIm+W7uuWdkOagh+aJp+ihjOWujAogICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24gKCkgewogICAgICAgICAgLy8gdmFyIGZsYWcgPSB0aGlzLmNvbXBhcmVQb3ModGhpcy5mb250UG9zLCB0aGlzLmNoZWNrUG9zQXJyKTsKICAgICAgICAgIC8vIOWPkemAgeWQjuerr+ivt+axggogICAgICAgICAgdmFyIGNhcHRjaGFWZXJpZmljYXRpb24gPSBfdGhpczIuc2VjcmV0S2V5ID8gYWVzRW5jcnlwdChfdGhpczIuYmFja1Rva2VuICsgJy0tLScgKyBKU09OLnN0cmluZ2lmeShfdGhpczIuY2hlY2tQb3NBcnIpLCBfdGhpczIuc2VjcmV0S2V5KSA6IF90aGlzMi5iYWNrVG9rZW4gKyAnLS0tJyArIEpTT04uc3RyaW5naWZ5KF90aGlzMi5jaGVja1Bvc0Fycik7CiAgICAgICAgICB2YXIgZGF0YSA9IHsKICAgICAgICAgICAgY2FwdGNoYVR5cGU6IF90aGlzMi5jYXB0Y2hhVHlwZSwKICAgICAgICAgICAgcG9pbnRKc29uOiBfdGhpczIuc2VjcmV0S2V5ID8gYWVzRW5jcnlwdChKU09OLnN0cmluZ2lmeShfdGhpczIuY2hlY2tQb3NBcnIpLCBfdGhpczIuc2VjcmV0S2V5KSA6IEpTT04uc3RyaW5naWZ5KF90aGlzMi5jaGVja1Bvc0FyciksCiAgICAgICAgICAgIHRva2VuOiBfdGhpczIuYmFja1Rva2VuCiAgICAgICAgICB9OwogICAgICAgICAgYWpDYXB0Y2hhQ2hlY2soZGF0YSkudGhlbihmdW5jdGlvbiAocmVzKSB7CiAgICAgICAgICAgIGlmIChyZXMucmVwQ29kZSA9PSAnMDAwMCcpIHsKICAgICAgICAgICAgICBfdGhpczIuYmFyQXJlYUNvbG9yID0gJyM0Y2FlNGMnOwogICAgICAgICAgICAgIF90aGlzMi5iYXJBcmVhQm9yZGVyQ29sb3IgPSAnIzVjYjg1Yyc7CiAgICAgICAgICAgICAgX3RoaXMyLnRleHQgPSAn6aqM6K+B5oiQ5YqfJzsKICAgICAgICAgICAgICBfdGhpczIuYmluZGluZ0NsaWNrID0gZmFsc2U7CiAgICAgICAgICAgICAgaWYgKF90aGlzMi5tb2RlID09ICdwb3AnKSB7CiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgX3RoaXMyLiRwYXJlbnQuY2xpY2tTaG93ID0gZmFsc2U7CiAgICAgICAgICAgICAgICAgIF90aGlzMi5yZWZyZXNoKCk7CiAgICAgICAgICAgICAgICB9LCAxNTAwKTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgX3RoaXMyLiRwYXJlbnQuJGVtaXQoJ3N1Y2Nlc3MnLCB7CiAgICAgICAgICAgICAgICBjYXB0Y2hhVmVyaWZpY2F0aW9uOiBjYXB0Y2hhVmVyaWZpY2F0aW9uCiAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgX3RoaXMyLiRwYXJlbnQuJGVtaXQoJ2Vycm9yJywgX3RoaXMyKTsKICAgICAgICAgICAgICBfdGhpczIuYmFyQXJlYUNvbG9yID0gJyNkOTUzNGYnOwogICAgICAgICAgICAgIF90aGlzMi5iYXJBcmVhQm9yZGVyQ29sb3IgPSAnI2Q5NTM0Zic7CiAgICAgICAgICAgICAgX3RoaXMyLnRleHQgPSAn6aqM6K+B5aSx6LSlJzsKICAgICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgIF90aGlzMi5yZWZyZXNoKCk7CiAgICAgICAgICAgICAgfSwgNzAwKTsKICAgICAgICAgICAgfQogICAgICAgICAgfSk7CiAgICAgICAgfSwgNDAwKTsKICAgICAgfQogICAgICBpZiAodGhpcy5udW0gPCB0aGlzLmNoZWNrTnVtKSB7CiAgICAgICAgdGhpcy5udW0gPSB0aGlzLmNyZWF0ZVBvaW50KHRoaXMuZ2V0TW91c2VQb3ModGhpcy4kcmVmcy5jYW52YXMsIGUpKTsKICAgICAgfQogICAgfSwKICAgIC8vIOiOt+WPluWdkOaghwogICAgZ2V0TW91c2VQb3M6IGZ1bmN0aW9uIGdldE1vdXNlUG9zKG9iaiwgZSkgewogICAgICB2YXIgeCA9IGUub2Zmc2V0WDsKICAgICAgdmFyIHkgPSBlLm9mZnNldFk7CiAgICAgIHJldHVybiB7CiAgICAgICAgeDogeCwKICAgICAgICB5OiB5CiAgICAgIH07CiAgICB9LAogICAgLy8g5Yib5bu65Z2Q5qCH54K5CiAgICBjcmVhdGVQb2ludDogZnVuY3Rpb24gY3JlYXRlUG9pbnQocG9zKSB7CiAgICAgIHRoaXMudGVtcFBvaW50cy5wdXNoKE9iamVjdC5hc3NpZ24oe30sIHBvcykpOwogICAgICByZXR1cm4gKyt0aGlzLm51bTsKICAgIH0sCiAgICByZWZyZXNoOiBmdW5jdGlvbiByZWZyZXNoKCkgewogICAgICB0aGlzLnRlbXBQb2ludHMuc3BsaWNlKDAsIHRoaXMudGVtcFBvaW50cy5sZW5ndGgpOwogICAgICB0aGlzLmJhckFyZWFDb2xvciA9ICcjMDAwJzsKICAgICAgdGhpcy5iYXJBcmVhQm9yZGVyQ29sb3IgPSAnI2RkZCc7CiAgICAgIHRoaXMuYmluZGluZ0NsaWNrID0gdHJ1ZTsKICAgICAgdGhpcy5mb250UG9zLnNwbGljZSgwLCB0aGlzLmZvbnRQb3MubGVuZ3RoKTsKICAgICAgdGhpcy5jaGVja1Bvc0Fyci5zcGxpY2UoMCwgdGhpcy5jaGVja1Bvc0Fyci5sZW5ndGgpOwogICAgICB0aGlzLm51bSA9IDE7CiAgICAgIHRoaXMuZ2V0UGljdHJ1ZSgpOwogICAgICB0aGlzLnRleHQgPSAn6aqM6K+B5aSx6LSlJzsKICAgICAgdGhpcy5zaG93UmVmcmVzaCA9IHRydWU7CiAgICB9LAogICAgLy8g6K+35rGC6IOM5pmv5Zu+54mH5ZKM6aqM6K+B5Zu+54mHCiAgICBnZXRQaWN0cnVlOiBmdW5jdGlvbiBnZXRQaWN0cnVlKCkgewogICAgICB2YXIgX3RoaXMzID0gdGhpczsKICAgICAgdmFyIGRhdGEgPSB7CiAgICAgICAgY2FwdGNoYVR5cGU6IHRoaXMuY2FwdGNoYVR5cGUsCiAgICAgICAgY2xpZW50VWlkOiBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgncG9pbnQnKSwKICAgICAgICB0czogRGF0ZS5ub3coKSAvLyDnjrDlnKjnmoTml7bpl7TmiLMKICAgICAgfTsKICAgICAgYWpDYXB0Y2hhKGRhdGEpLnRoZW4oZnVuY3Rpb24gKHJlcykgewogICAgICAgIGlmIChyZXMucmVwQ29kZSA9PSAnMDAwMCcpIHsKICAgICAgICAgIF90aGlzMy5wb2ludEJhY2tJbWdCYXNlID0gcmVzLnJlcERhdGEub3JpZ2luYWxJbWFnZUJhc2U2NDsKICAgICAgICAgIF90aGlzMy5iYWNrVG9rZW4gPSByZXMucmVwRGF0YS50b2tlbjsKICAgICAgICAgIF90aGlzMy5zZWNyZXRLZXkgPSByZXMucmVwRGF0YS5zZWNyZXRLZXk7CiAgICAgICAgICBfdGhpczMucG9pblRleHRMaXN0ID0gcmVzLnJlcERhdGEud29yZExpc3Q7CiAgICAgICAgICBfdGhpczMudGV4dCA9ICfor7fkvp3mrKHngrnlh7vjgJAnICsgX3RoaXMzLnBvaW5UZXh0TGlzdC5qb2luKCcsJykgKyAn44CRJzsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgX3RoaXMzLnRleHQgPSByZXMucmVwTXNnOwogICAgICAgIH0KCiAgICAgICAgLy8g5Yik5pat5o6l5Y+j6K+35rGC5qyh5pWw5piv5ZCm5aSx5pWICiAgICAgICAgaWYgKHJlcy5yZXBDb2RlID09ICc2MjAxJykgewogICAgICAgICAgX3RoaXMzLnBvaW50QmFja0ltZ0Jhc2UgPSBudWxsOwogICAgICAgIH0KICAgICAgfSk7CiAgICB9LAogICAgLy8g5Z2Q5qCH6L2s5o2i5Ye95pWwCiAgICBwb2ludFRyYW5zZnJvbTogZnVuY3Rpb24gcG9pbnRUcmFuc2Zyb20ocG9pbnRBcnIsIGltZ1NpemUpIHsKICAgICAgdmFyIG5ld1BvaW50QXJyID0gcG9pbnRBcnIubWFwKGZ1bmN0aW9uIChwKSB7CiAgICAgICAgdmFyIHggPSBNYXRoLnJvdW5kKDMxMCAqIHAueCAvIHBhcnNlSW50KGltZ1NpemUuaW1nV2lkdGgpKTsKICAgICAgICB2YXIgeSA9IE1hdGgucm91bmQoMTU1ICogcC55IC8gcGFyc2VJbnQoaW1nU2l6ZS5pbWdIZWlnaHQpKTsKICAgICAgICByZXR1cm4gewogICAgICAgICAgeDogeCwKICAgICAgICAgIHk6IHkKICAgICAgICB9OwogICAgICB9KTsKICAgICAgcmV0dXJuIG5ld1BvaW50QXJyOwogICAgfQogIH0KfTs="},{"version":3,"names":["resetSize","_code_chars","_code_color1","_code_color2","aesEncrypt","ajCaptcha","ajCaptchaCheck","name","props","mode","type","String","default","captchaType","vSpace","Number","imgSize","Object","width","height","barSize","defaultImg","data","secretKey","checkNum","fontPos","checkPosArr","num","pointBackImgBase","poinTextList","backToken","setSize","imgHeight","imgWidth","barHeight","barWidth","tempPoints","text","barAreaColor","undefined","barAreaBorderColor","showRefresh","bindingClick","computed","watch","immediate","handler","init","mounted","$el","onselectstart","methods","_this","splice","length","getPictrue","$nextTick","$parent","$emit","canvasClick","e","_this2","push","getMousePos","$refs","canvas","createPoint","pointTransfrom","setTimeout","captchaVerification","JSON","stringify","pointJson","token","then","res","repCode","clickShow","refresh","obj","x","offsetX","y","offsetY","pos","assign","_this3","clientUid","localStorage","getItem","ts","Date","now","repData","originalImageBase64","wordList","join","repMsg","pointArr","newPointArr","map","p","Math","round","parseInt"],"sources":["src/components/verifition/Verify/VerifyPoints.vue"],"sourcesContent":["<template>\r\n <div style=\"position: relative\">\r\n <div class=\"verify-img-out\">\r\n <div\r\n class=\"verify-img-panel\"\r\n :style=\"{\r\n width: setSize.imgWidth,\r\n height: setSize.imgHeight,\r\n 'background-size': setSize.imgWidth + ' ' + setSize.imgHeight,\r\n 'margin-bottom': vSpace + 'px',\r\n }\"\r\n >\r\n <div v-show=\"showRefresh\" class=\"verify-refresh\" style=\"z-index: 3\" v-db-click @click=\"refresh\">\r\n <i class=\"iconfont icon-refresh\" />\r\n </div>\r\n <img\r\n ref=\"canvas\"\r\n :src=\"pointBackImgBase ? 'data:image/png;base64,' + pointBackImgBase : defaultImg\"\r\n alt=\"\"\r\n style=\"width: 100%; height: 100%; display: block\"\r\n v-db-click\r\n @click=\"bindingClick ? canvasClick($event) : undefined\"\r\n />\r\n\r\n <div\r\n v-for=\"(tempPoint, index) in tempPoints\"\r\n :key=\"index\"\r\n class=\"point-area\"\r\n :style=\"{\r\n 'background-color': '#1abd6c',\r\n color: '#fff',\r\n 'z-index': 9999,\r\n width: '20px',\r\n height: '20px',\r\n 'text-align': 'center',\r\n 'line-height': '20px',\r\n 'border-radius': '50%',\r\n position: 'absolute',\r\n top: parseInt(tempPoint.y - 10) + 'px',\r\n left: parseInt(tempPoint.x - 10) + 'px',\r\n }\"\r\n >\r\n {{ index + 1 }}\r\n </div>\r\n </div>\r\n </div>\r\n <!-- 'height': this.barSize.height, -->\r\n <div\r\n class=\"verify-bar-area\"\r\n :style=\"{\r\n width: setSize.imgWidth,\r\n color: this.barAreaColor,\r\n 'border-color': this.barAreaBorderColor,\r\n 'line-height': this.barSize.height,\r\n }\"\r\n >\r\n <span class=\"verify-msg\">{{ text }}</span>\r\n </div>\r\n </div>\r\n</template>\r\n<script type=\"text/babel\">\r\n/**\r\n * VerifyPoints\r\n * @description 点选\r\n * */\r\nimport { resetSize, _code_chars, _code_color1, _code_color2 } from './../utils/util';\r\nimport { aesEncrypt } from './../utils/ase';\r\nimport { ajCaptcha, ajCaptchaCheck } from '../../../api/common';\r\n\r\nexport default {\r\n name: 'VerifyPoints',\r\n props: {\r\n // 弹出式pop,固定fixed\r\n mode: {\r\n type: String,\r\n default: 'fixed',\r\n },\r\n captchaType: {\r\n type: String,\r\n },\r\n // 间隔\r\n vSpace: {\r\n type: Number,\r\n default: 5,\r\n },\r\n imgSize: {\r\n type: Object,\r\n default() {\r\n return {\r\n width: '310px',\r\n height: '155px',\r\n };\r\n },\r\n },\r\n barSize: {\r\n type: Object,\r\n default() {\r\n return {\r\n width: '310px',\r\n height: '40px',\r\n };\r\n },\r\n },\r\n defaultImg: {\r\n type: String,\r\n default: '',\r\n },\r\n },\r\n data() {\r\n return {\r\n secretKey: '', // 后端返回的ase加密秘钥\r\n checkNum: 3, // 默认需要点击的字数\r\n fontPos: [], // 选中的坐标信息\r\n checkPosArr: [], // 用户点击的坐标\r\n num: 1, // 点击的记数\r\n pointBackImgBase: '', // 后端获取到的背景图片\r\n poinTextList: [], // 后端返回的点击字体顺序\r\n backToken: '', // 后端返回的token值\r\n setSize: {\r\n imgHeight: 0,\r\n imgWidth: 0,\r\n barHeight: 0,\r\n barWidth: 0,\r\n },\r\n tempPoints: [],\r\n text: '',\r\n barAreaColor: undefined,\r\n barAreaBorderColor: undefined,\r\n showRefresh: true,\r\n bindingClick: true,\r\n };\r\n },\r\n computed: {\r\n resetSize() {\r\n return resetSize;\r\n },\r\n },\r\n watch: {\r\n // type变化则全面刷新\r\n type: {\r\n immediate: true,\r\n handler() {\r\n this.init();\r\n },\r\n },\r\n },\r\n mounted() {\r\n // 禁止拖拽\r\n this.$el.onselectstart = function () {\r\n return false;\r\n };\r\n },\r\n methods: {\r\n init() {\r\n // 加载页面\r\n this.fontPos.splice(0, this.fontPos.length);\r\n this.checkPosArr.splice(0, this.checkPosArr.length);\r\n this.num = 1;\r\n this.getPictrue();\r\n this.$nextTick(() => {\r\n this.setSize = this.resetSize(this); // 重新设置宽度高度\r\n this.$parent.$emit('ready', this);\r\n });\r\n },\r\n canvasClick(e) {\r\n this.checkPosArr.push(this.getMousePos(this.$refs.canvas, e));\r\n if (this.num == this.checkNum) {\r\n this.num = this.createPoint(this.getMousePos(this.$refs.canvas, e));\r\n // 按比例转换坐标值\r\n this.checkPosArr = this.pointTransfrom(this.checkPosArr, this.setSize);\r\n // 等创建坐标执行完\r\n setTimeout(() => {\r\n // var flag = this.comparePos(this.fontPos, this.checkPosArr);\r\n // 发送后端请求\r\n var captchaVerification = this.secretKey\r\n ? aesEncrypt(this.backToken + '---' + JSON.stringify(this.checkPosArr), this.secretKey)\r\n : this.backToken + '---' + JSON.stringify(this.checkPosArr);\r\n const data = {\r\n captchaType: this.captchaType,\r\n pointJson: this.secretKey\r\n ? aesEncrypt(JSON.stringify(this.checkPosArr), this.secretKey)\r\n : JSON.stringify(this.checkPosArr),\r\n token: this.backToken,\r\n };\r\n ajCaptchaCheck(data).then((res) => {\r\n if (res.repCode == '0000') {\r\n this.barAreaColor = '#4cae4c';\r\n this.barAreaBorderColor = '#5cb85c';\r\n this.text = '验证成功';\r\n this.bindingClick = false;\r\n if (this.mode == 'pop') {\r\n setTimeout(() => {\r\n this.$parent.clickShow = false;\r\n this.refresh();\r\n }, 1500);\r\n }\r\n this.$parent.$emit('success', { captchaVerification });\r\n } else {\r\n this.$parent.$emit('error', this);\r\n this.barAreaColor = '#d9534f';\r\n this.barAreaBorderColor = '#d9534f';\r\n this.text = '验证失败';\r\n setTimeout(() => {\r\n this.refresh();\r\n }, 700);\r\n }\r\n });\r\n }, 400);\r\n }\r\n if (this.num < this.checkNum) {\r\n this.num = this.createPoint(this.getMousePos(this.$refs.canvas, e));\r\n }\r\n },\r\n\r\n // 获取坐标\r\n getMousePos: function (obj, e) {\r\n var x = e.offsetX;\r\n var y = e.offsetY;\r\n return { x, y };\r\n },\r\n // 创建坐标点\r\n createPoint: function (pos) {\r\n this.tempPoints.push(Object.assign({}, pos));\r\n return ++this.num;\r\n },\r\n refresh: function () {\r\n this.tempPoints.splice(0, this.tempPoints.length);\r\n this.barAreaColor = '#000';\r\n this.barAreaBorderColor = '#ddd';\r\n this.bindingClick = true;\r\n this.fontPos.splice(0, this.fontPos.length);\r\n this.checkPosArr.splice(0, this.checkPosArr.length);\r\n this.num = 1;\r\n this.getPictrue();\r\n this.text = '验证失败';\r\n this.showRefresh = true;\r\n },\r\n\r\n // 请求背景图片和验证图片\r\n getPictrue() {\r\n const data = {\r\n captchaType: this.captchaType,\r\n clientUid: localStorage.getItem('point'),\r\n ts: Date.now(), // 现在的时间戳\r\n };\r\n ajCaptcha(data).then((res) => {\r\n if (res.repCode == '0000') {\r\n this.pointBackImgBase = res.repData.originalImageBase64;\r\n this.backToken = res.repData.token;\r\n this.secretKey = res.repData.secretKey;\r\n this.poinTextList = res.repData.wordList;\r\n this.text = '请依次点击【' + this.poinTextList.join(',') + '】';\r\n } else {\r\n this.text = res.repMsg;\r\n }\r\n\r\n // 判断接口请求次数是否失效\r\n if (res.repCode == '6201') {\r\n this.pointBackImgBase = null;\r\n }\r\n });\r\n },\r\n // 坐标转换函数\r\n pointTransfrom(pointArr, imgSize) {\r\n var newPointArr = pointArr.map((p) => {\r\n const x = Math.round((310 * p.x) / parseInt(imgSize.imgWidth));\r\n const y = Math.round((155 * p.y) / parseInt(imgSize.imgHeight));\r\n return { x, y };\r\n });\r\n return newPointArr;\r\n },\r\n },\r\n};\r\n</script>\r\n"],"mappings":"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","ignoreList":[]}]}