Files
akmon/pages/sense/insertExample.uts
2026-01-20 08:04:15 +08:00

93 lines
2.5 KiB
Plaintext

/**
* 演示新的统一插入功能的使用示例
*/
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<UTSJSONObject> = []
// 创建多个测量数据
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
}
}