能耗平台能耗JS-SDK
# 检测器统计接口
接口说明
根据查询条件查询检测器统计。
接口版本
v1接口地址
https://ds.25soft.com/api/check-reduce-records
请求方法
GET
请求参数
参数类型 | 参数名称 | 数据类型 | 是否必须 | 参数描述 | 默认 | 示例 |
---|---|---|---|---|---|---|
query | value.check | string | true | 检测器id | ||
query | value.reduce | string | true | 统计id | ||
query | time | string | false | 时间范围查询字段,必须是设备字段中的时间或时间戳字段名 | value.time | |
query | range | string[] or string | false | 时间范围,开始时间到结束时间,可以是string[]或者以逗号分割的开始时间到结束时间或时间戳 | 2019-10-22T00:00:00.000Z,2022-01-22T00:00:00.000Z | |
query | page | number | false | 分页第几页 | 1 | |
query | limit | number | false | 单页几条数据 | 10 | |
query | sort | string | false | 根据哪个字段排序 | _id | value.time |
query | select | string | false | 只查询部分字段,字段名之间用过空格分隔,去掉某个字段的查询字段名前面加- |
请求参数举例
注意
GET请求所有参数类型都会变成string拼接在url上面,文档为了表述清晰,将示例结构以json格式编写
```json
{
"limit":"5000",
"sort":"value.time",
"time":"value.time",
"value.check": "62873e8a6180a8003dba2e3b",
"value.reduce": "629719619c2dd5003d5fbb8a",
"range[]“: 1654099200000
"range[]": 1654185600000
}
```
// Make sure to add code blocks to your code group
返回参数
参数名称 | 数据类型 | 是否必须 | 参数描述 |
---|---|---|---|
code | number | True | 是否成功 |
data | json | True | 返回数据 |
-total | number | False | 记录总条数 |
-rows | array | False | 记录列表 |
返回参数举例
{
"code": 0,
"data": {
"total": 1,
"rows": [
{
"_id":"629719619c2dd5003d5fbb8a_62873e8a6180a8003dba2e3b_1654099200000",
"value":{
"isSimulation":false,
"value":16.68,
"valueStr":"",
"recordTime":"2022-06-01T16:02:02.572Z",
"check":"62873e8a6180a8003dba2e3b",
"__v":0,
"count":8,
"open":16.6719,
"openTime":"2022-06-01T16:00:00.000Z",
"close":16.7153,"closeTime":"2022-06-01T16:15:00.000Z",
"reduce":"629719619c2dd5003d5fbb8a",
"time":1654099200000,
"jobAt":1654101000042,
"h_value":0.0434
}
}
]
}
}
# 部门统计接口
接口说明
根据查询条件查询部门统计。
接口版本
v1接口地址
/api/power-records
请求方法
GET
请求参数
参数类型 | 参数名称 | 数据类型 | 是否必须 | 参数描述 | 默认 | 示例 |
---|---|---|---|---|---|---|
query | depart | string | true | 部门id | ||
query | type | number | true | 设备类型 0 电表 1 水表 2 气表 | 0 | 0 |
query | time | string | false | 时间范围查询字段,必须是设备字段中的时间或时间戳字段名 | time | |
query | range | string[] or string | false | 时间范围,开始时间到结束时间,可以是string[]或者以逗号分割的开始时间到结束时间或时间戳 | 2019-10-22T00:00:00.000Z,2022-01-22T00:00:00.000Z | |
query | page | number | false | 分页第几页 | 1 | |
query | limit | number | false | 单页几条数据 | 10 | |
query | sort | string | false | 根据哪个字段排序 | _id | time |
query | select | string | false | 只查询部分字段,字段名之间用过空格分隔,去掉某个字段的查询字段名前面加- |
请求参数举例
注意
GET请求所有参数类型都会变成string拼接在url上面,文档为了表述清晰,将示例结构以json格式编写
```json
{
"limit":"5000",
"sort":"time",
"time":"time",
"type": 0,
"depart": "62974058386749454c07f792",
"range[]“: 1654099200000
"range[]": 1654185600000
}
```
// Make sure to add code blocks to your code group
返回参数
参数名称 | 数据类型 | 是否必须 | 参数描述 |
---|---|---|---|
code | number | True | 是否成功 |
data | json | True | 返回数据 |
-total | number | False | 记录总条数 |
-rows | array | False | 记录列表 |
返回参数举例
{
"code": 0,
"data": {
"total": 1,
"rows": [
{
"type": 0,
"complete": false,
"_id": "629819dda3ba6b7fb8b3eccb",
"creator": "6260b945bf7ff83d739f5f23",
"depart": "62974058386749454c07f792",
"open": 20789.3732,
"close": 20805.2294,
"time": 1654131600000,
"h_value": 15.8562,
"createdAt": "2022-06-02T02:01:01.385Z",
"updatedAt": "2022-06-02T02:01:01.385Z",
"__v": 0
}
]
}
}
# 分项统计接口
接口说明
根据查询条件查询部门统计。
接口版本
v1接口地址
/api/subitems/:id/records
请求方法
GET
请求参数
参数类型 | 参数名称 | 数据类型 | 是否必须 | 参数描述 | 默认 | 示例 |
---|---|---|---|---|---|---|
params | id | string | true | 分项id | ||
query | startTime | string | true | 查询起始时间戳 | ||
query | endTime | string | true | 查询结束时间戳 | ||
query | range | string | true | 每条记录的的时间间隔(毫秒)必须为15分钟的倍数 |
请求参数举例
https://energy.25soft.com/api/subitems/6213675529fe33da8dab8d72/records?startTime=1654444800000&endTime=1655049600000&range=3600000
返回参数
参数名称 | 数据类型 | 是否必须 | 参数描述 |
---|---|---|---|
code | number | True | 是否成功 |
data | json | True | 记录列表 |
-_id | number | true | 统计时间戳 |
-h_value | number | true | 统计值 |
返回参数举例
{
"code": 0,
"data": [
{
"_id": 1654668000000,
"h_value": 0.6756
},
{
"_id": 1654700400000,
"h_value": 0.5720000000000001
},
{
"_id": 1654531200000,
"h_value": 0.6642
},
{
"_id": 1654462800000,
"h_value": 0.5833
},
{
"_id": 1654675200000,
"h_value": 0.6216
}
]
}
# statistics.js
引入
检测器统计接口:import { list as getCRReduces } from '@/api/nayotaDb/checkReduceRecords' 部门统计接口:import { list as getPowerReduces } from '@/api/powerRecords'
# 类
ReduceData
# 函数
####init(data_options,time_options,type,[depart]) 初始化赋值
- data_options 数据参数 json
- type 数据类型 string 'check'或'deport'
- rows 查询数据的ID组 array 内容为检测器的对象或部门对象
- time_options 时间参数
- startTime 查询开始时间 可用时间类型或时间戳
- endTime 查询结束时间
- range 每条统计数据间的时间间隔,若数据库查询出数据间隔较小,将会按此间隔合并成合适的数据 number
- type 类型参数 0 电表 1 水表 2 气表
- depart 层级对象id 此参数只有检测器统计查询时需要,也就是data_options.type=check时
# load() 加载数据
return 返回数组 单个数组内容
- h_value 能耗值
- open 开始能耗
- openTime 开始时间
- close 结束能耗
- closeTime 结束时间
# setStartTime(time) 调整开始时间
- time 开始时间
# setEndTime(time) 调整结束时间
- time 结束时间
# setRange(range) 调整间隔
- range 间隔
# prev() 上一段时间的数据 根据startTime-endTime 往前移一个周期 返回内容同load()函数
# next() 下一段时间的数据 根据startTime-endTime 往后移一个周期 返回内容同load()函数
# getData() 返回当前已经load的数据 返回内容同load(),但load函数会去请求数据,getData返回的是已请求到的数据
# 写法示例
const reduceData = new ReduceData() // 实例化对象
reduceData.init({
type: 'check',
rows: ['628725c6ae2f03c359c1cb8a','5dc3e4795b5edb001c2c1314']
}, {
startTime: this.form.date.getTime(), // 开始时间
endTime: this.form.date.getTime() + 86400000, // 结束时间
range: 86400000 // 时间间隔
}, 0, '628489c32c9c046e59091574') // 部门id
let data = await reduceData.load() // 加载数据
reduceData.setStartTime(new Date()) // 调整开始时间
reduceData.setEndTime(new Date()+ 86400000) // 调整结束时间
reduceData.setRange(86400000) // 调整间隔
data = await reduceData.load() // 根据新调整的时间获取数据
data = await reduceData.prev() // 向前1个周期获取数据
data = await reduceData.next() // 向后一个时间获取数据
data = reduceData.getData() // 再次获取已加载数据
上次更新: 2022/06/13, 11:16:28