✨ feat(projects): 更新删除工程提示并添加存储空间监控
- 修改删除工程确认提示,明确说明会永久删除所有测线和测点数据
- 在连续采集过程中每30秒检查一次磁盘空间,低于100MB时自动停止采集并弹窗提醒
📝 docs(user-manual): 添加完整用户手册
- 新增 TEM Receiver 用户手册,涵盖安装、连接、配置、采集、波形查看、测点管理、剖面分析、工程管理、数据导出导入、主题切换、存储管理及常见问题等全部功能说明
This commit is contained in:
@@ -95,6 +95,9 @@ export function handleIncomingFrame(frame: RawFrame) {
|
||||
let _lastUIUpdateTime = 0;
|
||||
const UI_THROTTLE_MS = 150;
|
||||
let _processing = false;
|
||||
let _lastDiskCheckTime = 0;
|
||||
const DISK_CHECK_INTERVAL_MS = 30000;
|
||||
const MIN_FREE_BYTES = 100 * 1024 * 1024; // 100MB
|
||||
|
||||
function processMeasurementPayload(
|
||||
payload: Uint8Array,
|
||||
@@ -126,6 +129,24 @@ function processMeasurementPayload(
|
||||
|
||||
void StorageService.persistFrame(measurementFrame, dataStore.sessionId);
|
||||
|
||||
// Periodic disk space check during continuous acquisition
|
||||
const now2 = Date.now();
|
||||
if (now2 - _lastDiskCheckTime > DISK_CHECK_INTERVAL_MS) {
|
||||
_lastDiskCheckTime = now2;
|
||||
void (async () => {
|
||||
try {
|
||||
const FileSystem = await import('expo-file-system/legacy');
|
||||
const free = await FileSystem.getFreeDiskStorageAsync();
|
||||
if (free < MIN_FREE_BYTES) {
|
||||
const { Alert } = require('react-native');
|
||||
Alert.alert('存储空间不足', `剩余空间不足 100MB,已自动停止采集。\n请清理手机存储或导出数据后删除旧数据。`);
|
||||
void deviceStop();
|
||||
devStore.setDeviceStatus('idle');
|
||||
}
|
||||
} catch {}
|
||||
})();
|
||||
}
|
||||
|
||||
const isSingle = devStore.deviceStatus === 'single';
|
||||
const now = Date.now();
|
||||
if (isSingle || now - _lastUIUpdateTime >= UI_THROTTLE_MS) {
|
||||
|
||||
Reference in New Issue
Block a user