| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177 |
- import { Linking } from "react-native";
- import { showLocation } from 'react-native-map-link'
- /**
- * 工具集
- * @邠心vbe on 2021/04/20
- */
- const formatNumber = (n) => {
- n = n.toString()
- return n[1] ? n : '0' + n
- }
- export default {
- getDistance(dis) {
- if (dis) {
- if (dis > 1000) {
- return Number((dis / 1000).toFixed(1)) + 'km';
- } else {
- return dis + 'm';
- }
- } else {
- return 'NA';
- }
- },
- directMaps(lat, lng, address) {
- if (isIOS) {
- showLocation({
- latitude: lat,
- longitude: lng,
- title: address
- }).catch(err => {
- console.warn("directMaps", err);
- });
- } else {
- var uri = "geo:" + lat + "," + lng + "?q=" + address;
- Linking.openURL(uri).catch(err => {
- console.warn("directMaps", err);
- });
- }
- },
- getSiteInfo(obj) {
- if (obj) {
- const acRates = [], dcRates = [];
- obj?.rates.forEach((item) => {
- if (item.type?.indexOf('AC') >= 0) {
- acRates.push(item)
- } else {
- dcRates.push(item)
- }
- })
-
- return {
- id: obj.sitePk,
- name: obj.siteName,
- address: obj.siteAddress,
- latitude: obj.locationLatitude,
- longitude: obj.locationLongitude,
- acConnector: obj.acConnector,
- allConnector: obj.allConnector,
- dcConnector: obj.dcConnector,
- distance: this.getDistance(obj.distance),
- acRates: acRates,
- dcRates: dcRates,
- rateList: obj.rates,
- siteType: obj.siteType,
- parkingFee: obj.parkingFee,
- parkingFeeFree: obj.free,
- operatingHours: obj.operatingHours,
- additionalNotes: obj.additionalNotes,
- endlessService: obj.endlessService,
- serviceProvider: obj.serviceProvider,
- enableReservation: obj.enableReservation
- }
- } else {
- return {id: 0}
- }
- },
- getNowHHmm() {
- const now = new Date();
- var month = now.getHours();
- var minute = now.getMinutes();
- return [month, minute].map(formatNumber).join(':');
- },
- getYYMMdd(date) {
- var year = date.getFullYear()
- var month = date.getMonth() + 1
- var day = date.getDate()
-
- //var hour = date.getHours()
- //var minute = date.getMinutes()
- //var second = date.getSeconds()
-
- return [year, month, day].map(formatNumber).join('/')
- },
- formatYYMM(date) {
- var year = date.getFullYear()
- var month = date.getMonth() + 1
- return [year, month].map(formatNumber).join('-')
- },
- hour2HHmm(hour) {
- if (hour) {
- if (hour > 0) {
- const h = parseInt(hour);
- const m = (hour - h) * 60;
- return h + ' hr ' + parseInt(m) + 'min';
- } else {
- const m = hour * 60;
- return parseInt(m) + 'min';
- }
- } else {
- return '0 min';
- }
- },
- minutes2HHmm(minutes) {
- if (minutes) {
- if (minutes > 60) {
- const m = parseInt(minutes);
- const h = m / 60;
- const mm = m % 60;
- return h + ' hr ' + parseInt(mm) + 'min';
- } else {
- return parseInt(minutes) + 'min';
- }
- } else {
- return '0 min';
- }
- },
- isEmpty(str, encNo=false) {
- if (typeof str == 'number') {
- if (encNo) {
- return str === 0;
- } else {
- return false;
- }
- } else if (str) {
- if (typeof str == 'object') {
- return Object.keys(str).length == 0;
- } else if (Array.isArray(str)) {
- return str.length == 0;
- } else {
- if (str == undefined || str == null || str == "")
- return true;
- return false;
- }
- } else {
- return true;
- }
- },
- isNotEmpty(str, encNo) {
- return !this.isEmpty(str, encNo);
- },
- getParamsFromUrl(url) {
- var params = {}
- const list = url.split('&');
- for (let item of list) {
- if (item.indexOf('=') > 0) {
- const param = item.split('=');
- if (param.length == 2)
- params[param[0]] = param[1];
- }
- }
- return params;
- },
- join(arrays=[], spect="") {
- let str = ''
- if (arrays) {
- arrays.forEach((item, index) => {
- if (index == 0) {
- str += item;
- } else {
- str += spect + item;
- }
- });
- }
- return str;
- }
- }
|