config.data.ts
3.65 KB
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
import { BasicColumn, FormSchema } from '/@/components/Table';
import moment from 'moment';
import { h } from 'vue';
// 表格配置
export const columns: BasicColumn[] = [
{
title: '脚本名称',
dataIndex: 'name',
width: 80,
},
{
title: '脚本状态',
dataIndex: 'status',
width: 120,
slots: { customRender: 'status' },
},
{
title: '脚本内容',
dataIndex: 'convertJs',
width: 120,
slots: { customRender: 'convertJs' },
},
{
title: '备注',
dataIndex: 'description',
width: 120,
},
{
title: '创建时间',
dataIndex: 'createTime',
width: 180,
},
];
// 查询配置
export const searchFormSchema: FormSchema[] = [
{
field: 'name',
label: '脚本名称',
component: 'Input',
colProps: { span: 6 },
componentProps: {
maxLength: 36,
placeholder: '请输入配置名称',
},
},
{
field: 'sendTime',
label: '创建时间',
component: 'RangePicker',
componentProps: {
showTime: {
defaultValue: [moment('00:00:00', 'HH:mm:ss'), moment('23:59:59', 'HH:mm:ss')],
},
},
colProps: { span: 6 },
},
];
export const defaultAuthTitle = h('div', { style: 'background:#404040' }, [
h('h3', { style: 'color:white' }, '设备鉴权示例'),
h('h3', { style: 'color:white' }, '输入参数:为16进制字符串'),
h('h3', { style: 'color:white' }, '输出参数:{"password":"","success":""}'),
h('h3', { style: 'color:white' }, 'password为设备鉴权信息,success为鉴权成功后响应给设备的内容'),
]);
export const defaultUpTitle = h('div', { style: 'background:#404040' }, [
h('h3', { style: 'color:white' }, '上行数据解析示例'),
h('h3', { style: 'color:white' }, '输入参数:为字符串'),
h(
'h3',
{ style: 'color:white' },
`输出参数:{"datas":{"source":""},"telemetry":true,"ackMsg":"","deviceName":"","ts":1681701034289}`
),
h(
'h3',
{ style: 'color:white' },
`datas:json对象,属性名为遥测指标或子设备名称
telemetry: datas内容是否为遥测数据
ackMsg: 响应给设备的确认消息
deviceName: 设备名称
ts: 数据采集时间`
),
]);
// TRANSPORT_TCP_DOWN: 'out.datas = "";out.deviceName = "sensor";',
export const defaultScriptTypeContent = {
TRANSPORT_TCP_UP:
'var attrData = {};var teleData = {};teleData.source= params;out.datas = teleData;out.telemetry =true;out.ackMsg = params;out.deviceName = "sensor";out.ts = Date.now();',
TRANSPORT_TCP_AUTH: 'out.password = params;out.success = params;',
};
export const defaultTestUpExample = `
var teleData = {};
/**
* 物模型数据(可选):原始数据
*/
teleData.source= params;
/**
* 直连设备:sensor是产品物模型中所定义属性的标识符
* 网关设备:sensor是网关子设备的设备名称/SN码
*/
teleData.sensor= params+123;
out.datas = teleData;
/**
* 必填:true表示设备上报的遥测数据,false表示命令下发的响应数据
*/
out.telemetry = true;
/**
* 必填:设备或命令下发的唯一标识,设备的唯一标识必须与设备信息的设备名称/SN码一致
*/
out.identifier = "01";
/**
* 可选:服务端收到设备数据后,响应的消息内容
*/
out.ackMsg = params;
/**
* 可选:默认使用服务器时间,可以使用数据内的时间
*/
out.ts = Date.now();
`;
export const defaultTestAuthExample = `
/**
* 必填:设备的访问令牌
*/
out.password = params;
/**
* 选填:设备鉴权成功后响应给设备的信息
*/
out.success = params;
`;