methodsTool.js 7.1 KB

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