utils.js 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152
  1. import { Linking } from "react-native";
  2. import { showLocation } from 'react-native-map-link'
  3. /**
  4. * 工具集
  5. * @邠心vbe on 2021/04/20
  6. */
  7. const formatNumber = (n) => {
  8. n = n.toString()
  9. return n[1] ? n : '0' + n
  10. }
  11. export default {
  12. getDistance(dis) {
  13. if (dis) {
  14. if (dis > 1000) {
  15. return Number((dis / 1000).toFixed(1)) + 'km';
  16. } else {
  17. return dis + 'm';
  18. }
  19. } else {
  20. return 'NA';
  21. }
  22. },
  23. directMaps(lat, lng, address) {
  24. if (isIOS) {
  25. showLocation({
  26. latitude: lat,
  27. longitude: lng,
  28. title: address
  29. }).catch(err => {
  30. console.warn("directMaps", err);
  31. });
  32. } else {
  33. var uri = "geo:" + lat + "," + lng + "?q=" + address;
  34. Linking.openURL(uri).catch(err => {
  35. console.warn("directMaps", err);
  36. });
  37. }
  38. },
  39. getSiteInfo(obj) {
  40. if (obj) {
  41. return {
  42. id: obj.sitePk,
  43. name: obj.siteName,
  44. address: obj.siteAddress,
  45. latitude: obj.locationLatitude,
  46. longitude: obj.locationLongitude,
  47. acConnector: obj.acConnector,
  48. allConnector: obj.allConnector,
  49. dcConnector: obj.dcConnector,
  50. distance: this.getDistance(obj.distance),
  51. rateList: obj.rates,
  52. siteType: obj.siteType,
  53. parkingFee: obj.parkingFee,
  54. parkingFeeFree: obj.free,
  55. operatingHours: obj.operatingHours,
  56. additionalNotes: obj.additionalNotes,
  57. endlessService: obj.endlessService,
  58. serviceProvider: obj.serviceProvider,
  59. enableReservation: obj.enableReservation
  60. }
  61. } else {
  62. return {id: 0}
  63. }
  64. },
  65. getNowHHmm() {
  66. const now = new Date();
  67. var month = now.getHours();
  68. var minute = now.getMinutes();
  69. return [month, minute].map(formatNumber).join(':');
  70. },
  71. getYYMMdd(date) {
  72. var year = date.getFullYear()
  73. var month = date.getMonth() + 1
  74. var day = date.getDate()
  75. //var hour = date.getHours()
  76. //var minute = date.getMinutes()
  77. //var second = date.getSeconds()
  78. return [year, month, day].map(formatNumber).join('/')
  79. },
  80. formatYYMM(date) {
  81. var year = date.getFullYear()
  82. var month = date.getMonth() + 1
  83. return [year, month].map(formatNumber).join('-')
  84. },
  85. hour2HHmm(hour) {
  86. if (hour) {
  87. if (hour > 0) {
  88. const h = parseInt(hour);
  89. const m = (hour - h) * 60;
  90. return h + ' hr ' + parseInt(m) + 'min';
  91. } else {
  92. const m = hour * 60;
  93. return parseInt(m) + 'min';
  94. }
  95. } else {
  96. return '0 min';
  97. }
  98. },
  99. isEmpty(str, encNo=false) {
  100. if (typeof str == 'number') {
  101. if (encNo) {
  102. return str === 0;
  103. } else {
  104. return false;
  105. }
  106. } else if (str) {
  107. if (typeof str == 'object') {
  108. return Object.keys(str).length == 0;
  109. } else if (Array.isArray(str)) {
  110. return str.length == 0;
  111. } else {
  112. if (str == undefined || str == null || str == "")
  113. return true;
  114. return false;
  115. }
  116. } else {
  117. return true;
  118. }
  119. },
  120. isNotEmpty(str, encNo) {
  121. return !this.isEmpty(str, encNo);
  122. },
  123. getParamsFromUrl(url) {
  124. var params = {}
  125. const list = url.split('&');
  126. for (let item of list) {
  127. if (item.indexOf('=') > 0) {
  128. const param = item.split('=');
  129. if (param.length == 2)
  130. params[param[0]] = param[1];
  131. }
  132. }
  133. return params;
  134. },
  135. join(arrays=[], spect="") {
  136. let str = ''
  137. if (arrays) {
  138. arrays.forEach((item, index) => {
  139. if (index == 0) {
  140. str += item;
  141. } else {
  142. str += spect + item;
  143. }
  144. });
  145. }
  146. return str;
  147. }
  148. }