methodsTool.js 7.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231
  1. import * as baseUrls from "@/utils/request.js";
  2. import router from '@/router/index'//引入路由对象
  3. export default {
  4. getUrl() {
  5. return baseUrls.BASE_IMG_URL + '/'
  6. },
  7. isLogin() {
  8. if (uni.getStorageSync('union_id')) {
  9. return true;
  10. } else {
  11. return false
  12. }
  13. },
  14. splitImgHost(url) {
  15. if (!url) {
  16. return ''
  17. }
  18. if (url.indexOf("http") != -1 || url.indexOf("https") != -1 || url.indexOf("base64") != -1) {
  19. return url;
  20. }
  21. return baseUrls.BASE_IMG_URL + '/' + url
  22. },
  23. onlyForma(timeStamp, Diszing = true) {
  24. if (!timeStamp) {
  25. return
  26. }
  27. var date = new Date(timeStamp * 1000); //时间戳为10位需*1000,时间戳为13位的话不需乘1000
  28. var Y = date.getFullYear() + '-';
  29. var M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-';
  30. var D = date.getDate() < 10 ? '0' + date.getDate() : date.getDate();
  31. var h = (date.getHours() < 10 ? '0' + date.getHours() : date.getHours()) + ':';
  32. var m = (date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes()) + ':';
  33. var s = date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds();
  34. if (Diszing) {
  35. return Y + M + D + ' ' + h + m + s; //时分秒可以根据自己的需求加上
  36. }
  37. return Y + M + D;
  38. },
  39. //判断是否为数字
  40. isNotANumber(inputData) {
  41. //isNaN(inputData)不能判断空串或一个空格
  42. //如果是一个空串或是一个空格,而isNaN是做为数字0进行处理的,而parseInt与parseFloat是返回一个错误消息,这个isNaN检查不严密而导致的。
  43. if (parseFloat(inputData).toString() == "NaN") {
  44. //alert("请输入数字……");注掉,放到调用时,由调用者弹出提示。
  45. return false;
  46. } else {
  47. return true;
  48. }
  49. },
  50. //判断是否为数组
  51. isArrayFn(o) {
  52. return Object.prototype.toString.call(o) === '[object Array]';
  53. },
  54. computedAge(birthday) {
  55. let birthDayTime = new Date(birthday).getTime();
  56. //当前时间 毫秒
  57. let nowTime = new Date().getTime();
  58. //一年毫秒数(365 * 86400000 = 31536000000)
  59. return Math.ceil((nowTime - birthDayTime) / 31536000000);
  60. },
  61. time10to13(time, int) {
  62. if (time === null) {
  63. return null
  64. }
  65. // int = 1 为13转10
  66. // int = 2 为10转13
  67. if (int === 1) {
  68. return parseInt(time / 1000)
  69. } else {
  70. return parseInt(time * 1000)
  71. }
  72. },
  73. //计算两个时间之间的时间差 多少天时分秒
  74. intervalTime(startTime, endTime) {
  75. // var timestamp=new Date().getTime(); //计算当前时间戳
  76. var timestamp = (Date.parse(new Date())) / 1000;//计算当前时间戳 (毫秒级)
  77. var date1 = ""; //开始时间
  78. if (timestamp < startTime) {
  79. date1 = startTime;
  80. } else {
  81. date1 = timestamp; //开始时间
  82. }
  83. var date2 = endTime; //结束时间
  84. // var date3 = date2.getTime() - date1.getTime(); //时间差的毫秒数
  85. var date3 = (date2 - date1) * 1000; //时间差的毫秒数
  86. //计算出相差天数
  87. var days = Math.floor(date3 / (24 * 3600 * 1000));
  88. //计算出小时数
  89. //2021-11-15 10:48:07 2021-11-15 17:34:39 406分钟
  90. var leave1 = date3 % (24 * 3600 * 1000); //计算天数后剩余的毫秒数
  91. var hours = Math.floor(leave1 / (3600 * 1000));
  92. //计算相差分钟数
  93. var leave2 = leave1 % (3600 * 1000); //计算小时数后剩余的毫秒数
  94. var minutes = Math.floor(leave2 / (60 * 1000));
  95. //计算相差秒数
  96. var leave3 = leave2 % (60 * 1000); //计算分钟数后剩余的毫秒数
  97. var seconds = Math.round(leave3 / 1000);
  98. console.log(days + "天 " + hours + "小时 ")
  99. // return days + "天 " + hours + "小时 " + minutes + " 分钟" + seconds + " 秒"
  100. return days + "天 " + hours + "小时 "
  101. },
  102. //计算两个时间之间的时间差 多少天时分秒
  103. newTime(endTime) {
  104. if (!endTime) {
  105. return '-'
  106. }
  107. var date1 = (Date.parse(new Date())) / 1000; //开始时间
  108. if (date1 > endTime) {
  109. return '0'
  110. }
  111. var date2 = endTime; //结束时间
  112. // var date3 = date2.getTime() - date1.getTime(); //时间差的毫秒数
  113. var date3 = (date2 - date1) * 1000; //时间差的毫秒数
  114. //计算出相差天数
  115. var days = Math.floor(date3 / (24 * 3600 * 1000));
  116. //计算出小时数
  117. //2021-11-15 10:48:07 2021-11-15 17:34:39 406分钟
  118. var leave1 = date3 % (24 * 3600 * 1000); //计算天数后剩余的毫秒数
  119. var hours = Math.floor(leave1 / (3600 * 1000));
  120. //计算相差分钟数
  121. var leave2 = leave1 % (3600 * 1000); //计算小时数后剩余的毫秒数
  122. var minutes = Math.floor(leave2 / (60 * 1000));
  123. //计算相差秒数
  124. var leave3 = leave2 % (60 * 1000); //计算分钟数后剩余的毫秒数
  125. var seconds = Math.round(leave3 / 1000);
  126. return days + "天" + hours + "小时" + minutes + "分钟" + seconds + "秒"
  127. // return days
  128. },
  129. /**
  130. *
  131. * @param {int} result
  132. * @returns {string}
  133. * @remard 单位S转小时分钟秒
  134. */
  135. secondToDate(result) {
  136. var h = Math.floor(result / 3600) < 10 ? '0' + Math.floor(result / 3600) : Math.floor(result / 3600);
  137. var m = Math.floor((result / 60 % 60)) < 10 ? '0' + Math.floor((result / 60 % 60)) : Math.floor((result / 60 % 60));
  138. var s = Math.floor((result % 60)) < 10 ? '0' + Math.floor((result % 60)) : Math.floor((result % 60));
  139. if (h == 0) {
  140. result = m + ":" + s;
  141. } else {
  142. result = h + ':' + m + ":" + s
  143. }
  144. return result;
  145. },
  146. //JS计算两个时间戳相差月数、天数、时数、分钟、秒数
  147. humandate(time1, time2) {
  148. // var time1 = Date.parse(new Date()) / 1000;
  149. var s = time1 - time2;
  150. if (s < 0) {
  151. s = Math.abs(s);
  152. }
  153. return parseInt(s / 60) + '分钟'
  154. console.log(s)
  155. // if (s > 31536000) {
  156. // return formatDate(new Date(time2 * 1000));
  157. // } else if (s > 2592000) {
  158. // return parseInt(s / 2592000) + '月';
  159. // } else if (s > 86400) {
  160. // return parseInt(s / 86400) + '天';
  161. // } else if (s > 3600) {
  162. // return parseInt(s / 3600) + '小时';
  163. // } else if (s > 60) {
  164. // return parseInt(s / 60) + '分钟';
  165. // } else {
  166. // return parseInt(s) + '秒';
  167. // }
  168. },
  169. //判断是否过期 true过期 false未过期
  170. expiredTime(items) {
  171. var currentTime = parseInt(Date.parse(new Date()) / 1000)
  172. if (currentTime > items) {
  173. return true
  174. } else {
  175. return false
  176. }
  177. },
  178. getQueryVariable(variable) {
  179. var query = window.location.search.substring(1);
  180. var vars = query.split("&");
  181. for (var i = 0; i < vars.length; i++) {
  182. var pair = vars[i].split("=");
  183. if (pair[0] == variable) { return pair[1]; }
  184. }
  185. return (false);
  186. },
  187. setToken(tokenInfo, int) {
  188. var newTime = new Date().getTime()
  189. var ESTime = new Date().getTime() + 1000 * 60 * 60 * 24
  190. var SEVENTime = new Date().getTime() + 1000 * 60 * 60 * 24 * 7
  191. if (int === 1) {
  192. localStorage['Expiration' + this.getQueryVariable('TenantId')] = ESTime
  193. }
  194. if (int === 7) {
  195. localStorage['Expiration' + this.getQueryVariable('TenantId')] = SEVENTime
  196. }
  197. localStorage['token' + this.getQueryVariable('TenantId')] = tokenInfo
  198. },
  199. checkToken() {
  200. var newTime = new Date().getTime()
  201. var Time = localStorage['Expiration' + this.getQueryVariable('TenantId')]
  202. if (newTime > Time) {
  203. localStorage.removeItem('Expiration' + this.getQueryVariable('TenantId'))
  204. localStorage.removeItem('token' + this.getQueryVariable('TenantId'))
  205. setTimeout(() => {
  206. router.replace({
  207. path: `/login?TenantId=${this.getQueryVariable('TenantId')}`
  208. })
  209. }, 500)
  210. return
  211. } else {
  212. return localStorage.getItem('token' + this.getQueryVariable('TenantId'))
  213. }
  214. },
  215. delToken(status) {
  216. localStorage.removeItem('Expiration' + this.getQueryVariable('TenantId'))
  217. localStorage.removeItem('token' + this.getQueryVariable('TenantId'))
  218. if (status) {
  219. setTimeout(() => {
  220. router.replace({
  221. path: `/login?TenantId=${this.getQueryVariable('TenantId')}`
  222. })
  223. }, 500)
  224. }
  225. }
  226. }