var commonUtils = { /** * 寮瑰嚭娑堟伅妗 * @param msg 娑堟伅鍐呭 * @param type 娑堟伅妗嗙被鍨嬶紙鍙傝€僢ootstrap鐨刟lert锛 */ alert: function (msg, type) { if (typeof type == "undefined") { // 鏈紶鍏ype鍒欓粯璁や负success绫诲瀷鐨勬秷鎭 type = "success"; } // 鍒涘缓bootstrap鐨刟lert鍏冪礌 var divElement = $("") .addClass("alert") .addClass("alert-" + type) .addClass("alert-dismissible") .addClass("col-lg-3") .addClass("col-8") .addClass("col-offset-4"); divElement.css({ // 娑堟伅妗嗙殑瀹氫綅鏍峰紡 position: "fixed", right: "20px", top: "30px", }); divElement.text(msg); // 璁剧疆娑堟伅妗嗙殑鍐呭 // 娑堟伅妗嗘坊鍔犲彲浠ュ叧闂寜閽 var closeBtn = $(''); $(divElement).append(closeBtn); // 娑堟伅妗嗘斁鍏ュ埌椤甸潰涓 $("body").append(divElement); return divElement; }, /** * 鐭殏鏄剧ず鍚庢偓娴秷澶辩殑娑堟伅妗 * @param msg 娑堟伅鍐呭 * @param type 娑堟伅妗嗙被鍨 */ message: function (msg, type) { var divElement = this.alert(msg, type); // 鐢熸垚Alert娑堟伅妗 var isIn = false; // 榧犳爣鏄惁鍦ㄦ秷鎭涓 divElement.on({ // 鍦╯etTimeout鎵ц涔嬪墠鍏堝垽瀹氶紶鏍囨槸鍚﹀湪娑堟伅妗嗕腑 mouseover: function () { isIn = true; }, mouseout: function () { isIn = false; }, }); setTimeout(function () { divElement.remove(); // 绉婚櫎鍏冪礌 }, 3000); }, /** * 琛ㄥ崟闀垮害鏍¢獙 * @param minLen 鏈€灏忛暱搴 * @param maxLen 鏈€澶ч暱搴 * @param id 鏍囩id * @returns */ lengthValidator: function (minLen, maxLen, id) { var fieldControlInput = $(`#${id}`); var fieldValue = fieldControlInput.val(); if (this.blankValidator(fieldValue)) { this.isInValid(id); return false; } var fieldValueTrim = fieldValue.trim(); if (this.blankValidator(fieldValueTrim)) { this.isInValid(id); return false; } fieldControlInput.val(fieldValueTrim); fieldLen = fieldValueTrim.length; if (fieldLen > maxLen || fieldLen < minLen) { this.isInValid(id); return false; } this.isValid(id); return true; }, /** * 閭鍙婇暱搴︽牎楠 * @param minLen 鏈€灏忛暱搴 * @param maxLen 鏈€澶ч暱搴 * @param id 鏍囩id * @returns */ emailLenValidator: function (minLen, maxLen, id) { var lenFlag = this.lengthValidator(minLen, maxLen, id); if (!lenFlag) { return false; } var fieldValue = $(`#${id}`).val(); if (!this.mailValidator(fieldValue)) { this.isInValid(id); return false; } this.isValid(id); return true; }, /** * 鐢佃瘽鍙婇暱搴︽牎楠 * @param minLen 鏈€灏忛暱搴 * @param maxLen 鏈€澶ч暱搴 * @param id 鏍囩id * @returns */ phoneLenValidator: function (minLen, maxLen, id) { var lenFlag = this.lengthValidator(minLen, maxLen, id); if (!lenFlag) { return false; } var fieldValue = $(`#${id}`).val(); if (!this.phoneValidator(fieldValue)) { this.isInValid(id); return false; } this.isValid(id); return true; }, /** * 瀛楃涓蹭负绌烘牎楠 * @param str 瀛楃涓 */ blankValidator: function (str) { if (str == null || str == "") { return true; } return false; }, /** * 甯冨皵鏍¢獙 * @param bool 甯冨皵鍊 */ boolValidator: function (bool) { if (bool == true) { return true; } return false; }, /** * 閭瑙勫垯鏍¢獙 * @param mail 閭 */ mailValidator: function (mail) { var strRegex = /^(\w-*\.*)+@(\w-?)+(\.\w{2,})+$/; if (!strRegex.test(mail)) { return false; } return true; }, /** * 鎵嬫満瑙勫垯鏍¢獙 * @param phone 鎵嬫満 */ phoneValidator: function (phone) { var strRegex = /^1[3|4|5|7|8]\d{9}$/; if (!strRegex.test(phone)) { return false; } return true; }, /** * 鍚堟硶鏄剧ず * @param id 鏍囩id */ isValid: function (id) { $(`#${id}`).removeClass("is-invalid"); $(`#${id}`).addClass("is-valid"); }, /** * 闈炴硶鏄剧ず * @param id 鏍囩id */ isInValid: function (id) { $(`#${id}`).removeClass("is-valid"); $(`#${id}`).addClass("is-invalid"); }, /** * 鎸夐挳鍔犺浇涓 * @param id 鏍囩id */ buttonLoading: function (id) { $(`#${id}`).attr("disabled", true); $(`#${id}`).html("鎻愪氦涓?.."); }, /** * 鎻愪氦鎸夐挳 * @param id 鏍囩id */ buttonSubmit: function (id) { $(`#${id}`).attr("disabled", false); $(`#${id}`).html("鎻愪氦"); }, /** * 鍧楄鎷煎浘寮瑰嚭楠岃瘉鐮 * @param id 鏍囩id */ blockPuzzlePopCaptcha(id, beforeCheck, resolve, reject) { $(id).slideVerify({ baseUrl: $BASE_URL, //鏈嶅姟鍣ㄨ姹傚湴鍧€, 榛樿鍦板潃涓哄畨鍚夋湇鍔″櫒; mode: "pop", //灞曠ず妯″紡; containerId: "submit-button", //pop妯″紡 蹇呭~ 琚偣鍑讳箣鍚庡嚭鐜拌涓洪獙璇佺爜鐨勫厓绱爄d imgSize: { //鍥剧墖鐨勫ぇ灏忓璞?鏈夐粯璁ゅ€納 width: '310px',height: '155px'},鍙渷鐣 width: "400px", height: "200px", }, barSize: { //涓嬫柟婊戝潡鐨勫ぇ灏忓璞?鏈夐粯璁ゅ€納 width: '310px',height: '50px'},鍙渷鐣 width: "400px", height: "40px", }, beforeCheck: function () { //妫€楠屽弬鏁板悎娉曟€х殑鍑芥暟 mode ="pop"鏈夋晥 // var flag = true; //瀹炵幇: 鍙傛暟鍚堟硶鎬х殑鍒ゆ柇閫昏緫, 杩斿洖涓€涓猙oolean鍊 return beforeCheck(); }, ready: function () {}, //鍔犺浇瀹屾瘯鐨勫洖璋 success: function (params) { //鎴愬姛鐨勫洖璋 // params涓鸿繑鍥炵殑浜屾楠岃瘉鍙傛暟 闇€瑕佸湪鎺ヤ笅鏉ョ殑瀹炵幇閫昏緫鍥炰紶鏈嶅姟鍣 // 渚嬪: login($.extend({}, params)) resolve(params); }, error: function (err) { //澶辫触鐨勫洖璋 reject(err); }, }); }, /** * 鐐瑰嚮鏂囧瓧寮瑰嚭楠岃瘉鐮 * @param id */ clickWordPopCaptcha(id, beforeCheck, resolve, reject) { $(id).pointsVerify({ baseUrl: $BASE_URL, //鏈嶅姟鍣ㄨ姹傚湴鍧€, 榛樿鍦板潃涓哄畨鍚夋湇鍔″櫒; containerId: "submit-button", // pop妯″紡 蹇呭~ 琚偣鍑讳箣鍚庡嚭鐜拌涓洪獙璇佺爜鐨勫厓绱爄d mode: "pop", imgSize: { //鍥剧墖鐨勫ぇ灏忓璞 width: "400px", height: "200px", }, beforeCheck: function () { return beforeCheck(); }, ready: function () {}, success: function (params) { //杩斿洖鐨勪簩娆¢獙璇佸弬鏁 鍚堝苟鍒伴獙璇侀€氳繃涔嬪悗鐨勯€昏緫 鍙傛暟涓洖浼犳湇鍔″櫒 resolve(params); }, error: function (err) { reject(err); }, }); }, /** * 闅忔満閫夊彇楠岃瘉鐮佺被鍨 * @param id * @param resolve * @param reject */ randomCaptcha(id, beforeCheck, resolve, reject) { const captchaType = ["clickWordPop", "blockPuzzlePop"]; var hitItem = captchaType[Math.floor(Math.random() * captchaType.length + 1) - 1]; switch (hitItem) { case "clickWordPop": this.clickWordPopCaptcha(id, beforeCheck, resolve, reject); break; case "blockPuzzlePop": this.blockPuzzlePopCaptcha(id, beforeCheck, resolve, reject); break; } }, };