// 请求时接口的公用部分 // #ifdef APP-PLUS || MP // const baseUrl = "http://116.62.210.143:9002"; const baseUrl = "http://118.89.79.160:8800/HiatmpPro"; // #endif // #ifdef H5 const baseUrl = "/HiatmpPro"; // #endif // 图片路径的公用部分 const imgSrc = "/static"; // 图片上传地址 const imgUrl = "/hyjg-admin/mapi/upload/upload"; const imgUserIdUrl = "/hyjg-admin/mapi/upload/uploadAndIdentify"; // 上传图片的name值 const fileImgKey = "file"; // 上传视频的name值 const fileVideoKey = "img"; // 上传视频的大小限制(单位:千字节) const videoSize = 10240000; // 10M module.exports = { // --------------------变量-------------------- // 图片路径的公用部分 imgSrc, // 图片上传地址 imgUrl, imgUserIdUrl, // 上传图片的name值 fileImgKey, // 视频大小 videoSize, // 视频name值 fileVideoKey, baseUrl, // ----------------------校验---------------------- // 处理时间两位数 timeDealTwo(value){ let val = Number(value) return val < 10 ? '0' + val : val }, // 判断两个对象是否相同 isObjEqual (o1, o2) { var props1 = Object.getOwnPropertyNames(o1) var props2 = Object.getOwnPropertyNames(o2) if (props1.indexOf('__ob__') !== -1) { props1.splice(props1.indexOf('__ob__'), 1) } if (props2.indexOf('__ob__') !== -1) { props2.splice(props2.indexOf('__ob__'), 1) } var a = true var b = true if (props1.length !== props2.length) { a = false } else { for (var i = 0, max = props1.length; i < max; i++) { var propName = props1[i] if (o1[propName] !== o2[propName]) { b = false break } } } return a && b }, checkHasKey(key,str){ if(str.indexOf(key) != -1){ return true } return false }, // 非空验证(包含数字) isEmpty(value,isnumber = false){ if(isnumber){ if(value <= 0){ return false } } if(value == '' || value == null || typeof(value) == 'undefined'){ return false } return true }, // 手机号验证 isPhone(phone) { // 是否正确(默认不正确) let br = false; if (/^0?(13[0-9]|14[5-9]|15[012356789]|166|17[0-9]|18[0-9]|19[8-9])[0-9]{8}$/.test(phone)) { br = true; } return br; }, // 邮箱验证 isEmail(email) { // 是否正确(默认不正确) let br = false; if (/^[A-Za-z\d]+([-_.][A-Za-z\d]+)*@([A-Za-z\d]+[-.])+[A-Za-z\d]{2,4}$/.test(email)) { br = true; } return br; }, // 身份证验证 isPersonID(code) { //身份证号合法性验证 //支持15位和18位身份证号 //支持地址编码、出生日期、校验位验证 var city = { 11: "北京", 12: "天津", 13: "河北", 14: "山西", 15: "内蒙古", 21: "辽宁", 22: "吉林", 23: "黑龙江 ", 31: "上海", 32: "江苏", 33: "浙江", 34: "安徽", 35: "福建", 36: "江西", 37: "山东", 41: "河南", 42: "湖北 ", 43: "湖南", 44: "广东", 45: "广西", 46: "海南", 50: "重庆", 51: "四川", 52: "贵州", 53: "云南", 54: "西藏 ", 61: "陕西", 62: "甘肃", 63: "青海", 64: "宁夏", 65: "新疆", 71: "台湾", 81: "香港", 82: "澳门", 91: "国外 " }; var br = true; var msg = "验证成功"; if (!code || !/^\d{6}(18|19|20)?\d{2}(0[1-9]|1[012])(0[1-9]|[12]\d|3[01])\d{3}(\d|[xX])$/.test(code)) { br = false; msg = "被保人身份证号格式错误"; } else if (!city[code.substr(0, 2)]) { br = false; msg = "被保人身份证号地址编码错误"; } else { //18位身份证需要验证最后一位校验位 if (code.length == 18) { code = code.split(''); //∑(ai×Wi)(mod 11) //加权因子 var factor = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2]; //校验位 var parity = [1, 0, 'X', 9, 8, 7, 6, 5, 4, 3, 2]; var sum = 0; var ai = 0; var wi = 0; for (var i = 0; i < 17; i++) { ai = code[i]; wi = factor[i]; sum += ai * wi; } if (parity[sum % 11] != code[17].toUpperCase()) { br = false; msg = "被保人身份证号校验位错误"; } } } return { br, msg }; }, // 处理时间 dealTimeLength(value){ let num = Number(value) let str = num < 10 ? '0' + num : num // let str = value.toString() return str }, // 是否是正整数 isNum(num){ if (!(/(^[1-9]\d*$)/.test(num))) { return false; } return true }, // 是否有小数点 isDot(num) { var result = (num.toString()).indexOf("."); if(result != -1) { return false alert("含有小数点"); } return true }, // ----------------------原生---------------------- setNavName(value){ uni.setNavigationBarTitle({ title:value }) }, // 查看文件 checkFile(url){ uni.showLoading({ mask: true, }); uni.downloadFile({ url: url, //仅为示例,并非真实的资源 success: function(res){ if (res.statusCode === 200) { uni.hideLoading(); var filePath = res.tempFilePath; uni.openDocument({ filePath: filePath, success: function (res) { console.log("打开文档成功"); }, }); } }, }); }, // 扫一扫 scanCode(callback){ uni.scanCode({ scanType: ['barCode','qrCode'], success (res) { callback(res) } }); }, // 图片预览 previewImg(current, urls) { uni.previewImage({ current: current, // 当前显示图片的https链接 urls: urls // 需要预览的图片https链接列表 }) }, // 显示加载动画 showLoading(title = "加载中...", mask = true) { uni.showLoading({ title: title, mask: mask, }) }, // 关闭加载动画 hideLoading() { uni.hideLoading(); }, // 提示框 toast(title, time = 1500, mask = true, icon = "none") { uni.showToast({ // 提示的内容 title: title, // 提示的时间 duration: time, // 是否显示透明蒙层,防止触摸穿透(false) mask: mask, // 图标(success) icon: icon, }) }, // 对话框 dialogBox(obj) { let showCancel = true; if (obj.l_show == false) { showCancel = false; } uni.showModal({ // 对话框的标题(选填) title: obj.title || "", // 对话框的内容(选填) content: obj.content || "", // 是否显示左边的按钮(选填,默认显示) showCancel: showCancel, // 左边按钮的文字内容(选填,默认取消) cancelText: obj.l_text || "取消", // 左边按钮的文字颜色(选填,默认#000000) cancelColor: obj.l_color || "#000000", // 右边按钮的文字内容(选填,默认确定) confirmText: obj.r_text || "确定", // 右边按钮的文字颜色(选填,默认#3cc51f) confirmColor: obj.r_color || "#3cc51f", success: (res) => { if (res.confirm) { // 点击了确定按钮 if (obj.r_fun) { obj.r_fun(); } } else { // 点击了取消按钮 if (obj.l_fun) { obj.l_fun(); } } } }) }, // 打开一个新页面 open(url) { uni.navigateTo({ url: url }) }, // 关闭所有页面,然后打开一个新页面 openNew(url) { uni.reLaunch({ url: url }); }, // 跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面。 openTab(url) { uni.switchTab({ url: url }); }, // 当前页打开新页面 href(url) { uni.redirectTo({ url: url }) }, // 页面返回 back(delta = 1) { // #ifdef H5 const pages = getCurrentPages() if (pages.length > 1) { uni.navigateBack(1) return; } //使用vue-router返回上一级 if (typeof(this.$router) == 'undefined') { //重新定向跳转页面 uni.switchTab({ url: '/pages/index/index' }) }else{ this.$router.go(-1) } return; // #endif if (getCurrentPages().length > 1) { uni.navigateBack({ delta: delta }) } else { // #ifdef APP-PLUS uni.switchTab({ url: '/pages/index/index' }) // #endif // #ifdef MP-WEIXIN uni.switchTab({ url: '/pages/index/index' }) // #endif } }, // 获取之前页面的数据 backGetData(index = 1) { // 往上一级页面传参 const pages = getCurrentPages(); const prevPage = pages[pages.length - index - 1]; // 上index级页面 return prevPage; }, // 将数据存到本地 setData(key, data) { uni.setStorageSync(key, data); }, // 从本地获取数据 getData(key) { return uni.getStorageSync(key); }, // 同步删除本地数据 removeData(key) { uni.removeStorageSync(key); }, // 同步清除本地数据 clearData() { uni.clearStorage(); }, // 设置底部导航 setBar(index,text){ uni.setTabBarItem({ index:index, text:text }) }, // 打开地图选择地址 chooseAddress(success) { uni.chooseLocation({ success: function(res) { success({ // 地点名称 name: res.name, // 详细地址 address: res.address, // 经纬度 lng: res.longitude, lat: res.latitude }); }, }); }, // 打开地图 openMap(lng, lat, name) { uni.openLocation({ longitude: lng - 0, latitude: lat - 0, name: name, }) }, // 复制 copy(text,toasttext = '复制成功') { // #ifdef APP-PLUS uni.setClipboardData({ data: text, success: () => { toast(toasttext); } }); // #endif // #ifdef H5 // 如果是H5,获取设备信息 uni.getSystemInfo({ success: function(res) { let input = document.createElement('input'); input.type = 'text'; input.value = text; input.style.position = 'fixed'; input.style.top = "-100vh"; input.style.left = "-100vw"; input.style.opacity = 0; window.document.body.appendChild(input); input.select(); if (res.platform == "ios") { input.setSelectionRange(0, input.value.length), document.execCommand('Copy'); } else { document.execCommand("Copy"); } document.body.removeChild(input); toast(toasttext); } }); // #endif }, // 拨打电话 callNumber(phone) { uni.makePhoneCall({ phoneNumber: phone, }) }, // ----------------------自封方法---------------------- // 获取分发类型 getTypeFenFa(){ return [ {type:1,label:'代表发文'}, {type:2,label:'收文'}, {type:3,label:'呈报事项'}, {type:4,label:'纪检发文'}, {type:5,label:'会议通知'}, {type:6,label:'重大事项通知'}, {type:7,label:'议案分发提议人'}, {type:8,label:'公文流转'}, ] }, // 获取员工类型 getPersonType(){ return [ {type:1,label:'集团领导'}, {type:2,label:'中层领导'}, {type:3,label:'普通员工'}, ] }, // 获取书记类型 getTypeSJ(){ return [ {type:1,label:'党委书记'}, {type:2,label:'党委副书记'} ] }, // 获取当前时间-年月日 getNowTimeYMD(){ let date = new Date(), year = date.getFullYear(), month = (date.getMonth()+1) < 10 ? '0' + (date.getMonth()+1) : date.getMonth()+1, day = (date.getDate()) < 10 ? '0' + (date.getDate()) : date.getDate(), days = year + '-' + month + '-' + day return days }, // 获取当前时间-年月日时分 getNowTimeYMDHM(){ let date = new Date(), year = date.getFullYear(), month = (date.getMonth()+1) < 10 ? '0' + (date.getMonth()+1) : date.getMonth()+1, day = (date.getDate()) < 10 ? '0' + (date.getDate()) : date.getDate(), hour = (date.getHours()) < 10 ? '0' + (date.getHours()) : date.getHours(), min = (date.getMinutes()) < 10 ? '0' + (date.getMinutes()) : date.getMinutes(), days = year + '-' + month + '-' + day + ' ' + hour + ':' + min return days }, // 两个数组合并并且去重 mergeArr(arr1,arr2,key){ let arr = arr1.concat(arr2); //两个数组对象合并 let newArr = []; //盛放去重后数据的新数组 for(let a = 0; a < arr.length; a++){ //循环json数组对象的内容 let flag = true; //建立标记,判断数据是否重复,true为不重复 for(let b = 0; b < newArr.length; b++){ //循环新数组的内容 if(arr[a][key] == newArr[b][key]){ //让json数组对象的内容与新数组的内容作比较,相同的话,改变标记为false flag = false; } } if(flag){ //判断是否重复 newArr.push(arr[a]); //不重复的放入新数组。 新数组的内容会继续进行上边的循环。 } } return newArr }, // 去掉数组重复数据 delArrRepeat(arr,key){ var result = []; var obj = {}; for(var i =0; i 0) { flag = false; break; } } return flag; }, // 获取语言列表 getLanguage(){ return [ {id:'cn',name:'CN',type:1}, // {id:'en',name:'English',type:2} ] }, // 检测url是否有某key,并获取值 urlIsHaveKey(key){ let urlAll = window.location.href let urls = urlAll.replace('?','&') let urlArr = urls.split('&') // console.log(urlArr) for(let a = 0; a < urlArr.length;a++){ let urlA = urlArr[a].split('=') if(urlA[0] == key){ return urlA[1] } } return '' }, // 计算精度 getPoint(num){ let number = 1 for(let a = 0; a < num;a++){ number = number + '0' } return Number(number) }, // 获取合约地址 getContract(){ return { 'key':'地址', } }, // 获取请求域名 getBaseUrl(){ return baseUrl }, // 获取图片域名 getBasePageUrl(){ return 'https://pool.xinhuoshuju.com' }, // 判断对象中是否有某key值,如果有该值,直接返回该对象 checkObjKeyIsValue(arrs,key,value){ let items = '' arrs.forEach((item,k) => { if(item[key] == value){ items = item } }) if(items){ return items } return false }, // 数字转换小数点任意位 changeNumberPoint(number,length = 2){ let nums = '1' for(let a = 0; a < length; a++){ nums = nums + '0' } let num = Number(number) / nums // 金额转换小数点后六位 let result = num.toFixed(length) // 截取6位 return result }, // 检测密码只能是英文大小写加数字 checkPswEN(psw){ let check_big = /[A-Z]/g // console.log(check_big.test(psw)) let check_small = /[a-z]/g // console.log(check_small.test(psw)) let check_num = /[0-9]/g // console.log(check_num.test(psw)) if(check_big.test(psw) && check_small.test(psw) && check_num.test(psw)){ return true } return false }, // 生成uuid createUUID() { var s = []; var hexDigits = "0123456789abcdef"; for (var i = 0; i < 36; i++) { s[i] = hexDigits.substr(Math.floor(Math.random() * 0x10), 1); } s[14] = "4"; // bits 12-15 of the time_hi_and_version field to 0010 s[19] = hexDigits.substr((s[19] & 0x3) | 0x8, 1); // bits 6-7 of the clock_seq_hi_and_reserved to 01 s[8] = s[13] = s[18] = s[23] = "-"; var uuid = s.join(""); return uuid; }, // ----------------------时间转换---------------------- // 获取当前时间-精确到时分秒 time_StampToHMS(){ var now = new Date(); var hour = now.getHours();//得到小时 var minu = now.getMinutes();//得到分钟 var sec = now.getSeconds();//得到秒 if(hour < 10){ hour = '0' + hour } if(minu < 10){ minu = '0' + minu } if(sec < 10){ sec = '0' + sec } return hour + ':' + minu + ':' + sec }, // 时分秒转换成秒数 time_HMSToS(time){ var s = ''; var hour = time.split(':')[0]; var min = time.split(':')[1]; var sec = time.split(':')[2]; s = Number(hour*3600) + Number(min*60) + Number(sec); return s; }, // 根据时间戳获取年月日时分秒 time_StampToYMDHMS(sjc) { let datetime = new Date(sjc); // 获取年月日时分秒值 slice(-2)过滤掉大于10日期前面的0 var year = datetime.getFullYear(), month = ("0" + (datetime.getMonth() + 1)).slice(-2), date = ("0" + datetime.getDate()).slice(-2), hour = ("0" + datetime.getHours()).slice(-2), minute = ("0" + datetime.getMinutes()).slice(-2), second = ("0" + datetime.getSeconds()).slice(-2); // 拼接 var result = year + "-" + month + "-" + date + " " + hour + ":" + minute + ":" + second; // 返回 return result; }, // 毫秒转换时分秒 time_MsecToHMS(value) { var theTime = parseInt(value);// 秒 var middle= 0;// 分 var hour= 0;// 小时 if(theTime > 60) { middle= parseInt(theTime/60); theTime = parseInt(theTime%60); if(middle> 60) { hour= parseInt(middle/60); middle= parseInt(middle%60); } } var result = parseInt(theTime); if(theTime < 10){ result = "0"+theTime; } if(middle > 0) { if(middle < 10){ result = "0"+parseInt(middle)+":"+result; }else{ result = parseInt(middle)+":"+result; } } if(hour> 0) { if(hour < 10){ result = "0"+parseInt(hour)+":"+result; }else{ result = parseInt(hour)+":"+result; } } return result; }, clearEmpty(value){ return value.replaceAll(' ','') }, // 秒转换成天时分秒 time_MsecToDHMS(time){ time = (time / 1000).toFixed(0) var days = parseInt(time / (1000 * 60 * 60 * 24)); var hours = parseInt((time % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60)); var minutes = parseInt((time % (1000 * 60 * 60)) / (1000 * 60)); var seconds = (time % (1000 * 60)) / 1000; return (days).toFixed(0) + " 天 " + (hours).toFixed(0) + " 小时 " + (minutes).toFixed(0) + " 分钟 " + (seconds).toFixed(0) + " 秒 "; }, // 秒数转换成时分秒 time_SToHMS(s){ var t if(s > -1){ var hour = Math.floor(s/3600) var min = Math.floor(s/60) % 60 var sec = s % 60 if(hour < 10) { t = '0'+ hour + ":" } else { t = hour + ":" } if(min < 10){ t += "0" } t += min + ":" if(sec < 10){ t += "0" } t += sec.toFixed(2) } return t }, }