You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

81 lines
2.7 KiB
JavaScript

12 months ago
import config from '../config';
export default {
// 控制字符长度
controlLength: (str, len = 10) => {
if (!str) return "";
if (str.length > len) return str.slice(0, len) + "..."
return str;
},
uploadFile:(chooseImageRes) => {
const tempFilePaths = chooseImageRes.tempFilePaths;
uni.uploadFile({
url:`${config.baseUrl}/upload`,
filePath: tempFilePaths[0],
name: 'file',
header:{
'Authorization':token.value,
'x-token':token.value
},
success: (res) => {
var f_res = JSON.parse(res.data)
// if(f_res.code === 0){
// userInfo.value.avatar = f_res.data
// }
}
});
},
timestampToDate(stamp) { // 时间戳转日期
var time = new Date(stamp);
var y = time.getFullYear();
var m = time.getMonth()+1;
var d = time.getDate();
const date = `${y}-${m}-${d}`
return date
},
datatime(time){ // 获取近五天的日期数组
var myDate = new Date(); //获取当天日期
myDate.setDate(myDate.getDate());
// console.log(myDate.getFullYear())//年
// console.log(myDate.getMonth())//月0-11
// console.log(myDate.getDate())//日
var dateArray = [];
var dateTemp;
var flag = 1;
// 日期格式化
for (var i = 0; i < time; i++) {
let month = 0;
// 月小于10在前面加0因为月从0开始故需+1
if (myDate.getMonth() + 1 < 10) {
month = '0' + (myDate.getMonth() + 1);
} else {
month = myDate.getMonth() + 1;
}
let day = 0;
// 日小于10在前加0
if (myDate.getDate() < 10) {
day = '0' + myDate.getDate();
} else {
day = myDate.getDate();
}
// YY-MM-DD
dateTemp = myDate.getFullYear() + '-' + month + '-' + day;
dateArray.push(dateTemp);
// console.log(dateArray)
//若不加flag则结果都是一个日期当前日期减time天
//日期 +1 天此日期为减time天后的日期
myDate.setDate(myDate.getDate() + flag);
}
return dateArray
},
getDistances(lat1, lng1, lat2, lng2) { // 根据经纬度计算距离,参数分别为第一点的纬度,经度;第二点的纬度,经度
let EARTH_RADIUS = 6378.137;// 地球半径
let radLat1 = lat1 * Math.PI / 180.0; //lat1 * Math.PI / 180.0=>弧度计算
let radLat2 = lat2 * Math.PI / 180.0;
let a = radLat1 - radLat2;
let b = lng1 * Math.PI / 180.0 - lng2 * Math.PI / 180.0;
let s = 2 * Math.asin(Math.sqrt(Math.pow(Math.sin(a / 2), 2) + Math.cos(radLat1) * Math.cos(radLat2) * Math.pow(Math.sin(b / 2), 2)));
s = s * EARTH_RADIUS;
s = Math.round(s * 10000) / 10000;// 输出为公里
return { m: s * 1000, km: Number(s.toFixed(2)) }
}
}