Initial commit of akmon project
This commit is contained in:
92
pages/sense/insertExample.uts
Normal file
92
pages/sense/insertExample.uts
Normal file
@@ -0,0 +1,92 @@
|
||||
/**
|
||||
* 演示新的统一插入功能的使用示例
|
||||
*/
|
||||
|
||||
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
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user