2024-08-22 13:59:33 +08:00
|
|
|
import FileUtil from './File'
|
|
|
|
|
import {getCurrentTime} from './tools'
|
2024-10-11 13:47:24 +08:00
|
|
|
import {uploadHarmonyLiCheng} from '../../api/judge'
|
2024-08-22 13:59:33 +08:00
|
|
|
|
|
|
|
|
const LOGTAG = 'GetDistance'
|
|
|
|
|
export default class GetDistance {
|
|
|
|
|
|
|
|
|
|
//后续文件路径待替换
|
|
|
|
|
private fileUtil: FileUtil
|
|
|
|
|
public folderPath: string
|
|
|
|
|
public timeStr: string
|
|
|
|
|
public totalDistance: number
|
2024-08-26 16:07:11 +08:00
|
|
|
public totalTime:number
|
2024-08-22 13:59:33 +08:00
|
|
|
public date: string
|
|
|
|
|
|
|
|
|
|
constructor(context) {
|
|
|
|
|
const fileUtil = new FileUtil(context)
|
2024-10-11 13:47:24 +08:00
|
|
|
this.fileUtil = fileUtil;
|
|
|
|
|
// this.uploadData()
|
2024-08-22 13:59:33 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 设置文件夹
|
|
|
|
|
public initFolder= async () => {
|
|
|
|
|
const {fileUtil} = this
|
|
|
|
|
const time = await getCurrentTime()
|
|
|
|
|
const folderPath = await fileUtil.initFolder(`/车辆行驶距离统计`);
|
|
|
|
|
console.info('surenjun folderPath=>' ,folderPath);
|
|
|
|
|
const date = time.split(' ')[0].split('-').join('_')
|
|
|
|
|
const timeStr = time.split(' ')[1]
|
|
|
|
|
this.timeStr = timeStr
|
|
|
|
|
this.folderPath = folderPath;
|
|
|
|
|
this.totalDistance = 0;
|
2024-08-26 16:07:11 +08:00
|
|
|
this.totalTime = 0;
|
2024-08-22 13:59:33 +08:00
|
|
|
this.date = date;
|
|
|
|
|
await fileUtil.editFile(
|
2024-08-26 16:07:11 +08:00
|
|
|
`${folderPath}/${date}.txt`,`程序启动时间:${timeStr} 累计行驶距离:${this.totalDistance}m 累计运行时常:${this.totalTime}min`
|
2024-08-22 13:59:33 +08:00
|
|
|
);
|
|
|
|
|
return folderPath
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 过程文件数据
|
|
|
|
|
public setTimeData = async (str:number) => {
|
|
|
|
|
const {fileUtil,folderPath,timeStr,date,totalDistance} = this;
|
|
|
|
|
const content = await fileUtil.readFile(`${folderPath}/${date}.txt`) || '';
|
|
|
|
|
const contentArr = content.split('\n').filter(item => item)
|
|
|
|
|
console.info('surenjun contentArr',JSON.stringify(contentArr))
|
2024-08-28 16:39:18 +08:00
|
|
|
this.totalDistance += (str * 1 > 200 ? 200 : str*1)
|
2024-08-26 16:07:11 +08:00
|
|
|
this.totalTime += 1;
|
|
|
|
|
contentArr[contentArr.length - 1] = `程序启动时间:${timeStr} 累计行驶距离:${(this.totalDistance).toFixed(2)}m 累计运行时常:${Math.ceil(this.totalTime/60)}min`+ '\n'
|
2024-08-22 13:59:33 +08:00
|
|
|
console.info('surenjun',contentArr.join('\n'))
|
|
|
|
|
await fileUtil.addFile(
|
|
|
|
|
`${folderPath}/${date}.txt`,contentArr.join('\n')
|
|
|
|
|
);
|
|
|
|
|
}
|
2024-10-11 13:47:24 +08:00
|
|
|
|
|
|
|
|
//上传行驶里程数据
|
|
|
|
|
uploadData = async () => {
|
|
|
|
|
setInterval(()=>{
|
|
|
|
|
const { carId } = globalThis.carInfo;
|
|
|
|
|
const {date,timeStr,totalDistance}= this;
|
|
|
|
|
//"carid":"1001","startTime":"2024-08-24 08:09:01","time":"111233", "mileage":"1222"
|
|
|
|
|
uploadHarmonyLiCheng({
|
|
|
|
|
carid:carId,
|
|
|
|
|
startTime:`${date.split('_').join('-')} ${timeStr}`,
|
|
|
|
|
time:timeStr,
|
|
|
|
|
mileage:totalDistance
|
|
|
|
|
})
|
|
|
|
|
},5000)
|
|
|
|
|
}
|
|
|
|
|
|
2024-08-22 13:59:33 +08:00
|
|
|
}
|