2025-03-26 11:34:28 +08:00
|
|
|
import { GetCurrentTime } from '../Common'
|
2025-03-26 15:00:27 +08:00
|
|
|
import FileUtils from '../FileUtils'
|
|
|
|
|
import common from '@ohos.app.ability.common'
|
2024-08-22 13:59:33 +08:00
|
|
|
|
|
|
|
|
|
2025-03-26 11:34:28 +08:00
|
|
|
export default class GetDistance {
|
2024-08-22 13:59:33 +08:00
|
|
|
public folderPath: string
|
|
|
|
|
public timeStr: string
|
|
|
|
|
public totalDistance: number
|
2025-03-26 11:34:28 +08:00
|
|
|
public totalTime: number
|
2024-08-22 13:59:33 +08:00
|
|
|
public date: string
|
2024-12-29 21:43:12 +08:00
|
|
|
public fd: number
|
2025-03-26 15:00:27 +08:00
|
|
|
//后续文件路径待替换
|
|
|
|
|
private fileUtil: FileUtils
|
2024-08-22 13:59:33 +08:00
|
|
|
// 设置文件夹
|
2025-03-26 11:34:28 +08:00
|
|
|
public initFolder = async () => {
|
|
|
|
|
const time = await GetCurrentTime()
|
2025-03-26 15:00:27 +08:00
|
|
|
const folderPath = await this.fileUtil.initFolder(`/车辆行驶距离统计`);
|
2025-03-26 11:34:28 +08:00
|
|
|
console.info('surenjun folderPath=>', folderPath);
|
2024-08-22 13:59:33 +08:00
|
|
|
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;
|
2025-03-26 15:00:27 +08:00
|
|
|
this.fd = await this.fileUtil.editFile(
|
2025-03-26 11:34:28 +08:00
|
|
|
`${folderPath}/${date}.txt`,
|
|
|
|
|
`程序启动时间:${timeStr} 累计行驶距离:${this.totalDistance}m 累计运行时常:${this.totalTime}min`, this.fd
|
2024-08-22 13:59:33 +08:00
|
|
|
);
|
|
|
|
|
return folderPath
|
|
|
|
|
}
|
2025-03-26 11:34:28 +08:00
|
|
|
|
2025-03-26 15:00:27 +08:00
|
|
|
constructor(context: common.UIAbilityContext) {
|
|
|
|
|
const fileUtil = new FileUtils(context)
|
2025-03-26 11:34:28 +08:00
|
|
|
this.fileUtil = fileUtil;
|
|
|
|
|
}
|
2024-08-22 13:59:33 +08:00
|
|
|
|
|
|
|
|
// 过程文件数据
|
2025-03-26 11:34:28 +08:00
|
|
|
public setTimeData = async (str: number) => {
|
2025-03-26 15:00:27 +08:00
|
|
|
// const { fileUtil, folderPath, timeStr, date, totalDistance } = this;
|
|
|
|
|
console.log('folderPath', this.folderPath)
|
|
|
|
|
const content = await this.fileUtil.readFile(`${this.folderPath}/${this.date}.txt`) || '';
|
2024-08-22 13:59:33 +08:00
|
|
|
const contentArr = content.split('\n').filter(item => item)
|
2025-03-26 11:34:28 +08:00
|
|
|
console.info('surenjun contentArr', JSON.stringify(contentArr))
|
|
|
|
|
this.totalDistance += (str * 1 > 200 ? 200 : str * 1)
|
2024-08-26 16:07:11 +08:00
|
|
|
this.totalTime += 1;
|
2025-03-26 11:34:28 +08:00
|
|
|
contentArr[contentArr.length - 1] =
|
2025-03-26 15:00:27 +08:00
|
|
|
`程序启动时间:${this.timeStr} 累计行驶距离:${(this.totalDistance).toFixed(2)}m 累计运行时常:${Math.ceil(this.totalTime /
|
2025-03-26 11:34:28 +08:00
|
|
|
60)}min` + '\n'
|
|
|
|
|
console.info('surenjun', contentArr.join('\n'))
|
2025-03-26 15:00:27 +08:00
|
|
|
console.log('folderPath', this.folderPath, this.date)
|
2024-12-17 17:27:07 +08:00
|
|
|
this.uploadData()
|
2024-10-28 13:47:03 +08:00
|
|
|
|
2024-12-17 17:27:07 +08:00
|
|
|
// await fileUtil.addFile(
|
|
|
|
|
// `${folderPath}/${date}.txt`,contentArr.join('\n')
|
|
|
|
|
// );
|
2024-08-22 13:59:33 +08:00
|
|
|
}
|
2024-10-11 13:47:24 +08:00
|
|
|
//上传行驶里程数据
|
|
|
|
|
uploadData = async () => {
|
2025-03-26 11:34:28 +08:00
|
|
|
setInterval(() => {
|
2025-03-26 15:00:27 +08:00
|
|
|
// const { carId } = AppStorage.get<CarInfoType>('carInfo');
|
|
|
|
|
// const { date, timeStr, totalDistance } = this;
|
2024-12-24 16:43:59 +08:00
|
|
|
return
|
2024-10-11 13:47:24 +08:00
|
|
|
//"carid":"1001","startTime":"2024-08-24 08:09:01","time":"111233", "mileage":"1222"
|
2025-03-26 15:00:27 +08:00
|
|
|
|
2025-03-26 11:34:28 +08:00
|
|
|
}, 5000)
|
2024-10-11 13:47:24 +08:00
|
|
|
}
|
2024-08-22 13:59:33 +08:00
|
|
|
}
|