/** * 演示新的统一插入功能的使用示例 */ import { SenseDataService } from './senseDataService.uts' export class InsertExample { /** * 单个插入示例 */ static async insertSingleMeasurement() { const data = new UTSJSONObject() data.set('device_id', 'device_001') data.set('user_id', 'user_001') data.set('measurement_type', 'heart_rate') data.set('measured_at', new Date().toISOString()) data.set('unit', 'bpm') const rawData = new UTSJSONObject() rawData.set('value', 75) data.set('raw_data', rawData) // 使用统一的 createMeasurement 方法 - 自动检测为单个插入 const result = await SenseDataService.createMeasurement(data) if (result.success) { console.log('单个插入成功:', result.data) } else { console.log('单个插入失败:', result.msg) } return result } /** * 批量插入示例 */ static async insertBatchMeasurements() { const dataList: Array = [] // 创建多个测量数据 for (let i = 0; i < 5; i++) { const data = new UTSJSONObject() data.set('device_id', 'device_001') data.set('user_id', 'user_001') data.set('measurement_type', 'steps') data.set('measured_at', new Date(Date.now() - i * 60000).toISOString()) // 每分钟一个数据点 data.set('unit', 'steps') const rawData = new UTSJSONObject() rawData.set('value', 1000 + i * 100) data.set('raw_data', rawData) dataList.push(data) } // 使用统一的 createMeasurement 方法 - 自动检测为批量插入 const result = await SenseDataService.createMeasurement(dataList) if (result.success) { console.log('批量插入成功,插入条数:', Array.isArray(result.data) ? result.data.length : 1) } else { console.log('批量插入失败:', result.msg) } return result } /** * 使用 bindDevice 方法插入设备数据 */ static async insertDeviceData() { const deviceData = new UTSJSONObject() deviceData.set('user_id', 'user_001') deviceData.set('device_type', 'smartwatch') deviceData.set('device_name', 'Apple Watch') deviceData.set('device_mac', 'AA:BB:CC:DD:EE:FF') deviceData.set('status', 'online') const extra = new UTSJSONObject() extra.set('model', 'Series 9') extra.set('version', '10.1') deviceData.set('extra', extra) // 使用 bindDevice 方法 const result = await SenseDataService.bindDevice(deviceData) if (result.success) { console.log('设备数据插入成功:', result.data) } else { console.log('设备数据插入失败:', result.msg) } return result } }