2024-02-22 10:40:35 +08:00
|
|
|
|
// @ts-nocheck
|
|
|
|
|
|
import promptAction from '@ohos.promptAction'
|
2024-08-05 09:47:44 +08:00
|
|
|
|
import router from '@ohos.router'
|
2024-12-18 09:14:10 +08:00
|
|
|
|
import { dateFormat, getCurrentTime } from '../utils/tools'
|
2024-02-22 10:40:35 +08:00
|
|
|
|
import FileUtil from '../../common/utils/File'
|
2025-01-02 14:02:53 +08:00
|
|
|
|
import { takePhoto, deleteAllFileByPiC } from '../../common/service/videoService'
|
|
|
|
|
|
// import { VideoConfigData } from '../../mock';
|
2024-12-13 15:32:12 +08:00
|
|
|
|
import fs from '@ohos.file.fs'
|
|
|
|
|
|
import request from '@ohos.request'
|
|
|
|
|
|
import zlib from '@ohos.zlib';
|
2024-05-09 13:42:56 +08:00
|
|
|
|
|
2024-02-22 10:40:35 +08:00
|
|
|
|
import {
|
2024-07-29 09:51:49 +08:00
|
|
|
|
delSyncTable,
|
2024-05-09 13:42:56 +08:00
|
|
|
|
getDataBaseTable,
|
|
|
|
|
|
getMySystemSetTable,
|
2024-07-29 09:51:49 +08:00
|
|
|
|
upDataZhongxinginitialization,
|
|
|
|
|
|
upDateTable
|
2024-02-22 10:40:35 +08:00
|
|
|
|
} from '../../common/service/initable'
|
2024-05-09 13:42:56 +08:00
|
|
|
|
import { GlobalConfig } from '../../config/index'
|
2024-05-16 09:53:10 +08:00
|
|
|
|
import testNapi from '@ohos.hiserialsdk'
|
2024-08-20 09:12:02 +08:00
|
|
|
|
import fs from '@ohos.file.fs';
|
2024-10-28 13:47:03 +08:00
|
|
|
|
|
2024-07-29 09:51:49 +08:00
|
|
|
|
let num = 0
|
|
|
|
|
|
|
2025-01-02 14:02:53 +08:00
|
|
|
|
async function getliushuiNum(data) {
|
|
|
|
|
|
// let data = AppStorage.get('liushuiNo')
|
|
|
|
|
|
if (data) {
|
|
|
|
|
|
num = Number(data) + 1
|
|
|
|
|
|
let str = num.toString()
|
|
|
|
|
|
for (let i = 0; str.length <= 5; i++) {
|
|
|
|
|
|
str = '0' + str
|
|
|
|
|
|
}
|
|
|
|
|
|
globalThis.lshNo = str
|
|
|
|
|
|
} else {
|
|
|
|
|
|
num = 0
|
|
|
|
|
|
let str = num.toString()
|
|
|
|
|
|
for (let i = 0; str.length <= 5; i++) {
|
|
|
|
|
|
str = '0' + str
|
|
|
|
|
|
}
|
|
|
|
|
|
globalThis.lshNo = str
|
|
|
|
|
|
}
|
|
|
|
|
|
console.log('liushuiNo1',globalThis.lshNo)
|
|
|
|
|
|
}
|
2024-12-18 09:14:10 +08:00
|
|
|
|
|
|
|
|
|
|
// 打包当天日志文件
|
|
|
|
|
|
async function compressCurrentLogs() {
|
2024-12-13 15:32:12 +08:00
|
|
|
|
const time = await getCurrentTime();
|
2024-12-18 09:14:10 +08:00
|
|
|
|
const nowDate = time.split(' ')[0].split('-').join('')
|
2024-12-13 15:32:12 +08:00
|
|
|
|
const filenames = await fs.listFile('/data/log/hilog');
|
2024-12-18 09:14:10 +08:00
|
|
|
|
for (let i = 0; i < filenames.length; i++) {
|
|
|
|
|
|
if (filenames[i].split('.')[0] == 'hilog') {
|
|
|
|
|
|
const date = filenames[i].split('.')[2].split('-')[0]
|
|
|
|
|
|
if (date == nowDate) {
|
|
|
|
|
|
fs.copyFileSync('/data/log/hilog/' + filenames[i], globalThis.context.cacheDir + '/temp/' + filenames[i])
|
2024-12-13 15:32:12 +08:00
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
2024-12-18 09:14:10 +08:00
|
|
|
|
}
|
2024-12-13 15:32:12 +08:00
|
|
|
|
|
2024-12-18 09:14:10 +08:00
|
|
|
|
// 将要上传的文件拷贝到缓存目录并压缩
|
|
|
|
|
|
async function getCopyFiles() {
|
|
|
|
|
|
if (!fs.accessSync(globalThis.context.cacheDir + '/temp')) {
|
|
|
|
|
|
fs.mkdirSync(globalThis.context.cacheDir + '/temp')
|
|
|
|
|
|
}
|
|
|
|
|
|
await compressCurrentLogs()
|
2024-12-18 09:31:03 +08:00
|
|
|
|
let now = new Date()
|
|
|
|
|
|
const date = `${now.getFullYear()}_${now.getMonth() + 1}_${now.getDate()}`
|
2024-12-18 09:14:10 +08:00
|
|
|
|
let inFile = '/mnt/hmdfs/100/account/device_view/local/files/logs/' + date;
|
|
|
|
|
|
let outFile = globalThis.context.cacheDir + '/temp/' + date
|
2024-12-18 09:31:03 +08:00
|
|
|
|
if (fs.accessSync(inFile)) {
|
|
|
|
|
|
fs.copyFileSync(inFile, outFile)
|
|
|
|
|
|
}
|
2024-12-18 09:14:10 +08:00
|
|
|
|
await compressFile(globalThis.context.cacheDir + '/temp/', globalThis.context.cacheDir + '/' + 'logs.zip')
|
|
|
|
|
|
fs.rmdirSync(globalThis.context.cacheDir + '/temp');
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
export async function uploadLogFile() {
|
2024-12-18 09:31:03 +08:00
|
|
|
|
let filename = 'logs.zip'
|
2024-12-18 09:14:10 +08:00
|
|
|
|
await getCopyFiles()
|
|
|
|
|
|
let uploadTask: request.UploadTask
|
|
|
|
|
|
let stat = fs.statSync(globalThis.context.cacheDir + '/' + filename)
|
2025-01-02 14:02:53 +08:00
|
|
|
|
console.log('文件大小:' + stat.size / 1024 / 1024)
|
|
|
|
|
|
//globalThis.host
|
2024-12-18 09:14:10 +08:00
|
|
|
|
let uploadConfig: request.UploadConfig = {
|
|
|
|
|
|
header: { 'Accept': '*/*', 'Content-Type': 'multipart/form-data' },
|
2025-01-02 14:02:53 +08:00
|
|
|
|
url: `${globalThis.host}/der2/services/upload?fileName=${filename}`,
|
2024-12-18 09:14:10 +08:00
|
|
|
|
files: [{ filename, name: filename, uri: `internal://cache/${filename}`, type: "zip" }],
|
|
|
|
|
|
data: [{ name: filename, value: filename }],
|
|
|
|
|
|
}
|
|
|
|
|
|
try {
|
|
|
|
|
|
request.uploadFile(globalThis.context, uploadConfig).then((data) => {
|
|
|
|
|
|
uploadTask = data;
|
|
|
|
|
|
uploadTask.on("progress", (size, tot) => {
|
|
|
|
|
|
console.log('progressing上传中', "进度" + size + '/' + tot)
|
|
|
|
|
|
})
|
|
|
|
|
|
uploadTask.on('complete', () => {
|
|
|
|
|
|
console.log('progressing上传完成')
|
2024-12-18 09:31:03 +08:00
|
|
|
|
fs.rmdirSync(globalThis.context.cacheDir + '/' + 'logs.zip');
|
2024-12-18 09:14:10 +08:00
|
|
|
|
})
|
|
|
|
|
|
uploadTask.on("headerReceive", header => {
|
|
|
|
|
|
console.log(JSON.stringify(header))
|
|
|
|
|
|
})
|
|
|
|
|
|
}).catch((e) => {
|
|
|
|
|
|
console.log('progressing上传失败', e)
|
|
|
|
|
|
})
|
|
|
|
|
|
} catch (err) {
|
|
|
|
|
|
console.log('progressing上传失败2', err)
|
|
|
|
|
|
}
|
2024-12-13 15:32:12 +08:00
|
|
|
|
}
|
2024-12-18 09:14:10 +08:00
|
|
|
|
|
|
|
|
|
|
export async function compressFile(inFile, outFile) {
|
|
|
|
|
|
let options: zlib.Options = {
|
|
|
|
|
|
level: zlib.CompressLevel.COMPRESS_LEVEL_DEFAULT_COMPRESSION,
|
|
|
|
|
|
memLevel: zlib.MemLevel.MEM_LEVEL_DEFAULT,
|
|
|
|
|
|
strategy: zlib.CompressStrategy.COMPRESS_STRATEGY_DEFAULT_STRATEGY
|
|
|
|
|
|
};
|
|
|
|
|
|
return zlib.compressFile(inFile, outFile, options)
|
2024-12-13 15:32:12 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
2024-10-28 13:47:03 +08:00
|
|
|
|
export async function deleteAllFIleLog(path) {
|
2024-08-20 09:12:02 +08:00
|
|
|
|
let options = {
|
|
|
|
|
|
"recursion": false,
|
|
|
|
|
|
"listNum": 0,
|
|
|
|
|
|
};
|
2024-08-29 08:10:20 +08:00
|
|
|
|
|
2024-08-21 11:57:03 +08:00
|
|
|
|
let filenames = fs.listFileSync(path, options);
|
2024-10-28 13:47:03 +08:00
|
|
|
|
console.info("listFile succeed", JSON.stringify(filenames));
|
2024-08-20 09:12:02 +08:00
|
|
|
|
for (let i = 0; i < filenames.length; i++) {
|
2024-10-28 13:47:03 +08:00
|
|
|
|
console.info("listFile succeed", JSON.stringify(filenames[i]));
|
2024-08-22 15:24:15 +08:00
|
|
|
|
|
2024-10-28 13:47:03 +08:00
|
|
|
|
if (isSevenDaysAgo(filenames[i])) {
|
|
|
|
|
|
fs.rmdir(path + filenames[i], (err) => {
|
2024-08-20 09:12:02 +08:00
|
|
|
|
if (err) {
|
|
|
|
|
|
console.error("rmdir failed with error message: " + err.message + ", error code: " + err.code);
|
|
|
|
|
|
} else {
|
|
|
|
|
|
console.info("rmdir succeed");
|
|
|
|
|
|
}
|
|
|
|
|
|
});
|
|
|
|
|
|
}
|
|
|
|
|
|
// console.info("filename: %s", filenames[i]);
|
|
|
|
|
|
}
|
2024-07-29 09:51:49 +08:00
|
|
|
|
|
2024-08-20 09:12:02 +08:00
|
|
|
|
}
|
2024-08-29 11:04:10 +08:00
|
|
|
|
|
2024-10-28 13:47:03 +08:00
|
|
|
|
|
2024-12-13 15:32:12 +08:00
|
|
|
|
function isSevenDaysAgo(date, saveDays?) {
|
2024-08-20 09:12:02 +08:00
|
|
|
|
const today = new Date(); // 当前日期
|
|
|
|
|
|
const target = new Date(date); // 需要判断的日期
|
2024-10-28 13:47:03 +08:00
|
|
|
|
console.info("listFile succeed1", JSON.stringify(target));
|
2024-08-20 09:12:02 +08:00
|
|
|
|
const diff = today.getTime() - target.getTime(); // 计算两个日期之间的毫秒数差异
|
|
|
|
|
|
const diffDays = diff / (1000 * 60 * 60 * 24); // 将毫秒转换为天数
|
2024-10-28 13:47:03 +08:00
|
|
|
|
console.info("listFile succeed2", (diffDays));
|
|
|
|
|
|
// 如果差异天数正好是2,则原日期是当前日期的前2天
|
2024-12-13 15:32:12 +08:00
|
|
|
|
return diffDays > (saveDays || 2);
|
2024-08-20 09:12:02 +08:00
|
|
|
|
}
|
2024-10-28 13:47:03 +08:00
|
|
|
|
|
|
|
|
|
|
export async function setVideoParam() {
|
2025-01-02 14:02:53 +08:00
|
|
|
|
// return
|
|
|
|
|
|
// const fileUtil = new FileUtil(context)
|
|
|
|
|
|
// console.log('configconfig',)
|
|
|
|
|
|
// try {
|
|
|
|
|
|
// const data = await this.fileUtil.readFile(GlobalConfig.comoonfileWriteAddress + '/config/config3.txt');
|
|
|
|
|
|
//
|
|
|
|
|
|
// } catch (error) {
|
|
|
|
|
|
// const param: VideoConfig = VideoConfigData
|
|
|
|
|
|
// const folderPath = await fileUtil.initFolder(`/config`);
|
|
|
|
|
|
// fileUtil.addFile(`${folderPath}/config3.txt`, JSON.stringify(param))
|
|
|
|
|
|
// }
|
2024-10-28 13:47:03 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2025-01-02 14:02:53 +08:00
|
|
|
|
let fileFd
|
|
|
|
|
|
|
2024-02-22 10:40:35 +08:00
|
|
|
|
//配置流水号
|
2025-01-02 14:02:53 +08:00
|
|
|
|
export async function setliushuiNum() {
|
|
|
|
|
|
const data = AppStorage.get('liushuiNo')
|
|
|
|
|
|
const liushuiDate = AppStorage.get('liushuiDate')
|
|
|
|
|
|
console.log('liushuiNo',data,'liushuiDate',liushuiDate)
|
|
|
|
|
|
getliushuiNum(data)
|
|
|
|
|
|
if (data&&liushuiDate) {
|
2024-05-09 13:42:56 +08:00
|
|
|
|
const date = new Date()
|
2025-01-02 14:02:53 +08:00
|
|
|
|
const time1 = liushuiDate.split(' ')[0]
|
2024-05-09 13:42:56 +08:00
|
|
|
|
const time2 = dateFormat(date).split(' ')[0]
|
2025-01-02 14:02:53 +08:00
|
|
|
|
if (time1 != time2) {
|
|
|
|
|
|
AppStorage.setOrCreate('liushuiDate', dateFormat(date));
|
|
|
|
|
|
AppStorage.setOrCreate('liushuiNo', '0');
|
|
|
|
|
|
}else{
|
|
|
|
|
|
AppStorage.setOrCreate('liushuiNo', Number(data) + 1);
|
2024-05-09 13:42:56 +08:00
|
|
|
|
}
|
2025-01-02 14:02:53 +08:00
|
|
|
|
} else {
|
2024-02-22 10:40:35 +08:00
|
|
|
|
const date = new Date()
|
2025-01-02 14:02:53 +08:00
|
|
|
|
// PersistentStorage.PersistProp('liushuiNo', 0);
|
|
|
|
|
|
// PersistentStorage.PersistProp('liushuiDate', dateFormat(date));
|
|
|
|
|
|
AppStorage.setOrCreate('liushuiNo', '0');
|
|
|
|
|
|
AppStorage.setOrCreate('liushuiDate', dateFormat(date));
|
2024-05-09 13:42:56 +08:00
|
|
|
|
}
|
2024-02-22 10:40:35 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
//双中心表
|
2024-06-27 20:53:36 +08:00
|
|
|
|
export async function getDoubleCeneterTable(param) {
|
2024-05-09 13:42:56 +08:00
|
|
|
|
return new Promise(async (reslove, reject) => {
|
|
|
|
|
|
// MA_SYSSET双中心下做合并表格操作
|
2024-07-29 14:29:32 +08:00
|
|
|
|
delSyncTable('MA_SYSSET', param.context).then(async () => {
|
|
|
|
|
|
await getDataBaseTable({ tableName: 'MA_SYSSET' }, param)
|
|
|
|
|
|
await getMySystemSetTable({ tableName: 'MA_SYSSET' }, param)
|
|
|
|
|
|
})
|
|
|
|
|
|
|
2024-05-09 13:42:56 +08:00
|
|
|
|
const typeObj = {
|
|
|
|
|
|
'MA_MARKRULE': false,
|
|
|
|
|
|
'MA_SYSTEMPARM': false,
|
|
|
|
|
|
'MA_MAP_COLLECT': false,
|
|
|
|
|
|
'MA_MAP_COLLECT_SHAPE': false,
|
|
|
|
|
|
'MA_MAP_ITEMCLASS': false,
|
|
|
|
|
|
'MA_MAP_POINT': false,
|
|
|
|
|
|
'MA_MAP_POINT_ITEM': false,
|
|
|
|
|
|
'MA_MAP_ROAD': false,
|
|
|
|
|
|
'MA_MAP_ROAD_LANE': false,
|
|
|
|
|
|
'MA_MAP_SUBITEM': false,
|
|
|
|
|
|
'ES_CARINFO': false,
|
|
|
|
|
|
'ES_EXAMPOINTDETAIL': false,
|
|
|
|
|
|
'MA_MARKRULESET': false,
|
|
|
|
|
|
'ES_CAR_VIDEO_PARAMETER': false,
|
|
|
|
|
|
'MA_CDSBINFO': false,
|
|
|
|
|
|
'MA_ITEMINFO': false,
|
|
|
|
|
|
'MA_T_CARPARMSET': false
|
|
|
|
|
|
}
|
|
|
|
|
|
for (let key in typeObj) {
|
2024-08-05 09:47:44 +08:00
|
|
|
|
typeObj[key] = await upDateTable({ tableName: key }, param)
|
2024-05-09 13:42:56 +08:00
|
|
|
|
if (!typeObj[key]) {
|
|
|
|
|
|
promptAction.showToast({
|
|
|
|
|
|
message: `未能查询到${key}表数据, 请先检查网络是否连接正常`,
|
|
|
|
|
|
duration: 3000
|
|
|
|
|
|
});
|
|
|
|
|
|
reslove(false)
|
|
|
|
|
|
return
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
reslove(true)
|
2024-08-05 09:47:44 +08:00
|
|
|
|
router.pushUrl({
|
|
|
|
|
|
url: 'pages/ExaminerLogin',
|
|
|
|
|
|
}, router.RouterMode.Single);
|
2024-05-09 13:42:56 +08:00
|
|
|
|
})
|
2024-02-22 10:40:35 +08:00
|
|
|
|
|
|
|
|
|
|
}
|
2024-07-29 09:51:49 +08:00
|
|
|
|
|
2024-02-22 10:40:35 +08:00
|
|
|
|
//单中心存表
|
2024-06-27 20:53:36 +08:00
|
|
|
|
export async function getSingleCenterTable(param) {
|
2024-05-09 13:42:56 +08:00
|
|
|
|
return new Promise((reslove, reject) => {
|
2024-10-28 13:47:03 +08:00
|
|
|
|
try {
|
2024-08-26 19:27:23 +08:00
|
|
|
|
console.log('teststet0')
|
2024-08-21 11:57:03 +08:00
|
|
|
|
upDataZhongxinginitialization(param).then((result) => {
|
2024-10-28 13:47:03 +08:00
|
|
|
|
console.log('kkkkkkkkkkk', result)
|
2024-08-14 17:26:27 +08:00
|
|
|
|
|
2024-08-21 11:57:03 +08:00
|
|
|
|
if (result) {
|
|
|
|
|
|
reslove(true)
|
|
|
|
|
|
} else {
|
|
|
|
|
|
console.log('联网更新失败,请检查网络后重新更新')
|
|
|
|
|
|
reslove(false)
|
|
|
|
|
|
}
|
|
|
|
|
|
}).catch((error) => {
|
2025-01-02 14:02:53 +08:00
|
|
|
|
reslove({
|
|
|
|
|
|
success:false,
|
|
|
|
|
|
error:error.initializationRsp.head
|
|
|
|
|
|
})
|
2024-08-21 11:57:03 +08:00
|
|
|
|
})
|
2024-10-28 13:47:03 +08:00
|
|
|
|
} catch (e) {
|
2024-05-16 09:53:10 +08:00
|
|
|
|
reslove(false)
|
2024-08-21 11:57:03 +08:00
|
|
|
|
}
|
2024-05-09 13:42:56 +08:00
|
|
|
|
})
|
|
|
|
|
|
|
2024-03-12 15:32:48 +08:00
|
|
|
|
}
|
2024-05-09 13:42:56 +08:00
|
|
|
|
|
|
|
|
|
|
let interval
|
|
|
|
|
|
|
|
|
|
|
|
export async function takePhotoFn(context) {
|
|
|
|
|
|
let param = {
|
|
|
|
|
|
videoNum: '1',
|
|
|
|
|
|
spls: '1',
|
|
|
|
|
|
wz: '0,0',
|
|
|
|
|
|
faceFlag: false,
|
|
|
|
|
|
shuiying: true,
|
|
|
|
|
|
pztd: '2',
|
|
|
|
|
|
ljlx: '',
|
|
|
|
|
|
ip: '192.168.36.94',
|
|
|
|
|
|
port: '554',
|
|
|
|
|
|
userName: 'admin',
|
|
|
|
|
|
pwd: '12345qwe',
|
|
|
|
|
|
td1: '1',
|
|
|
|
|
|
td2: '2',
|
|
|
|
|
|
td3: '3',
|
|
|
|
|
|
td4: '4',
|
|
|
|
|
|
videoRecord1: false,
|
|
|
|
|
|
videoRecord2: true,
|
|
|
|
|
|
videoRecord3: false,
|
|
|
|
|
|
videoRecord4: false,
|
|
|
|
|
|
text1: '',
|
|
|
|
|
|
text2: '',
|
|
|
|
|
|
text3: '',
|
|
|
|
|
|
dolt: '',
|
|
|
|
|
|
fontSize: '',
|
|
|
|
|
|
rlls: '1',
|
|
|
|
|
|
spzd4: false,
|
|
|
|
|
|
spzd3: false,
|
|
|
|
|
|
spzd2: false,
|
|
|
|
|
|
spzd1: false,
|
|
|
|
|
|
zdyz: '5',
|
|
|
|
|
|
}
|
2024-07-29 09:51:49 +08:00
|
|
|
|
globalThis.spzd = {
|
|
|
|
|
|
spzd1: false,
|
|
|
|
|
|
spzd2: false,
|
|
|
|
|
|
spzd3: false,
|
|
|
|
|
|
spzd4: false,
|
2024-05-09 13:42:56 +08:00
|
|
|
|
}
|
|
|
|
|
|
globalThis.takePhotoNum = 0
|
|
|
|
|
|
const map = {}
|
|
|
|
|
|
const fileUtil = new FileUtil(context)
|
|
|
|
|
|
const fileData = await fileUtil.readFile(GlobalConfig.comoonfileWriteAddress + '/config/config3.txt');
|
|
|
|
|
|
console.log('sizesize', fileData)
|
|
|
|
|
|
param = JSON.parse(fileData)
|
2025-01-02 14:02:53 +08:00
|
|
|
|
// console.log('paramparam')
|
2024-05-09 13:42:56 +08:00
|
|
|
|
clearInterval(interval)
|
2024-05-16 09:53:10 +08:00
|
|
|
|
interval = setTimeout(async () => {
|
2024-05-09 13:42:56 +08:00
|
|
|
|
const arr = ['spzd1', 'spzd2', 'spzd3', 'spzd4']
|
|
|
|
|
|
|
|
|
|
|
|
for (let key in map) {
|
|
|
|
|
|
map[key] = false
|
|
|
|
|
|
// param[key] = false
|
|
|
|
|
|
}
|
2024-07-29 09:51:49 +08:00
|
|
|
|
for (let i = 0; i <= arr.length - 1; i++) {
|
2024-08-08 18:09:06 +08:00
|
|
|
|
let key1 = arr[i]
|
|
|
|
|
|
if (param[key1]) {
|
2024-05-09 13:42:56 +08:00
|
|
|
|
param.pztd = param[`td${Number(i) + 1}`]
|
2024-10-28 13:47:03 +08:00
|
|
|
|
takePhoto(param, context, 'jt/', 0, (data) => {
|
|
|
|
|
|
if (data.errorCode != 0) {
|
|
|
|
|
|
console.log('拍照失败')
|
|
|
|
|
|
return
|
|
|
|
|
|
}
|
2024-12-13 15:32:12 +08:00
|
|
|
|
const zdyz = globalThis.param854Str ? Number(globalThis.param854Str) : Number(param.zdyz)
|
2025-01-02 14:02:53 +08:00
|
|
|
|
console.log('takePhototakePhoto', JSON.stringify(data))
|
|
|
|
|
|
|
2024-10-28 17:11:22 +08:00
|
|
|
|
if (Number(data.fileSize) <= (zdyz * 1000)) {
|
2024-08-08 18:09:06 +08:00
|
|
|
|
map[key1] = true
|
2024-05-09 13:42:56 +08:00
|
|
|
|
promptAction.showToast({
|
|
|
|
|
|
message: `视频遮挡`,
|
|
|
|
|
|
duration: 3000
|
|
|
|
|
|
});
|
2024-08-08 18:09:06 +08:00
|
|
|
|
globalThis.spzd[key1] = true
|
2024-05-09 13:42:56 +08:00
|
|
|
|
} else {
|
2024-08-08 18:09:06 +08:00
|
|
|
|
map[key1] = false
|
|
|
|
|
|
globalThis.spzd[key1] = false
|
2024-05-09 13:42:56 +08:00
|
|
|
|
}
|
2024-07-29 09:51:49 +08:00
|
|
|
|
setTimeout(() => {
|
2024-05-16 09:53:10 +08:00
|
|
|
|
takePhotoFn()
|
2024-07-29 09:51:49 +08:00
|
|
|
|
}, 3000)
|
2024-05-09 13:42:56 +08:00
|
|
|
|
})
|
2024-08-08 18:09:06 +08:00
|
|
|
|
|
2024-05-09 13:42:56 +08:00
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
globalThis.takePhotoNum++
|
2024-05-16 09:53:10 +08:00
|
|
|
|
if (globalThis.takePhotoNum >= 20) {
|
2024-05-09 13:42:56 +08:00
|
|
|
|
globalThis.takePhotoNum = 0
|
2024-05-16 09:53:10 +08:00
|
|
|
|
// deleteAllFileByPiC('jt')
|
2024-05-09 13:42:56 +08:00
|
|
|
|
}
|
|
|
|
|
|
}, 3000)
|
2024-05-16 09:53:10 +08:00
|
|
|
|
}
|
2024-07-29 09:51:49 +08:00
|
|
|
|
|
2024-05-16 09:53:10 +08:00
|
|
|
|
let fd
|
2024-07-29 09:51:49 +08:00
|
|
|
|
const devPath = "/dev/ttyS3"
|
|
|
|
|
|
|
2024-05-30 15:52:03 +08:00
|
|
|
|
function openChuankouFn(callback) {
|
2025-01-02 14:02:53 +08:00
|
|
|
|
// console.log('SerialOpen in indexservice, path=' + devPath)
|
2024-05-30 15:52:03 +08:00
|
|
|
|
|
2024-07-29 09:51:49 +08:00
|
|
|
|
testNapi.SerialOpenAsync(devPath, (fd) => {
|
2024-05-30 15:52:03 +08:00
|
|
|
|
globalThis.fd = fd;
|
2024-07-29 09:51:49 +08:00
|
|
|
|
globalThis.num = 0
|
2024-05-30 15:52:03 +08:00
|
|
|
|
let parity = 0x4e; // 'N'
|
|
|
|
|
|
let ret = testNapi.SerialSetAsync(globalThis.fd, 115200, 0, 8, 1, parity, (ret) => {
|
|
|
|
|
|
callback()
|
|
|
|
|
|
});
|
|
|
|
|
|
});
|
2024-05-16 09:53:10 +08:00
|
|
|
|
}
|
2024-05-27 17:25:20 +08:00
|
|
|
|
|
2024-05-16 09:53:10 +08:00
|
|
|
|
function getChuankouFnMsg() {
|
|
|
|
|
|
let timeout = 50000; // 2秒超时
|
|
|
|
|
|
let databuff = [0x61, 0xAA, 0x0A, 0X15, 0X00]; // send ABCDE
|
2025-01-02 14:02:53 +08:00
|
|
|
|
// console.log('fdfd', globalThis.fd)
|
|
|
|
|
|
// console.log('zzc 1 try send msg')
|
2024-07-29 09:51:49 +08:00
|
|
|
|
testNapi.SerialSendAsync(globalThis.fd, databuff, (ret) => {
|
2025-01-02 14:02:53 +08:00
|
|
|
|
// console.log('zzc 2 send finished')
|
|
|
|
|
|
// console.log('zzc 3 try receive msg')
|
2024-05-29 10:13:37 +08:00
|
|
|
|
testNapi.SerialRecvAsync(globalThis.fd, timeout, (revTestInfo) => {
|
2025-01-02 14:02:53 +08:00
|
|
|
|
// console.log('zzc 4 received msg')
|
|
|
|
|
|
// console.log('revTestInfo', revTestInfo.recevedBuf.length)
|
2024-05-16 09:53:10 +08:00
|
|
|
|
|
2024-05-29 10:13:37 +08:00
|
|
|
|
const message = revTestInfo?.recevedBuf?.toString()
|
2025-01-02 14:02:53 +08:00
|
|
|
|
// console.log('chuankou', message)
|
2024-05-29 10:13:37 +08:00
|
|
|
|
if (message == '') {
|
2025-01-02 14:02:53 +08:00
|
|
|
|
// console.log('zzc error msg is emptry')
|
2024-07-29 09:51:49 +08:00
|
|
|
|
globalThis.num = 1
|
2025-01-02 14:02:53 +08:00
|
|
|
|
// console.log('zzc 9 num=3 close serial')
|
2024-05-29 10:13:37 +08:00
|
|
|
|
// clearInterval(chuankou)
|
|
|
|
|
|
testNapi.SerialClose(globalThis.fd);
|
2024-07-29 09:51:49 +08:00
|
|
|
|
globalThis.fd = null
|
2024-05-29 10:13:37 +08:00
|
|
|
|
getChuankouFn()
|
|
|
|
|
|
return
|
|
|
|
|
|
}
|
|
|
|
|
|
const msg = message?.split(',')
|
2024-07-29 09:51:49 +08:00
|
|
|
|
if (!msg?.length) {
|
2024-05-16 09:53:10 +08:00
|
|
|
|
|
2024-05-29 10:13:37 +08:00
|
|
|
|
} else if (msg[0] != '98' || msg[1] != '85' || msg.length < 9) {
|
2024-05-16 09:53:10 +08:00
|
|
|
|
|
2024-07-29 09:51:49 +08:00
|
|
|
|
} else if (msg.length < 12) {
|
2024-05-29 10:13:37 +08:00
|
|
|
|
|
|
|
|
|
|
} else {
|
2024-07-29 09:51:49 +08:00
|
|
|
|
globalThis.chuankoMsg = msg[9]
|
2024-05-29 10:13:37 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
2025-01-02 14:02:53 +08:00
|
|
|
|
// console.log('zzc 5 sleep 1s')
|
2024-07-29 09:51:49 +08:00
|
|
|
|
setTimeout(() => {
|
2024-05-29 10:13:37 +08:00
|
|
|
|
getChuankouFnMsg()
|
2024-07-29 09:51:49 +08:00
|
|
|
|
}, 500)
|
2024-05-29 10:13:37 +08:00
|
|
|
|
|
|
|
|
|
|
// hilog.info(0x0000, 'testTag', 'Test NAPI SerialRecvAsync callback in');
|
|
|
|
|
|
// hilog.info(0x0000, 'testTag', 'Test NAPI SerialRecvAsync recevedLen = %{public}d', revTestInfo.recevedLen);
|
|
|
|
|
|
// hilog.info(0x0000, 'testTag', 'Test NAPI SerialRecvAsync recevedBuf = %{public}s', revTestInfo.recevedBuf.toString());
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
// let revTestInfo = testNapi?.SerialRecv(globalThis.fd, timeout);
|
2024-05-16 09:53:10 +08:00
|
|
|
|
|
|
|
|
|
|
}
|
2024-07-29 09:51:49 +08:00
|
|
|
|
|
2024-05-27 17:25:20 +08:00
|
|
|
|
let chuankou
|
2024-07-29 09:51:49 +08:00
|
|
|
|
|
|
|
|
|
|
export async function getChuankouFn() {
|
|
|
|
|
|
if (globalThis.fd) {
|
2024-05-16 09:53:10 +08:00
|
|
|
|
return
|
|
|
|
|
|
}
|
2024-05-30 15:52:03 +08:00
|
|
|
|
openChuankouFn(getChuankouFnMsg)
|
2024-05-29 10:13:37 +08:00
|
|
|
|
// clearInterval(chuankou)
|
|
|
|
|
|
// chuankou=setInterval(()=>{
|
2024-05-30 15:52:03 +08:00
|
|
|
|
// getChuankouFnMsg()
|
2024-05-29 10:13:37 +08:00
|
|
|
|
// },1000)
|
2024-05-16 09:53:10 +08:00
|
|
|
|
|
2024-05-09 13:42:56 +08:00
|
|
|
|
}
|