util.js.map 5.6 KB

1
  1. {"version":3,"file":"util.js","sources":["common/util.js"],"sourcesContent":["// utils.js\r\n\r\nexport function formatTime(time) {\r\n\tif (typeof time !== 'number' || time < 0) {\r\n\t\treturn time.toString();\r\n\t}\r\n\r\n\tconst hour = Math.floor(time / 3600);\r\n\ttime %= 3600;\r\n\tconst minute = Math.floor(time / 60);\r\n\tconst second = time % 60;\r\n\r\n\treturn [hour, minute, second].map(n => n.toString().padStart(2, '0')).join(':');\r\n}\r\n\r\nexport function formatLocation(longitude, latitude) {\r\n\tif (typeof longitude === 'string' && typeof latitude === 'string') {\r\n\t\tlongitude = parseFloat(longitude);\r\n\t\tlatitude = parseFloat(latitude);\r\n\t}\r\n\r\n\treturn {\r\n\t\tlongitude: longitude.toFixed(2).split('.'),\r\n\t\tlatitude: latitude.toFixed(2).split('.')\r\n\t};\r\n}\r\n\r\nexport const dateUtils = {\r\n\tUNITS: {\r\n\t\t'年': 31557600000,\r\n\t\t'月': 2629800000,\r\n\t\t'天': 86400000,\r\n\t\t'小时': 3600000,\r\n\t\t'分钟': 60000,\r\n\t\t'秒': 1000\r\n\t},\r\n\thumanize(milliseconds) {\r\n\t\tfor (const key in this.UNITS) {\r\n\t\t\tif (milliseconds >= this.UNITS[key]) {\r\n\t\t\t\treturn Math.floor(milliseconds / this.UNITS[key]) + key + '前';\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn '刚刚';\r\n\t},\r\n\tformat(dateStr) {\r\n\t\tconst date = this.parse(dateStr);\r\n\t\tconst diff = Date.now() - date.getTime();\r\n\r\n\t\tif (diff < this.UNITS['天']) {\r\n\t\t\treturn this.humanize(diff);\r\n\t\t}\r\n\r\n\t\tconst _format = number => (number < 10 ? `0${number}` : number);\r\n\r\n\t\treturn `${date.getFullYear()}/${_format(date.getMonth() + 1)}/${_format(date.getDate())} - ${_format(date.getHours())}:${_format(date.getMinutes())}`;\r\n\t},\r\n\tparse(str) { // 将\"yyyy-mm-dd HH:MM:ss\"格式的字符串,转化为一个Date对象\r\n\t\tconst a = str.split(/[^0-9]/);\r\n\t\treturn new Date(a[0], a[1] - 1, a[2], a[3], a[4], a[5]);\r\n\t}\r\n};\r\n\r\nexport function formateDates(datetime, type) {\r\n\tconst year = datetime.getFullYear();\r\n\tconst month = String(datetime.getMonth() + 1).padStart(2, '0');\r\n\tconst date = String(datetime.getDate()).padStart(2, '0');\r\n\tconst hour = String(datetime.getHours()).padStart(2, '0');\r\n\tconst minute = String(datetime.getMinutes()).padStart(2, '0');\r\n\tconst second = String(datetime.getSeconds()).padStart(2, '0');\r\n\r\n\tswitch (type) {\r\n\t\tcase \"Y-M-D h:min:s\":\r\n\t\t\treturn `${year}-${month}-${date} ${hour}:${minute}:${second}`;\r\n\t\tcase \"Y-M-D\":\r\n\t\t\treturn `${year}-${month}-${date}`;\r\n\t\tcase \"h:min:s\":\r\n\t\t\treturn `${hour}:${minute}:${second}`;\r\n\t\tdefault:\r\n\t\t\treturn '';\r\n\t}\r\n}\r\n\r\nexport function deteleObject(obj) {\r\n\tconst uniques = [];\r\n\tconst stringify = {};\r\n\tobj.forEach(item => {\r\n\t\tconst keys = Object.keys(item).sort();\r\n\t\tconst str = keys.map(key => JSON.stringify([key, item[key]])).join('');\r\n\t\tif (!stringify[str]) {\r\n\t\t\tuniques.push(item);\r\n\t\t\tstringify[str] = true;\r\n\t\t}\r\n\t});\r\n\treturn uniques;\r\n}\r\n\r\nexport function formateDate(datetime, type) {\r\n\tconst year = datetime.getFullYear();\r\n\tconst month = String(datetime.getMonth() + 1).padStart(2, '0');\r\n\tconst date = String(datetime.getDate()).padStart(2, '0');\r\n\tconst hour = String(datetime.getHours()).padStart(2, '0');\r\n\tconst minute = String(datetime.getMinutes()).padStart(2, '0');\r\n\tconst second = String(datetime.getSeconds()).padStart(2, '0');\r\n\r\n\tswitch (type) {\r\n\t\tcase \"Y-M-D h:min:s\":\r\n\t\t\treturn `${year}-${month}-${date} ${hour}:${minute}:${second}`;\r\n\t\tcase \"Y-M-D\":\r\n\t\t\treturn `${year}年${month}月${date}日`;\r\n\t\tcase \"h:min:s\":\r\n\t\t\treturn `${hour}:${minute}:${second}`;\r\n\t\tcase \"h\":\r\n\t\t\treturn hour;\r\n\t\tcase \"min\":\r\n\t\t\treturn minute;\r\n\t\tdefault:\r\n\t\t\treturn '';\r\n\t}\r\n}\r\n\r\nexport function randomNum(minNum, maxNum = null) {\r\n\tif (maxNum === null) {\r\n\t\tmaxNum = minNum;\r\n\t\tminNum = 0;\r\n\t}\r\n\treturn Math.floor(Math.random() * (maxNum - minNum + 1)) + minNum;\r\n}\r\n\r\nexport function pointInsideCircle(point, circle, r) {\r\n\tif (r === 0) return false;\r\n\tconst dx = circle[0] - point[0];\r\n\tconst dy = circle[1] - point[1];\r\n\treturn dx * dx + dy * dy <= r * r;\r\n}\r\n\r\nexport function isSameDay(timeStampA) {\r\n\tconst dateA = new Date(timeStampA);\r\n\tconst dateB = new Date();\r\n\treturn dateA.setHours(0, 0, 0, 0) === dateB.setHours(0, 0, 0, 0);\r\n}\r\n\r\nexport function getCurrentMonthFirst() {\r\n\tconst date = new Date();\r\n\tdate.setDate(1);\r\n\treturn `${date.getFullYear()}年${date.getMonth() + 1}月${date.getDate()}日`;\r\n}\r\n\r\nexport function getCurrentMonthLast() {\r\n\tconst date = new Date();\r\n\tdate.setMonth(date.getMonth() + 1, 0);\r\n\treturn `${date.getFullYear()}年${date.getMonth() + 1}月${date.getDate()}日`;\r\n}"],"names":[],"mappings":";AAgGO,SAAS,YAAY,UAAU,MAAM;AAC3C,QAAM,OAAO,SAAS;AACtB,QAAM,QAAQ,OAAO,SAAS,SAAQ,IAAK,CAAC,EAAE,SAAS,GAAG,GAAG;AAC7D,QAAM,OAAO,OAAO,SAAS,QAAS,CAAA,EAAE,SAAS,GAAG,GAAG;AACvD,QAAM,OAAO,OAAO,SAAS,SAAU,CAAA,EAAE,SAAS,GAAG,GAAG;AACxD,QAAM,SAAS,OAAO,SAAS,WAAY,CAAA,EAAE,SAAS,GAAG,GAAG;AAC5D,QAAM,SAAS,OAAO,SAAS,WAAY,CAAA,EAAE,SAAS,GAAG,GAAG;AAE5D,UAAQ,MAAI;AAAA,IACX,KAAK;AACJ,aAAO,GAAG,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,IAAI,MAAM;AAAA,IAC5D,KAAK;AACJ,aAAO,GAAG,IAAI,IAAI,KAAK,IAAI,IAAI;AAAA,IAChC,KAAK;AACJ,aAAO,GAAG,IAAI,IAAI,MAAM,IAAI,MAAM;AAAA,IACnC,KAAK;AACJ,aAAO;AAAA,IACR,KAAK;AACJ,aAAO;AAAA,IACR;AACC,aAAO;AAAA,EACR;AACF;AAiBO,SAAS,UAAU,YAAY;AACrC,QAAM,QAAQ,IAAI,KAAK,UAAU;AACjC,QAAM,QAAQ,oBAAI;AAClB,SAAO,MAAM,SAAS,GAAG,GAAG,GAAG,CAAC,MAAM,MAAM,SAAS,GAAG,GAAG,GAAG,CAAC;AAChE;;;"}