JetLinks 设备模型说明
设备模型分为: 属性(properties),功能(function),事件(event).
设备模型使用场景:
- 前端通过模型定义动态展示设备运行状态或者设备操作界面
- 服务端可通过统一的API获取设备模型并进行相关操作,如: 在发送设备消息时进行参数校验, 在收到设备消息进行类型转换处理.
数据结构:
```plain text { “id”:”设备ID”, “name”:”设备名称”, “properties”:[…属性], “functions”:[…功能], “events”:[…事件] }
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
## 属性
用于定义设备属性,运行状态等如: 设备SN,当前CPU使用率等. 平台可主动下发消息获取设备属性,设备也通过事件上报属性.
数据结构:
```plain text
{
"id": "cpu_usage", //属性标识
"name": "CPU使用率",
"valueType": { //值类型
"type": "double", //类型标识,见类型表
"maxValue":100,
"minValue":0,
"unit":"percent", //单位
"expands":{"key1":"value1"} //其他自定义拓展定义
},
"expands":{"key1":"value1"} //其他自定义拓展定义
}
功能
用于定义设备功能,平台可主动调用,例如: 播放语音,开关操作等.
数据结构:
```plain text { “id”: “playVoice”, //功能标识 “name”: “播放声音”, //名称 “inputs”: [ //输入参数 { “id”: “text”, “name”: “文字内容”, “valueType”: { //参数类型 “type”: “string” }, “expands”:{“key1”:”value1”} //其他自定义拓展定义 } ], “output”: { //输出 “type”: “boolean” //输出类型 }, “expands”:{“key1”:”value1”} //其他自定义拓展定义 }
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
## 事件
用于定义设备事件, 如: 定时上报设备属性, 设备报警等.
数据结构:
```plain text
{
"id": "fire_alarm", //事件标识
"name": "火警",
"valueType": {
"type": "object", //对象(结构体)类型
"properties": [ //对象属性(结构与属性定义相同)
{
"id": "location",
"name": "地点",
"valueType": {
"type": "string"
}
},
{
"id": "lng",
"name": "经度",
"valueType": {
"type": "double"
},
"expands":{"gis":"lng"} //其他自定义拓展定义
},
{
"id": "lat",
"name": "纬度",
"valueType": {
"type": "double"
},
"expands":{"gis":"lat"} //其他自定义拓展定义
}
]
},
"expands":{"key1":"value1"} //其他自定义拓展定义
}
数据类型
所有类型共有属性:
- id 唯一标识
- name 名称
- description 描述
- expands 自定义配置
数字类型
- int 整型
- long 长整型
- float 单精度浮点型
- double 双精度浮点型 以上均为数字类型,共有属性:
- max 最大值
- min 最小值
- unit 单位
- 例:
```plain text { “type”:”double”, “max”:100, “min”:0, “unit”:”percent”, “expands”:{“readonly”:true} }
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
### boolean 布尔类型
属性
- trueText 为true时的文本,默认为
是
- falseText 为false时的文本,默认为
否
- trueValue 为true时的值,默认为
true
- falseValue 为false时的值,默认为
false
例:
```plain text
{
"type":"boolean",
"trueText":"开启",
"falseText":"关闭",
"trueValue":"1",
"falseValue":"0"
}
string 字符类型
例:
```plain text { “type”:”string”, “expands”:{“maxLen”:”255”} }
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
### enum 枚举类型
属性:
- elements (Element)枚举中的元素
Element:
- value 枚举值
- text 枚举文本
- description 说明
例:
```plain text
{
"type":"enum",
"elements":[
{"value":"1","text":"正常"},
{"value":"-1","text":"警告"},
{"value":"0","text":"未知"}
]
}
date 时间类型
属性:
- format 格式,如: yyyy-MM-dd
- tz 时区,如: Asia/Shanghai
例:
```plain text { “type”:”date”, “format”:”yyyy-MM-dd”, “tz”: “Asia/Shanghai” }
1
2
3
4
5
### password 密码类型
```plain text
与string类型相同
file 文件类型
属性:
- bodyType 类型: url,base64,binary
例:
```plain text { “type”:”file”, “bodyType”:”url” }
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
### array 数组(集合)类型
属性:
- elementType 元素类型
例:
```plain text
{
"type":"array",
"elementType":{
"type":"string"
}
}
object 对象(结构体)类型
属性:- properties 属性列表
例:
```plain text { “type”:”object”, “properties”:[ { “id”: “location”, “name”: “地点”, “valueType”: { “type”: “string” } }, { “id”: “lng”, “name”: “经度”, “valueType”: { “type”: “double” }, “expands”:{“gis”:”lng”} }, { “id”: “lat”, “name”: “纬度”, “valueType”: { “type”: “double” }, “expands”:{“gis”:”lat”} } ] }
1
2
3
4
5
6
7
8
9
10
11
### geoPoint Geo地理位置类型
支持以逗号分割的经纬度字符串以及map类型. 默认支持3种格式转换: 逗号分割字符:145.1214,126.123 ,json格式:{“lat”:145.1214,“lon”:126.123}.
例:
```plain text
{
"type":"geoPoint"
}
%23%20%E7%89%A9%E6%A8%A1%E5%9E%8B%E8%AF%B4%E6%98%8E%0A%0A%5Btoc%5D%0A%0A%E8%AE%BE%E5%A4%87%E6%A8%A1%E5%9E%8B%E5%88%86%E4%B8%BA%3A%20%E5%B1%9E%E6%80%A7(properties)%2C%E5%8A%9F%E8%83%BD(function)%2C%E4%BA%8B%E4%BB%B6(event).%0A%0A%E8%AE%BE%E5%A4%87%E6%A8%A1%E5%9E%8B%E4%BD%BF%E7%94%A8%E5%9C%BA%E6%99%AF%3A%0A%0A1.%20%E5%89%8D%E7%AB%AF%E9%80%9A%E8%BF%87%E6%A8%A1%E5%9E%8B%E5%AE%9A%E4%B9%89%E5%8A%A8%E6%80%81%E5%B1%95%E7%A4%BA%E8%AE%BE%E5%A4%87%E8%BF%90%E8%A1%8C%E7%8A%B6%E6%80%81%E6%88%96%E8%80%85%E8%AE%BE%E5%A4%87%E6%93%8D%E4%BD%9C%E7%95%8C%E9%9D%A2%0A2.%20%E6%9C%8D%E5%8A%A1%E7%AB%AF%E5%8F%AF%E9%80%9A%E8%BF%87%E7%BB%9F%E4%B8%80%E7%9A%84API%E8%8E%B7%E5%8F%96%E8%AE%BE%E5%A4%87%E6%A8%A1%E5%9E%8B%E5%B9%B6%E8%BF%9B%E8%A1%8C%E7%9B%B8%E5%85%B3%E6%93%8D%E4%BD%9C%2C%E5%A6%82%3A%20%E5%9C%A8%E5%8F%91%E9%80%81%E8%AE%BE%E5%A4%87%E6%B6%88%E6%81%AF%E6%97%B6%E8%BF%9B%E8%A1%8C%E5%8F%82%E6%95%B0%E6%A0%A1%E9%AA%8C%2C%20%E5%9C%A8%E6%94%B6%E5%88%B0%E8%AE%BE%E5%A4%87%E6%B6%88%E6%81%AF%E8%BF%9B%E8%A1%8C%E7%B1%BB%E5%9E%8B%E8%BD%AC%E6%8D%A2%E5%A4%84%E7%90%86.%0A%0A%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%3A%0A%0A%60%60%60json%0A%7B%0A%20%20%20%20%22id%22%3A%22%E8%AE%BE%E5%A4%87ID%22%2C%0A%20%20%20%20%22name%22%3A%22%E8%AE%BE%E5%A4%87%E5%90%8D%E7%A7%B0%22%2C%0A%20%20%20%20%22properties%22%3A%5B…%E5%B1%9E%E6%80%A7%5D%2C%0A%20%20%20%20%22functions%22%3A%5B…%E5%8A%9F%E8%83%BD%5D%2C%0A%20%20%20%20%22events%22%3A%5B…%E4%BA%8B%E4%BB%B6%5D%0A%7D%0A%60%60%60%0A%0A%23%23%20%E5%B1%9E%E6%80%A7%0A%0A%E7%94%A8%E4%BA%8E%E5%AE%9A%E4%B9%89%E8%AE%BE%E5%A4%87%E5%B1%9E%E6%80%A7%2C%E8%BF%90%E8%A1%8C%E7%8A%B6%E6%80%81%E7%AD%89%E5%A6%82%3A%20%E8%AE%BE%E5%A4%87SN%2C%E5%BD%93%E5%89%8DCPU%E4%BD%BF%E7%94%A8%E7%8E%87%E7%AD%89.%20%E5%B9%B3%E5%8F%B0%E5%8F%AF%E4%B8%BB%E5%8A%A8%E4%B8%8B%E5%8F%91%E6%B6%88%E6%81%AF%E8%8E%B7%E5%8F%96%E8%AE%BE%E5%A4%87%E5%B1%9E%E6%80%A7%2C%E8%AE%BE%E5%A4%87%E4%B9%9F%E9%80%9A%E8%BF%87%E4%BA%8B%E4%BB%B6%E4%B8%8A%E6%8A%A5%E5%B1%9E%E6%80%A7.%0A%0A%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%3A%0A%0A%60%60%60json%0A%7B%0A%20%20%20%22id%22%3A%20%22cpu_usage%22%2C%20%2F%2F%E5%B1%9E%E6%80%A7%E6%A0%87%E8%AF%86%0A%20%20%20%22name%22%3A%20%22CPU%E4%BD%BF%E7%94%A8%E7%8E%87%22%2C%0A%20%20%20%22valueType%22%3A%20%7B%20%20%20%2F%2F%E5%80%BC%E7%B1%BB%E5%9E%8B%0A%20%20%20%20%20%22type%22%3A%20%22double%22%2C%20%2F%2F%E7%B1%BB%E5%9E%8B%E6%A0%87%E8%AF%86%2C%E8%A7%81%E7%B1%BB%E5%9E%8B%E8%A1%A8%0A%20%20%20%20%20%22maxValue%22%3A100%2C%0A%20%20%20%20%20%22minValue%22%3A0%2C%0A%20%20%20%20%20%22unit%22%3A%22percent%22%2C%20%20%20%20%20%2F%2F%E5%8D%95%E4%BD%8D%0A%20%20%20%20%20%22expands%22%3A%7B%22key1%22%3A%22value1%22%7D%20%2F%2F%E5%85%B6%E4%BB%96%E8%87%AA%E5%AE%9A%E4%B9%89%E6%8B%93%E5%B1%95%E5%AE%9A%E4%B9%89%0A%20%20%20%7D%2C%0A%20%20%20%22expands%22%3A%7B%22key1%22%3A%22value1%22%7D%20%2F%2F%E5%85%B6%E4%BB%96%E8%87%AA%E5%AE%9A%E4%B9%89%E6%8B%93%E5%B1%95%E5%AE%9A%E4%B9%89%0A%20%7D%0A%60%60%60%0A%0A%23%23%20%E5%8A%9F%E8%83%BD%0A%0A%E7%94%A8%E4%BA%8E%E5%AE%9A%E4%B9%89%E8%AE%BE%E5%A4%87%E5%8A%9F%E8%83%BD%2C%E5%B9%B3%E5%8F%B0%E5%8F%AF%E4%B8%BB%E5%8A%A8%E8%B0%83%E7%94%A8%2C%E4%BE%8B%E5%A6%82%3A%20%E6%92%AD%E6%94%BE%E8%AF%AD%E9%9F%B3%2C%E5%BC%80%E5%85%B3%E6%93%8D%E4%BD%9C%E7%AD%89.%0A%0A%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%3A%0A%0A%60%60%60json%0A%7B%0A%20%20%20%22id%22%3A%20%22playVoice%22%2C%20%2F%2F%E5%8A%9F%E8%83%BD%E6%A0%87%E8%AF%86%0A%20%20%20%22name%22%3A%20%22%E6%92%AD%E6%94%BE%E5%A3%B0%E9%9F%B3%22%2C%20%2F%2F%E5%90%8D%E7%A7%B0%0A%20%20%20%22inputs%22%3A%20%5B%20%20%2F%2F%E8%BE%93%E5%85%A5%E5%8F%82%E6%95%B0%0A%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%22id%22%3A%20%22text%22%2C%0A%20%20%20%20%20%20%20%22name%22%3A%20%22%E6%96%87%E5%AD%97%E5%86%85%E5%AE%B9%22%2C%0A%20%20%20%20%20%20%20%22valueType%22%3A%20%7B%20%2F%2F%E5%8F%82%E6%95%B0%E7%B1%BB%E5%9E%8B%0A%20%20%20%20%20%20%20%20%20%22type%22%3A%20%22string%22%0A%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%22expands%22%3A%7B%22key1%22%3A%22value1%22%7D%20%2F%2F%E5%85%B6%E4%BB%96%E8%87%AA%E5%AE%9A%E4%B9%89%E6%8B%93%E5%B1%95%E5%AE%9A%E4%B9%89%0A%20%20%20%20%20%7D%0A%20%20%20%5D%2C%0A%20%20%20%22output%22%3A%20%7B%20%2F%2F%E8%BE%93%E5%87%BA%0A%20%20%20%20%20%22type%22%3A%20%22boolean%22%20%2F%2F%E8%BE%93%E5%87%BA%E7%B1%BB%E5%9E%8B%0A%20%20%20%7D%2C%0A%20%20%20%22expands%22%3A%7B%22key1%22%3A%22value1%22%7D%20%2F%2F%E5%85%B6%E4%BB%96%E8%87%AA%E5%AE%9A%E4%B9%89%E6%8B%93%E5%B1%95%E5%AE%9A%E4%B9%89%0A%20%7D%0A%60%60%60%0A%0A%23%23%20%E4%BA%8B%E4%BB%B6%0A%0A%E7%94%A8%E4%BA%8E%E5%AE%9A%E4%B9%89%E8%AE%BE%E5%A4%87%E4%BA%8B%E4%BB%B6%2C%20%E5%A6%82%3A%20%E5%AE%9A%E6%97%B6%E4%B8%8A%E6%8A%A5%E8%AE%BE%E5%A4%87%E5%B1%9E%E6%80%A7%2C%20%E8%AE%BE%E5%A4%87%E6%8A%A5%E8%AD%A6%E7%AD%89.%0A%0A%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%3A%0A%0A%60%60%60json%0A%7B%0A%20%20%20%22id%22%3A%20%22fire_alarm%22%2C%20%2F%2F%E4%BA%8B%E4%BB%B6%E6%A0%87%E8%AF%86%0A%20%20%20%22name%22%3A%20%22%E7%81%AB%E8%AD%A6%22%2C%0A%20%20%20%22valueType%22%3A%20%7B%0A%20%20%20%20%20%22type%22%3A%20%22object%22%2C%20%20%2F%2F%E5%AF%B9%E8%B1%A1(%E7%BB%93%E6%9E%84%E4%BD%93)%E7%B1%BB%E5%9E%8B%0A%20%20%20%20%20%22properties%22%3A%20%5B%20%20%20%20%2F%2F%E5%AF%B9%E8%B1%A1%E5%B1%9E%E6%80%A7(%E7%BB%93%E6%9E%84%E4%B8%8E%E5%B1%9E%E6%80%A7%E5%AE%9A%E4%B9%89%E7%9B%B8%E5%90%8C)%0A%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%22id%22%3A%20%22location%22%2C%0A%20%20%20%20%20%20%20%20%20%22name%22%3A%20%22%E5%9C%B0%E7%82%B9%22%2C%0A%20%20%20%20%20%20%20%20%20%22valueType%22%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%22type%22%3A%20%22string%22%0A%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%22id%22%3A%20%22lng%22%2C%0A%20%20%20%20%20%20%20%20%20%22name%22%3A%20%22%E7%BB%8F%E5%BA%A6%22%2C%0A%20%20%20%20%20%20%20%20%20%22valueType%22%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%22type%22%3A%20%22double%22%0A%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%22expands%22%3A%7B%22gis%22%3A%22lng%22%7D%20%2F%2F%E5%85%B6%E4%BB%96%E8%87%AA%E5%AE%9A%E4%B9%89%E6%8B%93%E5%B1%95%E5%AE%9A%E4%B9%89%0A%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%22id%22%3A%20%22lat%22%2C%0A%20%20%20%20%20%20%20%20%20%22name%22%3A%20%22%E7%BA%AC%E5%BA%A6%22%2C%0A%20%20%20%20%20%20%20%20%20%22valueType%22%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%22type%22%3A%20%22double%22%0A%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%22expands%22%3A%7B%22gis%22%3A%22lat%22%7D%20%2F%2F%E5%85%B6%E4%BB%96%E8%87%AA%E5%AE%9A%E4%B9%89%E6%8B%93%E5%B1%95%E5%AE%9A%E4%B9%89%0A%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%5D%0A%20%20%20%7D%2C%0A%20%20%20%22expands%22%3A%7B%22key1%22%3A%22value1%22%7D%20%2F%2F%E5%85%B6%E4%BB%96%E8%87%AA%E5%AE%9A%E4%B9%89%E6%8B%93%E5%B1%95%E5%AE%9A%E4%B9%89%0A%7D%0A%60%60%60%0A%0A%23%23%20%E6%95%B0%E6%8D%AE%E7%B1%BB%E5%9E%8B%0A%0A%E6%89%80%E6%9C%89%E7%B1%BB%E5%9E%8B%E5%85%B1%E6%9C%89%E5%B1%9E%E6%80%A7%3A%0A%0A-%20id%20%E5%94%AF%E4%B8%80%E6%A0%87%E8%AF%86%0A-%20name%20%E5%90%8D%E7%A7%B0%0A-%20description%20%E6%8F%8F%E8%BF%B0%0A-%20expands%20%E8%87%AA%E5%AE%9A%E4%B9%89%E9%85%8D%E7%BD%AE%0A%0A%23%23%23%20%E6%95%B0%E5%AD%97%E7%B1%BB%E5%9E%8B%0A%0A1.%20int%20%E6%95%B4%E5%9E%8B%0A%20%20%20%20%0A2.%20long%20%E9%95%BF%E6%95%B4%E5%9E%8B%0A%20%20%20%20%0A3.%20float%20%E5%8D%95%E7%B2%BE%E5%BA%A6%E6%B5%AE%E7%82%B9%E5%9E%8B%0A%20%20%20%20%0A4.%20double%20%E5%8F%8C%E7%B2%BE%E5%BA%A6%E6%B5%AE%E7%82%B9%E5%9E%8B%0A%20%20%20%20%0A%20%20%20%20%E4%BB%A5%E4%B8%8A%E5%9D%87%E4%B8%BA%E6%95%B0%E5%AD%97%E7%B1%BB%E5%9E%8B%2C%E5%85%B1%E6%9C%89%E5%B1%9E%E6%80%A7%3A%0A%20%20%20%20%0A%20%20%20%20-%20max%20%E6%9C%80%E5%A4%A7%E5%80%BC%0A%20%20%20%20-%20min%20%E6%9C%80%E5%B0%8F%E5%80%BC%0A%20%20%20%20-%20unit%20%E5%8D%95%E4%BD%8D%0A%20%20%20%20%0A%20%20%20%20%E4%BE%8B%3A%0A%20%20%20%20%0A%60%60%60json%0A%20%7B%0A%20%20%20%20%20%22type%22%3A%22double%22%2C%0A%20%20%20%20%20%22max%22%3A100%2C%0A%20%20%20%20%20%22min%22%3A0%2C%0A%20%20%20%20%20%22unit%22%3A%22percent%22%2C%0A%20%20%20%20%20%22expands%22%3A%7B%22readonly%22%3Atrue%7D%0A%20%7D%0A%60%60%60%0A%20%20%20%20%0A%0A%23%23%23%20boolean%20%E5%B8%83%E5%B0%94%E7%B1%BB%E5%9E%8B%0A%0A%0A%20%E5%B1%9E%E6%80%A7%0A%20%20-%20trueText%20%E4%B8%BAtrue%E6%97%B6%E7%9A%84%E6%96%87%E6%9C%AC%2C%E9%BB%98%E8%AE%A4%E4%B8%BA%60%E6%98%AF%60%0A%20%20-%20falseText%20%E4%B8%BAfalse%E6%97%B6%E7%9A%84%E6%96%87%E6%9C%AC%2C%E9%BB%98%E8%AE%A4%E4%B8%BA%60%E5%90%A6%60%0A%20%20-%20trueValue%20%20%E4%B8%BAtrue%E6%97%B6%E7%9A%84%E5%80%BC%2C%E9%BB%98%E8%AE%A4%E4%B8%BA%60true%60%0A%20%20-%20falseValue%20%E4%B8%BAfalse%E6%97%B6%E7%9A%84%E5%80%BC%2C%E9%BB%98%E8%AE%A4%E4%B8%BA%60false%60%0A%0A%E4%BE%8B%3A%0A%60%60%60json%0A%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%22type%22%3A%22boolean%22%2C%0A%20%20%20%20%20%20%20%20%22trueText%22%3A%22%E5%BC%80%E5%90%AF%22%2C%0A%20%20%20%20%20%20%20%20%22falseText%22%3A%22%E5%85%B3%E9%97%AD%22%2C%0A%20%20%20%20%20%20%20%20%22trueValue%22%3A%221%22%2C%0A%20%20%20%20%20%20%20%20%22falseValue%22%3A%220%22%0A%20%20%20%20%7D%0A%60%60%60%0A%0A%23%23%23%20string%20%E5%AD%97%E7%AC%A6%E7%B1%BB%E5%9E%8B%0A%0A%0A%20%20%E4%BE%8B%3A%0A%60%60%60json%0A%7B%0A%20%20%20%22type%22%3A%22string%22%2C%0A%20%20%20%22expands%22%3A%7B%22maxLen%22%3A%22255%22%7D%0A%7D%0A%60%60%60%0A%0A%23%23%23%20enum%20%E6%9E%9A%E4%B8%BE%E7%B1%BB%E5%9E%8B%0A%0A%0A%E5%B1%9E%E6%80%A7%3A%0A%20-%20elements%20(Element)%E6%9E%9A%E4%B8%BE%E4%B8%AD%E7%9A%84%E5%85%83%E7%B4%A0%0A%0AElement%3A%0A%20-%20value%20%E6%9E%9A%E4%B8%BE%E5%80%BC%0A%20-%20text%20%E6%9E%9A%E4%B8%BE%E6%96%87%E6%9C%AC%0A%20-%20description%20%E8%AF%B4%E6%98%8E%0A%0A%E4%BE%8B%3A%0A%60%60%60json%0A%7B%0A%20%20%20%20%22type%22%3A%22enum%22%2C%0A%20%20%20%20%22elements%22%3A%5B%0A%20%20%20%20%20%20%20%20%7B%22value%22%3A%221%22%2C%22text%22%3A%22%E6%AD%A3%E5%B8%B8%22%7D%2C%0A%20%20%20%20%20%20%20%20%7B%22value%22%3A%22-1%22%2C%22text%22%3A%22%E8%AD%A6%E5%91%8A%22%7D%2C%0A%20%20%20%20%20%20%20%20%7B%22value%22%3A%220%22%2C%22text%22%3A%22%E6%9C%AA%E7%9F%A5%22%7D%0A%20%20%20%20%5D%0A%7D%0A%60%60%60%0A%0A%23%23%23%20date%20%E6%97%B6%E9%97%B4%E7%B1%BB%E5%9E%8B%0A%0A%0A%E5%B1%9E%E6%80%A7%3A%0A%20%20-%20format%20%E6%A0%BC%E5%BC%8F%2C%E5%A6%82%3A%20%60yyyy-MM-dd%60%0A%20%20-%20tz%20%E6%97%B6%E5%8C%BA%2C%E5%A6%82%3A%20%60Asia%2FShanghai%60%0A%0A%E4%BE%8B%3A%0A%60%60%60json%0A%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%22type%22%3A%22date%22%2C%0A%20%20%20%20%20%20%20%20%22format%22%3A%22yyyy-MM-dd%22%2C%0A%20%20%20%20%20%20%20%20%22tz%22%3A%20%22Asia%2FShanghai%22%0A%20%20%20%20%7D%0A%60%60%60%0A%0A%23%23%23%20password%20%E5%AF%86%E7%A0%81%E7%B1%BB%E5%9E%8B%0A%0A%60%60%60tex%0A%E4%B8%8Estring%E7%B1%BB%E5%9E%8B%E7%9B%B8%E5%90%8C%0A%60%60%60%0A%0A%23%23%23%20file%20%E6%96%87%E4%BB%B6%E7%B1%BB%E5%9E%8B%0A%0A%0A%E5%B1%9E%E6%80%A7%3A%0A%20%20-%20bodyType%20%E7%B1%BB%E5%9E%8B%3A%20url%2Cbase64%2Cbinary%0A%20%20%0A%E4%BE%8B%3A%0A%60%60%60json%0A%20%20%20%20%7B%0A%20%20%20%20%20%20%20%22type%22%3A%22file%22%2C%0A%20%20%20%20%20%20%20%22bodyType%22%3A%22url%22%0A%20%20%20%20%7D%0A%60%60%60%0A%0A%23%23%23%20array%20%E6%95%B0%E7%BB%84(%E9%9B%86%E5%90%88)%E7%B1%BB%E5%9E%8B%0A%0A%0A%E5%B1%9E%E6%80%A7%3A%0A%20%20-%20elementType%20%E5%85%83%E7%B4%A0%E7%B1%BB%E5%9E%8B%0A%20%20%0A%E4%BE%8B%3A%0A%60%60%60json%0A%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%22type%22%3A%22array%22%2C%0A%20%20%20%20%20%20%20%20%22elementType%22%3A%7B%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%22type%22%3A%22string%22%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%60%60%60%0A%0A%23%23%23%20object%20%E5%AF%B9%E8%B1%A1(%E7%BB%93%E6%9E%84%E4%BD%93)%E7%B1%BB%E5%9E%8B%0A%0A%0A%20%E5%B1%9E%E6%80%A7%3A%0A%20%20%20%20-%20properties%20%E5%B1%9E%E6%80%A7%E5%88%97%E8%A1%A8%0A%20%20%20%20%0A%20%E4%BE%8B%3A%0A%60%60%60json%0A%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%22type%22%3A%22object%22%2C%0A%20%20%20%20%20%20%20%20%22properties%22%3A%5B%0A%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%22id%22%3A%20%22location%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%22name%22%3A%20%22%E5%9C%B0%E7%82%B9%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%22valueType%22%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22type%22%3A%20%22string%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%22id%22%3A%20%22lng%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%22name%22%3A%20%22%E7%BB%8F%E5%BA%A6%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%22valueType%22%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22type%22%3A%20%22double%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%22expands%22%3A%7B%22gis%22%3A%22lng%22%7D%0A%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%22id%22%3A%20%22lat%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%22name%22%3A%20%22%E7%BA%AC%E5%BA%A6%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%22valueType%22%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22type%22%3A%20%22double%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22expands%22%3A%7B%22gis%22%3A%22lat%22%7D%0A%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%5D%0A%20%20%20%20%7D%0A%60%60%60%0A%0A%23%23%23%20geoPoint%20Geo%E5%9C%B0%E7%90%86%E4%BD%8D%E7%BD%AE%E7%B1%BB%E5%9E%8B%0A%0A%E6%94%AF%E6%8C%81%E4%BB%A5%E9%80%97%E5%8F%B7%E5%88%86%E5%89%B2%E7%9A%84%E7%BB%8F%E7%BA%AC%E5%BA%A6%E5%AD%97%E7%AC%A6%E4%B8%B2%E4%BB%A5%E5%8F%8Amap%E7%B1%BB%E5%9E%8B.%20%E9%BB%98%E8%AE%A4%E6%94%AF%E6%8C%813%E7%A7%8D%E6%A0%BC%E5%BC%8F%E8%BD%AC%E6%8D%A2%3A%20%E9%80%97%E5%8F%B7%E5%88%86%E5%89%B2%E5%AD%97%E7%AC%A6%3A%60145.1214%2C126.123%60%20%2Cjson%E6%A0%BC%E5%BC%8F%3A%60%7B%22lat%22%3A145.1214%2C%22lon%22%3A126.123%7D%60.%0A%0A%0A%20%20%E4%BE%8B%3A%0A%60%60%60json%0A%20%20%20%20%7B%0A%20%20%20%20%20%20%22type%22%3A%22geoPoint%22%0A%20%20%20%20%7D%0A%60%60%60