import * as CryptoJS from "crypto-js"; /** *加密处理 */ export const encryption = params => { let { data, type, param, key } = params; const result = JSON.parse(JSON.stringify(data)); if (type === "Base64") { param.forEach(ele => { result[ele] = btoa(result[ele]); }); } else { param.forEach(ele => { var data = result[ele]; key = CryptoJS.enc.Latin1.parse(key); var iv = key; // 加密 var encrypted = CryptoJS.AES.encrypt(data, key, { iv: iv, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.ZeroPadding }); result[ele] = encrypted.toString(); }); } return result; }; /** * 判断手机号码是否正确(可以为空) */ export function isValidateNoneMobile(phone) { const list = [] let result = true let msg = '' var isPhone = /^0\d{2,3}-?\d{7,8}$/ // 增加134 减少|1349[0-9]{7},增加181,增加145,增加17[678] if (!validatenull(phone)) { if (phone.length === 11) { if (isPhone.test(phone)) { msg = '手机号码格式不正确' } else { result = false } } else { msg = '手机号码长度不为11位' } } else { result = false } list.push(result) list.push(msg) return list } /** * 获取url参数 * @param {Object} url */ export function getUrlParams(url) { // 通过 ? 分割获取后面的参数字符串 let urlStr = url.split('?')[1] // 创建空对象存储参数 let obj = {}; // 再通过 & 将每一个参数单独分割出来 let paramsArr = urlStr.split('&') for (let i = 0, len = paramsArr.length; i < len; i++) { // 再通过 = 将每一个参数分割为 key:value 的形式 let arr = paramsArr[i].split('=') obj[arr[0]] = arr[1]; } return obj } /** 根据url参数获取url值 * @param {Object} url * @param {Object} paramName */ export function getUrlValueByParamName(url, paramName) { // 通过 ? 分割获取后面的参数字符串 let urlStr = url.split('?')[1] // 创建空对象存储参数 let obj = {}; // 再通过 & 将每一个参数单独分割出来 let paramsArr = urlStr.split('&') for (let i = 0, len = paramsArr.length; i < len; i++) { // 再通过 = 将每一个参数分割为 key:value 的形式 let arr = paramsArr[i].split('=') obj[arr[0]] = arr[1]; } return obj[paramName] || '' } export function getTenantCacheList() { let arr = [] var tenantList = uni.getStorageSync('tenantInfo'); if (!tenantList) { return arr; } console.log("获取到当前租户的缓存信息、", tenantList); var tenantId = uni.getStorageSync('currentTenantId').value; tenantList.filter(i => i.statusFlag == 1).forEach(item => { //unshift 会插入到第一个 if (tenantId == item.tenantId) { arr.unshift({ text: item.tenantName, value: item.tenantId }) } else { arr.push({ text: item.tenantName, value: item.tenantId }) } }) return arr; } export function getOrderType(orderTypeSource) { let arr = orderTypeSource var permissionInfo = uni.getStorageSync('permissionInfo'); if (!permissionInfo || permissionInfo.length == 0) { return arr; } let returnArr = []; console.log("获取到当前租户的权限缓存信息、", permissionInfo); arr.forEach(item => { if (item.key == "all" || permissionInfo.filter((permissionInfo) => { return permissionInfo.permission == item.key || permissionInfo.path == item.key }).length > 0) { item.isShow = true returnArr.push(item); } }) console.log("获取到当前租户的权限下的订单类型信息、", returnArr); return returnArr; } export function isPermission(key) { let isPermission = false var permissionInfo = uni.getStorageSync('permissionInfo'); if (!permissionInfo || permissionInfo.length == 0) { return isPermission; } console.log("当前信息、", permissionInfo); console.log("获取到当前租户的权限缓存信息和对应的KEY信息、", permissionInfo, key); return permissionInfo.filter((permissionInfo) => { return permissionInfo.permission == key || permissionInfo.path == key }).length > 0 } export function getLabel(str, arr, label = 'name', value = 'value') { if (!String(str)) return '' const newObj = arr.find(item => String(item[value]) === String(str)) const returnValue = newObj ? newObj[label] : '' return returnValue } export function getTimeInfo() { var nowdate = new Date(); var year = nowdate.getFullYear(), month = nowdate.getMonth() + 1, date = nowdate.getDate(), day = nowdate.getDay(), h = nowdate.getHours(), m = nowdate.getMinutes(), s = nowdate.getSeconds(), h = checkTime(h), m = checkTime(m), s = checkTime(s); return year+month + date + h + m + s; } var checkTime = function(i) { if (i < 10) { i = "0" + i; } return i; }