index.js 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227
  1. /**
  2. * 获取系统配置
  3. */
  4. import { getStaticContent } from '@/api/ajax';
  5. import { setConfig } from './auth'
  6. export function getConfigInfor() {
  7. return new Promise((resolve, reject) => {
  8. let MethodName = 'sys_config_manager-GetLogo';
  9. getStaticContent(MethodName, {}).then(res => {
  10. setConfig(res);
  11. resolve(res)
  12. }).catch(err => {
  13. reject(err);
  14. })
  15. })
  16. }
  17. //分:秒转秒
  18. export function timeStrToSen(time) {
  19. if (!time) {
  20. return -1;
  21. }
  22. var pos = time.indexOf(':');
  23. var min = 0,
  24. sec = 0;;
  25. if (pos > 0) {
  26. min = parseInt(time.substring(0, pos));
  27. sec = parseFloat(time.substring(pos + 1))
  28. }
  29. return min * 60 + sec;
  30. }
  31. /**
  32. * Created by PanJiaChen on 16/11/18.
  33. */
  34. /**
  35. * Parse the time to string
  36. * @param {(Object|string|number)} time
  37. * @param {string} cFormat
  38. * @returns {string | null}
  39. */
  40. export function parseTime(time, cFormat) {
  41. if (arguments.length === 0 || !time) {
  42. return null
  43. }
  44. const format = cFormat || '{y}-{m}-{d} {h}:{i}:{s}'
  45. let date
  46. if (typeof time === 'object') {
  47. date = time
  48. } else {
  49. if ((typeof time === 'string')) {
  50. if ((/^[0-9]+$/.test(time))) {
  51. // support "1548221490638"
  52. time = parseInt(time)
  53. } else {
  54. // support safari
  55. // https://stackoverflow.com/questions/4310953/invalid-date-in-safari
  56. time = time.replace(new RegExp(/-/gm), '/')
  57. }
  58. }
  59. if ((typeof time === 'number') && (time.toString().length === 10)) {
  60. time = time * 1000
  61. }
  62. date = new Date(time)
  63. }
  64. const formatObj = {
  65. y: date.getFullYear(),
  66. m: date.getMonth() + 1,
  67. d: date.getDate(),
  68. h: date.getHours(),
  69. i: date.getMinutes(),
  70. s: date.getSeconds(),
  71. a: date.getDay()
  72. }
  73. const time_str = format.replace(/{([ymdhisa])+}/g, (result, key) => {
  74. const value = formatObj[key]
  75. // Note: getDay() returns 0 on Sunday
  76. if (key === 'a') { return ['日', '一', '二', '三', '四', '五', '六'][value] }
  77. return value.toString().padStart(2, '0')
  78. })
  79. return time_str
  80. }
  81. /**
  82. * @param {number} time
  83. * @param {string} option
  84. * @returns {string}
  85. */
  86. export function formatTime(time, option) {
  87. if (('' + time).length === 10) {
  88. time = parseInt(time) * 1000
  89. } else {
  90. time = +time
  91. }
  92. const d = new Date(time)
  93. const now = Date.now()
  94. const diff = (now - d) / 1000
  95. if (diff < 30) {
  96. return '刚刚'
  97. } else if (diff < 3600) {
  98. // less 1 hour
  99. return Math.ceil(diff / 60) + '分钟前'
  100. } else if (diff < 3600 * 24) {
  101. return Math.ceil(diff / 3600) + '小时前'
  102. } else if (diff < 3600 * 24 * 2) {
  103. return '1天前'
  104. }
  105. if (option) {
  106. return parseTime(time, option)
  107. } else {
  108. return (
  109. d.getMonth() +
  110. 1 +
  111. '月' +
  112. d.getDate() +
  113. '日' +
  114. d.getHours() +
  115. '时' +
  116. d.getMinutes() +
  117. '分'
  118. )
  119. }
  120. }
  121. /**
  122. * @param {string} url
  123. * @returns {Object}
  124. */
  125. export function param2Obj(url) {
  126. const search = decodeURIComponent(url.split('?')[1]).replace(/\+/g, ' ')
  127. if (!search) {
  128. return {}
  129. }
  130. const obj = {}
  131. const searchArr = search.split('&')
  132. searchArr.forEach(v => {
  133. const index = v.indexOf('=')
  134. if (index !== -1) {
  135. const name = v.substring(0, index)
  136. const val = v.substring(index + 1, v.length)
  137. obj[name] = val
  138. }
  139. })
  140. return obj
  141. }
  142. export function createComprisonFunction(propertyName) {
  143. return function(object1, object2) {
  144. var value1 = object1[propertyName];
  145. var value2 = object2[propertyName];
  146. if (value1 < value2) {
  147. return -1;
  148. } else if (value1 > value2) {
  149. return 1;
  150. } else {
  151. return 0;
  152. }
  153. }
  154. }
  155. // 混淆数字
  156. export function handleNumber(number) {
  157. let numberArr;
  158. numberArr = [
  159. number - 3,
  160. number - 2,
  161. number - 1,
  162. number + 1,
  163. number + 2,
  164. number + 3,
  165. ];
  166. numberArr = getRandomArrayElements(
  167. numberArr,
  168. 3
  169. );
  170. numberArr.push(number);
  171. numberArr.sort();
  172. return numberArr;
  173. }
  174. export function getRandomArrayElements(arr, count) {
  175. var shuffled = arr.slice(0),
  176. i = arr.length,
  177. min = i - count,
  178. temp,
  179. index;
  180. while (i-- > min) {
  181. index = Math.floor((i + 1) * Math.random());
  182. temp = shuffled[index];
  183. shuffled[index] = shuffled[i];
  184. shuffled[i] = temp;
  185. }
  186. return shuffled.slice(min);
  187. }
  188. //秒数转化为时分秒
  189. export function formatSeconds(value) {
  190. var secondTime = parseInt(value); // 秒
  191. var minuteTime = 0; // 分
  192. var hourTime = 0; // 小时
  193. if (secondTime > 60) { //如果秒数大于60,将秒数转换成整数
  194. //获取分钟,除以60取整数,得到整数分钟
  195. minuteTime = parseInt(secondTime / 60);
  196. //获取秒数,秒数取余,得到整数秒数
  197. secondTime = parseInt(secondTime % 60);
  198. //如果分钟大于60,将分钟转换成小时
  199. if (minuteTime > 60) {
  200. //获取小时,获取分钟除以60,得到整数小时
  201. hourTime = parseInt(minuteTime / 60);
  202. //获取小时后取余的分,获取分钟除以60取余的分
  203. minuteTime = parseInt(minuteTime % 60);
  204. }
  205. }
  206. var result = "" + parseInt(secondTime) + "秒";
  207. if (minuteTime > 0) {
  208. result = "" + parseInt(minuteTime) + "分" + result;
  209. }
  210. if (hourTime > 0) {
  211. result = "" + parseInt(hourTime) + "小时" + result;
  212. }
  213. return result;
  214. }