uitl.js 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150
  1. import Vue from 'vue'
  2. //时间戳转时间
  3. export const format = (timeStamp) => {
  4. var date = new Date();
  5. date.setTime(timeStamp * 1);
  6. var y = date.getFullYear();
  7. var m = date.getMonth() + 1;
  8. m = m < 10 ? ('0' + m) : m;
  9. var d = date.getDate();
  10. d = d < 10 ? ('0' + d) : d;
  11. var h = date.getHours();
  12. h = h < 10 ? ('0' + h) : h;
  13. var minute = date.getMinutes();
  14. var second = date.getSeconds();
  15. minute = minute < 10 ? ('0' + minute) : minute;
  16. second = second < 10 ? ('0' + second) : second;
  17. return y + '-' + m + '-' + d + ' ' + h + ':' + minute + ':' + second;
  18. }
  19. //前端生成id
  20. export const genID = (lan, radix) => {
  21. var d = new Date().getTime();
  22. var uuid = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {
  23. var r = (d + Math.random() * 16) % 16 | 0;
  24. d = Math.floor(d / 16);
  25. return (c == 'x' ? r : (r & 0x3 | 0x8)).toString(16);
  26. });
  27. return uuid;
  28. }
  29. export const showTitle = (item, vm) => {
  30. let {
  31. title,
  32. __titleIsFunction__
  33. } = item.meta
  34. if (!title) return
  35. if (useI18n) {
  36. if (title.includes('{{') && title.includes('}}') && useI18n) title = title.replace(/({{[\s\S]+?}})/, (m,
  37. str) => str.replace(/{{([\s\S]*)}}/, (m, _) => vm.$t(_.trim())))
  38. else if (__titleIsFunction__) title = item.meta.title
  39. else title = vm.$t(item.name)
  40. } else title = (item.meta && item.meta.title) || item.name
  41. return title
  42. }
  43. export const routeEqual = (route1, route2) => {
  44. const params1 = route1.params || {}
  45. const params2 = route2.params || {}
  46. const query1 = route1.query || {}
  47. const query2 = route2.query || {}
  48. return (route1.name === route2.name) && objEqual(params1, params2) && objEqual(query1, query2)
  49. }
  50. export const setUserData = (data) => {
  51. console.log(data)
  52. uni.setStorage({
  53. key: "userData",
  54. data: data,
  55. success(res) {
  56. Vue.prototype.$userData = res
  57. }
  58. })
  59. }
  60. export const getUserData = () => {
  61. return new Promise((resolve, reject) => {
  62. uni.getStorage({
  63. key: "userData",
  64. success(res) {
  65. resolve(Object.assign({
  66. code: 0
  67. }, res.data));
  68. },
  69. fail(err) {
  70. console.log(err)
  71. resolve({
  72. code: 999
  73. })
  74. }
  75. })
  76. })
  77. }
  78. export const commonsbinding = () => {
  79. console.log(Vue.prototype.$token)
  80. }
  81. export const dateFormat = (date, format = "YYYY-MM-DD HH:mm:ss") => {
  82. var now = new Date(date)
  83. const config = {
  84. YYYY: now.getFullYear(),
  85. MM: (now.getMonth() + 1).toString().padStart(2, '0'),
  86. DD: (now.getDate()).toString().padStart(2, '0'),
  87. HH: now.getHours().toString().padStart(2, '0'),
  88. mm: now.getMinutes().toString().padStart(2, '0'),
  89. ss: now.getSeconds(),
  90. }
  91. for (const key in config) {
  92. format = format.replace(key, config[key])
  93. }
  94. return format
  95. }
  96. export const getTime = () => {
  97. var date = new Date(),
  98. year = date.getFullYear(),
  99. month = date.getMonth() + 1,
  100. day = date.getDate(),
  101. hour = date.getHours() < 10 ? "0" + date.getHours() : date.getHours(),
  102. minute = date.getMinutes() < 10 ? "0" + date.getMinutes() : date.getMinutes(),
  103. second = date.getSeconds() < 10 ? "0" + date.getSeconds() : date.getSeconds();
  104. month >= 1 && month <= 9 ? (month = "0" + month) : "";
  105. day >= 0 && day <= 9 ? (day = "0" + day) : "";
  106. var timer = year + '-' + month + '-' + day + ' ' + hour + ':' + minute + ':' + second;
  107. return timer;
  108. }
  109. export const getParams = (params) => {
  110. let paramStr = '';
  111. Object.keys(params)
  112. .forEach((item) => {
  113. if (paramStr === '') {
  114. paramStr = `${item}=${params[item]}`;
  115. } else {
  116. paramStr = `${paramStr}&${item}=${params[item]}`;
  117. }
  118. });
  119. console.log(paramStr);
  120. return paramStr;
  121. }
  122. //对象转url参数
  123. export const formateObjToParamStr = (paramObj) => {
  124. function filter(str) { // 特殊字符转义
  125. str += ''; // 隐式转换
  126. str = str.replace(/%/g, '%25');
  127. str = str.replace(/\+/g, '%2B');
  128. str = str.replace(/ /g, '%20');
  129. str = str.replace(/\//g, '%2F');
  130. str = str.replace(/\?/g, '%3F');
  131. str = str.replace(/&/g, '%26');
  132. str = str.replace(/\=/g, '%3D');
  133. str = str.replace(/#/g, '%23');
  134. return str;
  135. }
  136. const sdata = [];
  137. for (let attr in paramObj) {
  138. sdata.push(`${attr}=${filter(paramObj[attr])}`);
  139. }
  140. return sdata.join('&');
  141. }