4ea8f164e7d4a48f13580bc9e032a026.json 26 KB

1
  1. {"remainingRequest":"D:\\jiayue\\pig-ui\\node_modules\\babel-loader\\lib\\index.js!D:\\jiayue\\pig-ui\\src\\util\\util.js","dependencies":[{"path":"D:\\jiayue\\pig-ui\\src\\util\\util.js","mtime":1619070292885},{"path":"D:\\jiayue\\pig-ui\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jiayue\\pig-ui\\node_modules\\babel-loader\\lib\\index.js","mtime":315532800000}],"contextDependencies":[],"result":["import _typeof from \"D:/jiayue/pig-ui/node_modules/@babel/runtime/helpers/esm/typeof\";\nimport \"core-js/modules/es6.regexp.replace\";\nimport \"core-js/modules/es6.regexp.to-string\";\nimport \"core-js/modules/es6.object.keys\";\nimport \"core-js/modules/web.dom.iterable\";\nimport { validatenull } from \"./validate\";\nimport request from '@/router/axios';\nimport * as CryptoJS from 'crypto-js'; // 表单序列化\n\nexport var serialize = function serialize(data) {\n var list = [];\n Object.keys(data).forEach(function (ele) {\n list.push(\"\".concat(ele, \"=\").concat(data[ele]));\n });\n return list.join('&');\n};\nexport var getObjType = function getObjType(obj) {\n var toString = Object.prototype.toString;\n var map = {\n '[object Boolean]': 'boolean',\n '[object Number]': 'number',\n '[object String]': 'string',\n '[object Function]': 'function',\n '[object Array]': 'array',\n '[object Date]': 'date',\n '[object RegExp]': 'regExp',\n '[object Undefined]': 'undefined',\n '[object Null]': 'null',\n '[object Object]': 'object'\n };\n\n if (obj instanceof Element) {\n return 'element';\n }\n\n return map[toString.call(obj)];\n};\n/**\r\n * 对象深拷贝\r\n */\n\nexport var deepClone = function deepClone(data) {\n var type = getObjType(data);\n var obj;\n\n if (type === 'array') {\n obj = [];\n } else if (type === 'object') {\n obj = {};\n } else {\n // 不再具有下一层次\n return data;\n }\n\n if (type === 'array') {\n for (var i = 0, len = data.length; i < len; i++) {\n obj.push(deepClone(data[i]));\n }\n } else if (type === 'object') {\n for (var key in data) {\n obj[key] = deepClone(data[key]);\n }\n }\n\n return obj;\n};\n/**\r\n * 判断路由是否相等\r\n */\n\nexport var diff = function diff(obj1, obj2) {\n delete obj1.close;\n var o1 = obj1 instanceof Object;\n var o2 = obj2 instanceof Object;\n\n if (!o1 || !o2) {\n /* 判断不是对象 */\n return obj1 === obj2;\n }\n\n if (Object.keys(obj1).length !== Object.keys(obj2).length) {\n return false; // Object.keys() 返回一个由对象的自身可枚举属性(key值)组成的数组,例如:数组返回下表:let arr = [\"a\", \"b\", \"c\"];console.log(Object.keys(arr))->0,1,2;\n }\n\n for (var attr in obj1) {\n var t1 = obj1[attr] instanceof Object;\n var t2 = obj2[attr] instanceof Object;\n\n if (t1 && t2) {\n return diff(obj1[attr], obj2[attr]);\n } else if (obj1[attr] !== obj2[attr]) {\n return false;\n }\n }\n\n return true;\n};\n/**\r\n * 设置灰度模式\r\n */\n\nexport var toggleGrayMode = function toggleGrayMode(status) {\n if (status) {\n document.body.className = document.body.className + ' grayMode';\n } else {\n document.body.className = document.body.className.replace(' grayMode', '');\n }\n};\n/**\r\n * 设置主题\r\n */\n\nexport var setTheme = function setTheme(name) {\n document.body.className = name;\n};\n/**\r\n *加密处理\r\n */\n\nexport var encryption = function encryption(params) {\n var data = params.data,\n type = params.type,\n param = params.param,\n key = params.key;\n var result = JSON.parse(JSON.stringify(data));\n\n if (type === 'Base64') {\n param.forEach(function (ele) {\n result[ele] = btoa(result[ele]);\n });\n } else {\n param.forEach(function (ele) {\n var data = result[ele];\n key = CryptoJS.enc.Latin1.parse(key);\n var iv = key; // 加密\n\n var encrypted = CryptoJS.AES.encrypt(data, key, {\n iv: iv,\n mode: CryptoJS.mode.CBC,\n padding: CryptoJS.pad.ZeroPadding\n });\n result[ele] = encrypted.toString();\n });\n }\n\n return result;\n};\n/**\r\n * 浏览器判断是否全屏\r\n */\n\nexport var fullscreenToggel = function fullscreenToggel() {\n if (fullscreenEnable()) {\n exitFullScreen();\n } else {\n reqFullScreen();\n }\n};\n/**\r\n * esc监听全屏\r\n */\n\nexport var listenfullscreen = function listenfullscreen(callback) {\n function listen() {\n callback();\n }\n\n document.addEventListener(\"fullscreenchange\", function () {\n listen();\n });\n document.addEventListener(\"mozfullscreenchange\", function () {\n listen();\n });\n document.addEventListener(\"webkitfullscreenchange\", function () {\n listen();\n });\n document.addEventListener(\"msfullscreenchange\", function () {\n listen();\n });\n};\n/**\r\n * 浏览器判断是否全屏\r\n */\n\nexport var fullscreenEnable = function fullscreenEnable() {\n return document.isFullScreen || document.mozIsFullScreen || document.webkitIsFullScreen;\n};\n/**\r\n * 浏览器全屏\r\n */\n\nexport var reqFullScreen = function reqFullScreen() {\n if (document.documentElement.requestFullScreen) {\n document.documentElement.requestFullScreen();\n } else if (document.documentElement.webkitRequestFullScreen) {\n document.documentElement.webkitRequestFullScreen();\n } else if (document.documentElement.mozRequestFullScreen) {\n document.documentElement.mozRequestFullScreen();\n }\n};\n/**\r\n * 浏览器退出全屏\r\n */\n\nexport var exitFullScreen = function exitFullScreen() {\n if (document.documentElement.requestFullScreen) {\n document.exitFullScreen();\n } else if (document.documentElement.webkitRequestFullScreen) {\n document.webkitCancelFullScreen();\n } else if (document.documentElement.mozRequestFullScreen) {\n document.mozCancelFullScreen();\n }\n};\n/**\r\n * 递归寻找子类的父类\r\n */\n\nexport var findParent = function findParent(menu, id) {\n for (var i = 0; i < menu.length; i++) {\n if (menu[i].children.length != 0) {\n for (var j = 0; j < menu[i].children.length; j++) {\n if (menu[i].children[j].id == id) {\n return menu[i];\n } else {\n if (menu[i].children[j].children.length != 0) {\n return findParent(menu[i].children[j].children, id);\n }\n }\n }\n }\n }\n};\n/**\r\n * 动态插入css\r\n */\n\nexport var loadStyle = function loadStyle(url) {\n var link = document.createElement('link');\n link.type = 'text/css';\n link.rel = 'stylesheet';\n link.href = url;\n var head = document.getElementsByTagName('head')[0];\n head.appendChild(link);\n};\n/**\r\n * 判断路由是否相等\r\n */\n\nexport var isObjectValueEqual = function isObjectValueEqual(a, b) {\n var result = true;\n Object.keys(a).forEach(function (ele) {\n var type = _typeof(a[ele]);\n\n if (type === 'string' && a[ele] !== b[ele]) result = false;else if (type === 'object' && JSON.stringify(a[ele]) !== JSON.stringify(b[ele])) result = false;\n });\n return result;\n};\n/**\r\n * 根据字典的value显示label\r\n */\n\nexport var findByvalue = function findByvalue(dic, value) {\n var result = '';\n if (validatenull(dic)) return value;\n\n if (typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean') {\n var index = 0;\n index = findArray(dic, value);\n\n if (index != -1) {\n result = dic[index].label;\n } else {\n result = value;\n }\n } else if (value instanceof Array) {\n result = [];\n var _index = 0;\n value.forEach(function (ele) {\n _index = findArray(dic, ele);\n\n if (_index != -1) {\n result.push(dic[_index].label);\n } else {\n result.push(value);\n }\n });\n result = result.toString();\n }\n\n return result;\n};\n/**\r\n * 根据字典的value查找对应的index\r\n */\n\nexport var findArray = function findArray(dic, value) {\n for (var i = 0; i < dic.length; i++) {\n if (dic[i].value == value) {\n return i;\n }\n }\n\n return -1;\n};\n/**\r\n * 生成随机len位数字\r\n */\n\nexport var randomLenNum = function randomLenNum(len, date) {\n var random = '';\n random = Math.ceil(Math.random() * 100000000000000).toString().substr(0, len || 4);\n if (date) random = random + Date.now();\n return random;\n};",{"version":3,"sources":["D:/jiayue/pig-ui/src/util/util.js"],"names":["validatenull","request","CryptoJS","serialize","data","list","Object","keys","forEach","ele","push","join","getObjType","obj","toString","prototype","map","Element","call","deepClone","type","i","len","length","key","diff","obj1","obj2","close","o1","o2","attr","t1","t2","toggleGrayMode","status","document","body","className","replace","setTheme","name","encryption","params","param","result","JSON","parse","stringify","btoa","enc","Latin1","iv","encrypted","AES","encrypt","mode","CBC","padding","pad","ZeroPadding","fullscreenToggel","fullscreenEnable","exitFullScreen","reqFullScreen","listenfullscreen","callback","listen","addEventListener","isFullScreen","mozIsFullScreen","webkitIsFullScreen","documentElement","requestFullScreen","webkitRequestFullScreen","mozRequestFullScreen","webkitCancelFullScreen","mozCancelFullScreen","findParent","menu","id","children","j","loadStyle","url","link","createElement","rel","href","head","getElementsByTagName","appendChild","isObjectValueEqual","a","b","findByvalue","dic","value","index","findArray","label","Array","randomLenNum","date","random","Math","ceil","substr","Date","now"],"mappings":"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","sourcesContent":["import {validatenull} from './validate'\r\nimport request from '@/router/axios'\r\nimport * as CryptoJS from'crypto-js'\r\n\r\n// 表单序列化\r\nexport const serialize = data => {\r\n let list = []\r\n Object.keys(data).forEach(ele => {\r\n list.push(`${ele}=${data[ele]}`)\r\n })\r\n return list.join('&')\r\n}\r\nexport const getObjType = obj => {\r\n var toString = Object.prototype.toString\r\n var map = {\r\n '[object Boolean]': 'boolean',\r\n '[object Number]': 'number',\r\n '[object String]': 'string',\r\n '[object Function]': 'function',\r\n '[object Array]': 'array',\r\n '[object Date]': 'date',\r\n '[object RegExp]': 'regExp',\r\n '[object Undefined]': 'undefined',\r\n '[object Null]': 'null',\r\n '[object Object]': 'object'\r\n }\r\n if (obj instanceof Element) {\r\n return 'element'\r\n }\r\n return map[toString.call(obj)]\r\n}\r\n/**\r\n * 对象深拷贝\r\n */\r\nexport const deepClone = data => {\r\n var type = getObjType(data)\r\n var obj\r\n if (type === 'array') {\r\n obj = []\r\n } else if (type === 'object') {\r\n obj = {}\r\n } else {\r\n // 不再具有下一层次\r\n return data\r\n }\r\n if (type === 'array') {\r\n for (var i = 0, len = data.length; i < len; i++) {\r\n obj.push(deepClone(data[i]))\r\n }\r\n } else if (type === 'object') {\r\n for (var key in data) {\r\n obj[key] = deepClone(data[key])\r\n }\r\n }\r\n return obj\r\n}\r\n/**\r\n * 判断路由是否相等\r\n */\r\nexport const diff = (obj1, obj2) => {\r\n delete obj1.close\r\n var o1 = obj1 instanceof Object\r\n var o2 = obj2 instanceof Object\r\n if (!o1 || !o2) { /* 判断不是对象 */\r\n return obj1 === obj2\r\n }\r\n\r\n if (Object.keys(obj1).length !== Object.keys(obj2).length) {\r\n return false\r\n // Object.keys() 返回一个由对象的自身可枚举属性(key值)组成的数组,例如:数组返回下表:let arr = [\"a\", \"b\", \"c\"];console.log(Object.keys(arr))->0,1,2;\r\n }\r\n\r\n for (var attr in obj1) {\r\n var t1 = obj1[attr] instanceof Object\r\n var t2 = obj2[attr] instanceof Object\r\n if (t1 && t2) {\r\n return diff(obj1[attr], obj2[attr])\r\n } else if (obj1[attr] !== obj2[attr]) {\r\n return false\r\n }\r\n }\r\n return true\r\n}\r\n/**\r\n * 设置灰度模式\r\n */\r\nexport const toggleGrayMode = (status) => {\r\n if (status) {\r\n document.body.className = document.body.className + ' grayMode'\r\n } else {\r\n document.body.className = document.body.className.replace(' grayMode', '')\r\n }\r\n}\r\n/**\r\n * 设置主题\r\n */\r\nexport const setTheme = (name) => {\r\n document.body.className = name\r\n}\r\n\r\n/**\r\n *加密处理\r\n */\r\nexport const encryption = (params) => {\r\n let {\r\n data,\r\n type,\r\n param,\r\n key\r\n } = params\r\n const result = JSON.parse(JSON.stringify(data))\r\n if (type === 'Base64') {\r\n param.forEach(ele => {\r\n result[ele] = btoa(result[ele])\r\n })\r\n } else {\r\n param.forEach(ele => {\r\n var data = result[ele]\r\n key = CryptoJS.enc.Latin1.parse(key)\r\n var iv = key\r\n // 加密\r\n var encrypted = CryptoJS.AES.encrypt(\r\n data,\r\n key, {\r\n iv: iv,\r\n mode: CryptoJS.mode.CBC,\r\n padding: CryptoJS.pad.ZeroPadding\r\n })\r\n result[ele] = encrypted.toString()\r\n })\r\n }\r\n return result\r\n}\r\n\r\n/**\r\n * 浏览器判断是否全屏\r\n */\r\nexport const fullscreenToggel = () => {\r\n if (fullscreenEnable()) {\r\n exitFullScreen();\r\n } else {\r\n reqFullScreen();\r\n }\r\n};\r\n/**\r\n * esc监听全屏\r\n */\r\nexport const listenfullscreen = (callback) => {\r\n function listen() {\r\n callback()\r\n }\r\n document.addEventListener(\"fullscreenchange\", function () {\r\n listen();\r\n });\r\n document.addEventListener(\"mozfullscreenchange\", function () {\r\n listen();\r\n });\r\n document.addEventListener(\"webkitfullscreenchange\", function () {\r\n listen();\r\n });\r\n document.addEventListener(\"msfullscreenchange\", function () {\r\n listen();\r\n });\r\n};\r\n/**\r\n * 浏览器判断是否全屏\r\n */\r\nexport const fullscreenEnable = () => {\r\n return document.isFullScreen || document.mozIsFullScreen || document.webkitIsFullScreen\r\n}\r\n\r\n/**\r\n * 浏览器全屏\r\n */\r\nexport const reqFullScreen = () => {\r\n if (document.documentElement.requestFullScreen) {\r\n document.documentElement.requestFullScreen();\r\n } else if (document.documentElement.webkitRequestFullScreen) {\r\n document.documentElement.webkitRequestFullScreen();\r\n } else if (document.documentElement.mozRequestFullScreen) {\r\n document.documentElement.mozRequestFullScreen();\r\n }\r\n};\r\n/**\r\n * 浏览器退出全屏\r\n */\r\nexport const exitFullScreen = () => {\r\n if (document.documentElement.requestFullScreen) {\r\n document.exitFullScreen();\r\n } else if (document.documentElement.webkitRequestFullScreen) {\r\n document.webkitCancelFullScreen();\r\n } else if (document.documentElement.mozRequestFullScreen) {\r\n document.mozCancelFullScreen();\r\n }\r\n};\r\n/**\r\n * 递归寻找子类的父类\r\n */\r\n\r\nexport const findParent = (menu, id) => {\r\n for (let i = 0; i < menu.length; i++) {\r\n if (menu[i].children.length != 0) {\r\n for (let j = 0; j < menu[i].children.length; j++) {\r\n if (menu[i].children[j].id == id) {\r\n return menu[i]\r\n } else {\r\n if (menu[i].children[j].children.length != 0) {\r\n return findParent(menu[i].children[j].children, id)\r\n }\r\n }\r\n }\r\n }\r\n }\r\n}\r\n\r\n/**\r\n * 动态插入css\r\n */\r\n\r\nexport const loadStyle = url => {\r\n const link = document.createElement('link')\r\n link.type = 'text/css'\r\n link.rel = 'stylesheet'\r\n link.href = url\r\n const head = document.getElementsByTagName('head')[0]\r\n head.appendChild(link)\r\n}\r\n/**\r\n * 判断路由是否相等\r\n */\r\nexport const isObjectValueEqual = (a, b) => {\r\n let result = true\r\n Object.keys(a).forEach(ele => {\r\n const type = typeof (a[ele])\r\n if (type === 'string' && a[ele] !== b[ele]) result = false\r\n else if (type === 'object' && JSON.stringify(a[ele]) !== JSON.stringify(b[ele])) result = false\r\n })\r\n return result\r\n}\r\n/**\r\n * 根据字典的value显示label\r\n */\r\nexport const findByvalue = (dic, value) => {\r\n let result = ''\r\n if (validatenull(dic)) return value\r\n if (typeof (value) === 'string' || typeof (value) === 'number' || typeof (value) === 'boolean') {\r\n let index = 0\r\n index = findArray(dic, value)\r\n if (index != -1) {\r\n result = dic[index].label\r\n } else {\r\n result = value\r\n }\r\n } else if (value instanceof Array) {\r\n result = []\r\n let index = 0\r\n value.forEach(ele => {\r\n index = findArray(dic, ele)\r\n if (index != -1) {\r\n result.push(dic[index].label)\r\n } else {\r\n result.push(value)\r\n }\r\n })\r\n result = result.toString()\r\n }\r\n return result\r\n}\r\n/**\r\n * 根据字典的value查找对应的index\r\n */\r\nexport const findArray = (dic, value) => {\r\n for (let i = 0; i < dic.length; i++) {\r\n if (dic[i].value == value) {\r\n return i\r\n }\r\n }\r\n return -1\r\n}\r\n/**\r\n * 生成随机len位数字\r\n */\r\nexport const randomLenNum = (len, date) => {\r\n let random = ''\r\n random = Math.ceil(Math.random() * 100000000000000).toString().substr(0, len || 4)\r\n if (date) random = random + Date.now()\r\n return random\r\n}\r\n"]}]}