dcim-topology2d 1.0.2 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (49) hide show
  1. package/chart-diagram/src/echarts/index.js +3 -6
  2. package/core/index.d.ts +1 -0
  3. package/core/index.js +1 -0
  4. package/core/src/activeLayer.d.ts +2 -10
  5. package/core/src/activeLayer.js +42 -41
  6. package/core/src/animateLayer.d.ts +3 -7
  7. package/core/src/animateLayer.js +10 -12
  8. package/core/src/calling.d.ts +1 -4
  9. package/core/src/calling.js +38 -41
  10. package/core/src/canvas.d.ts +1 -6
  11. package/core/src/canvas.js +17 -18
  12. package/core/src/common.d.ts +5 -5
  13. package/core/src/common.js +146 -109
  14. package/core/src/core.d.ts +3 -4
  15. package/core/src/core.js +222 -251
  16. package/core/src/divLayer.d.ts +2 -7
  17. package/core/src/divLayer.js +25 -25
  18. package/core/src/healps/changeData.js +20 -3
  19. package/core/src/hoverLayer.d.ts +2 -9
  20. package/core/src/hoverLayer.js +31 -34
  21. package/core/src/models/index.d.ts +0 -1
  22. package/core/src/models/index.js +0 -1
  23. package/core/src/offscreen.d.ts +1 -4
  24. package/core/src/offscreen.js +10 -8
  25. package/core/src/options.js +1 -0
  26. package/core/src/preview.d.ts +1 -13
  27. package/core/src/preview.js +26 -27
  28. package/core/src/renderLayer.d.ts +1 -3
  29. package/core/src/renderLayer.js +26 -31
  30. package/core/src/store/common.d.ts +9 -0
  31. package/core/src/store/common.js +5 -0
  32. package/core/src/store/data.d.ts +126 -0
  33. package/core/src/store/data.js +80 -0
  34. package/core/src/store/index.d.ts +2 -0
  35. package/core/src/store/index.js +2 -0
  36. package/core/src/utils/conversion.d.ts +7 -0
  37. package/core/src/utils/conversion.js +54 -0
  38. package/core/src/utils/dom.d.ts +4 -3
  39. package/myShape-diagram/myShape.js +1 -1
  40. package/package.json +1 -1
  41. package/core/src/models/data.d.ts +0 -26
  42. package/core/src/models/data.js +0 -77
  43. package/core/src/models/data.js.map +0 -1
  44. package/core/src/mqtt.d.ts +0 -14
  45. package/core/src/mqtt.js +0 -82
  46. package/core/src/mqtt.js.map +0 -1
  47. package/core/src/socket.d.ts +0 -10
  48. package/core/src/socket.js +0 -51
  49. package/core/src/socket.js.map +0 -1
@@ -13,22 +13,20 @@ var __extends = (this && this.__extends) || (function () {
13
13
  })();
14
14
  import { Store } from 'le5le-store';
15
15
  import { Canvas } from './canvas';
16
- import {previewType} from './utils/construction'
16
+ import { commonStore } from './store'
17
17
  //let isQttFillStyle = false;
18
18
  var RenderLayer = /** @class */ (function (_super) {
19
19
  __extends(RenderLayer, _super);
20
- function RenderLayer(parentElem, options, TID) {
20
+ function RenderLayer(TID) {
21
21
  //isQttFillStyle = false;
22
- if (options === void 0) { options = {}; }
23
- var _this = _super.call(this, parentElem, options, TID) || this;
24
- _this.parentElem = parentElem;
25
- _this.options = options;
22
+ var _this = _super.call(this, TID) || this;
26
23
  _this.bkImgRect = null;
27
24
  _this.initImage = false;
28
25
  _this.coverType = 'container';
29
26
  _this.bgRect = null;
30
27
  _this.render = function () {
31
- if (_this.data.bkImage && !_this.initImage) {
28
+ if(!commonStore || !commonStore[TID]) return;
29
+ if (commonStore[TID].data.bkImage && !_this.initImage) {
32
30
  _this.loadBkImg(_this.render, 'pixi');
33
31
  return;
34
32
  }
@@ -37,12 +35,8 @@ var RenderLayer = /** @class */ (function (_super) {
37
35
  }
38
36
  var ctx = _this.canvas.getContext('2d');
39
37
  ctx.clearRect(0, 0, _this.canvas.width, _this.canvas.height);
40
- // if (_this.data.pens && _this.data.pens.length > 0 && !isQttFillStyle) {
41
- // _this.data.pens.map((penItem) => {penItem.defaultFillStyle = penItem.fillStyle;})
42
- // isQttFillStyle = true;
43
- // }
44
- if (_this.data.bkColor) {
45
- ctx.fillStyle = _this.data.bkColor;
38
+ if (commonStore[TID].data.bkColor) {
39
+ ctx.fillStyle = commonStore[TID].data.bkColor;
46
40
  ctx.fillRect(0, 0, _this.width, _this.height);
47
41
  }
48
42
  if (_this.bkImg && _this.bkImgRect) {
@@ -52,34 +46,38 @@ var RenderLayer = /** @class */ (function (_super) {
52
46
  ctx.drawImage(_this.offscreen, 0, 0, _this.width, _this.height);
53
47
  };
54
48
  _this.offscreen = Store.get(_this.generateStoreKey('LT:offscreen'));
55
- _this.parentElem.appendChild(_this.canvas);
49
+ commonStore[TID].parentElem.appendChild(_this.canvas);
56
50
  return _this;
57
51
  }
58
52
  RenderLayer.prototype.scale = function (scale, center, w, h){
59
- if(!this.data.bkImage) return;
53
+ const TID = this.TID;
54
+ if(!commonStore || !commonStore[TID]) return;
55
+ const bkImage = commonStore[TID].data.bkImage;
56
+ const bkImageRect = commonStore[TID].data.bkImageRect;
57
+ if(!bkImage) return;
60
58
  if(!center) {
61
- center = this.data.bkImageRect ? this.data.bkImageRect.center : this.bgRect.center;
59
+ center = bkImageRect ? bkImageRect.center : this.bgRect.center;
62
60
  }
63
61
  if (!w) {
64
62
  w = scale;
65
- if(this.data.bkImageRect) {
66
- this.data.bkImageRect.x = center.x - (center.x - this.data.bkImageRect.x) * w;
63
+ if(bkImageRect) {
64
+ bkImageRect.x = center.x - (center.x - bkImageRect.x) * w;
67
65
  }else {
68
66
  this.bgRect.x = center.x - (center.x - this.bgRect.x) * w;
69
67
  }
70
68
  }
71
69
  if (!h) {
72
70
  h = scale;
73
- if(this.data.bkImageRect){
74
- this.data.bkImageRect.y = center.y - (center.y - this.data.bkImageRect.y) * h;
71
+ if(bkImageRect){
72
+ bkImageRect.y = center.y - (center.y - bkImageRect.y) * h;
75
73
  }else {
76
74
  this.bgRect.y = center.y - (center.y - this.bgRect.y) * h;
77
75
  }
78
76
  }
79
- if(this.data.bkImageRect) {
80
- this.data.bkImageRect.width *= w;
81
- this.data.bkImageRect.height *= h;
82
- this.bkImgRect = this.data.bkImageRect;
77
+ if(bkImageRect) {
78
+ bkImageRect.width *= w;
79
+ bkImageRect.height *= h;
80
+ this.bkImgRect = bkImageRect;
83
81
  }else {
84
82
  if(this.initImage) {
85
83
  this.bgRect.width *= w;
@@ -90,12 +88,13 @@ var RenderLayer = /** @class */ (function (_super) {
90
88
  };
91
89
  RenderLayer.prototype.loadBkImg = function (cb, pixi) {
92
90
  var _this = this;
93
- if (!this.data.bkImage || this.initImage) {
91
+ const bkImage = commonStore[_this.TID].data.bkImage;
92
+ if (!bkImage || this.initImage) {
94
93
  return;
95
94
  }
96
95
  this.bkImg = new Image();
97
96
  this.bkImg.crossOrigin = 'anonymous';
98
- this.bkImg.src = this.data.bkImage;
97
+ this.bkImg.src = bkImage;
99
98
  this.bkImg.onload = function () {
100
99
  if(pixi && !_this.bkImgRect) {
101
100
  _this.bkImgRectResize({width: _this.canvas.width, height: _this.canvas.height});
@@ -149,7 +148,7 @@ var RenderLayer = /** @class */ (function (_super) {
149
148
  };
150
149
 
151
150
  RenderLayer.prototype.bkImgRectResize = function (size) {
152
- const bkImageRect = this.data.bkImageRect;
151
+ const bkImageRect = commonStore[this.TID].bkImageRect;
153
152
  if(!size) return;
154
153
  if(bkImageRect) {
155
154
  let x = bkImageRect.x ? Number(bkImageRect.x) : 0;
@@ -170,16 +169,12 @@ var RenderLayer = /** @class */ (function (_super) {
170
169
 
171
170
  RenderLayer.prototype.destroy = function() {
172
171
 
173
- this.data = null;
174
-
175
172
  this.canvas = null;
176
173
 
177
174
  this.render = null;
178
175
 
179
176
  this.offscreen = null;
180
177
 
181
- this.options = null;
182
-
183
178
  }
184
179
  return RenderLayer;
185
180
  }(Canvas));
@@ -0,0 +1,9 @@
1
+ import { Pen } from '../models';
2
+ // @ts-ignore
3
+ export const commonStore: {
4
+ canvasDraws: {
5
+ [key: string]: (ctx: CanvasRenderingContext2D, pen: Pen) => void;
6
+ };
7
+ anchors: { [key: string]: (pen: Pen) => void };
8
+ htmlElements: { [key: string]: HTMLDivElement }; // html元素
9
+ };
@@ -0,0 +1,5 @@
1
+ export var commonStore = {
2
+ canvasDraws: {},
3
+ anchors: {},
4
+ htmlElements: {}
5
+ };
@@ -0,0 +1,126 @@
1
+ // @ts-ignore
2
+ import { default as mitt, Emitter } from 'mitt';
3
+ import { Pen, Lock } from '../models';
4
+ import {Options, DefalutOptions} from '../options';
5
+ import {s8} from '../utils';
6
+ import { commonStore } from './common'
7
+ // 2D可视化的data数据
8
+ export interface visualization2DData {
9
+ pens: Pen[];
10
+ lineName: string;
11
+ fromArrowType: string;
12
+ toArrowType: string;
13
+ scale: number;
14
+ locked: Lock;
15
+ bkImage: string;
16
+ bkColor: string;
17
+ grid?: boolean;
18
+ websocket?: string;
19
+ mqttUrl?: string;
20
+ mqttOptions?: {
21
+ clientId?: string;
22
+ username?: string;
23
+ password?: string;
24
+ };
25
+ mqttTopics?: string;
26
+ manualCps?: boolean;
27
+ dataConstruct?: any;
28
+ data?: any;
29
+ bkImageRect?: any;
30
+ }
31
+ // 2D可视化使用到的数据仓库
32
+ export interface visualization2DStore {
33
+ id: string;
34
+ data: visualization2DData;
35
+ pens: { [key: string]: Pen };
36
+ options: Options;
37
+ cacheDatas?: {
38
+ data: visualization2DData;
39
+ }[];
40
+ emitter: Emitter;
41
+ dpiRatio?: number;
42
+ lastScale?: number; //记录上次模版的scale
43
+ ratioCord: {
44
+ ratio?: number;
45
+ scaleX?: number;
46
+ scaleY?: number;
47
+ },
48
+ parentElem: HTMLElement
49
+ }
50
+
51
+ // @ts-ignore
52
+ export const createStore = () => {
53
+ return {
54
+ id: '',
55
+ data: {
56
+ pens: [],
57
+ lineName: 'curve',
58
+ fromArrowType: '',
59
+ toArrowType: 'triangleSolid',
60
+ scale: 1,
61
+ locked: Lock.None,
62
+ bkImageRect: null,
63
+ mqttOptions: {
64
+ clientId: s8()
65
+ },
66
+ dataConstruct: {}
67
+ },
68
+ pens: {},
69
+ options: { ...DefalutOptions },
70
+ emitter: mitt(),
71
+ cacheDatas: [],
72
+ dpiRatio: 1,
73
+ lastScale: 1,
74
+ ratioCord: {
75
+ ratio: 1,
76
+ scaleX: 1,
77
+ scaleY: 1
78
+ },
79
+ parentElem: null
80
+ } as visualization2DStore;
81
+ };
82
+ // @ts-ignore
83
+ export const useStore = (id = 'default'): visualization2DStore => {
84
+ if (!commonStore[id]) {
85
+ // @ts-ignore
86
+ commonStore[id] = createStore();
87
+ commonStore[id].id = id;
88
+ }
89
+ return commonStore[id];
90
+ };
91
+
92
+ // @ts-ignore
93
+ export const clearStore = (store: visualization2DStore) => {
94
+ store.data = {
95
+ bkColor: '',
96
+ bkImage: '',
97
+ data: undefined,
98
+ grid: false,
99
+ manualCps: false,
100
+ mqttTopics: '',
101
+ mqttUrl: '',
102
+ websocket: '',
103
+ pens: [],
104
+ lineName: 'curve',
105
+ fromArrowType: '',
106
+ toArrowType: 'triangleSolid',
107
+ scale: 1,
108
+ locked: Lock.None,
109
+ bkImageRect: null,
110
+ mqttOptions: {
111
+ clientId: s8()
112
+ },
113
+ dataConstruct: {}
114
+ };
115
+ store.lastScale = store.data.scale;
116
+ store.pens = {};
117
+ store.options = {};
118
+ store.cacheDatas = [];
119
+ store.dpiRatio = 1;
120
+ store.lastScale = 1;
121
+ store.ratioCord = {
122
+ ratio: 1,
123
+ scaleX: 1,
124
+ scaleY: 1
125
+ }
126
+ };
@@ -0,0 +1,80 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ import { default as mitt } from 'mitt';
13
+ import { Lock } from '../models';
14
+ import {DefalutOptions} from '../options';
15
+ import {s8} from '../utils';
16
+ import { commonStore } from './common'
17
+ export var createStore = function () {
18
+ return {
19
+ id: '',
20
+ data: {
21
+ pens: [],
22
+ lineName: 'curve',
23
+ fromArrowType: '',
24
+ toArrowType: 'triangleSolid',
25
+ scale: 1,
26
+ locked: Lock.None,
27
+ bkImageRect: null,
28
+ mqttOptions: {
29
+ clientId: s8()
30
+ },
31
+ dataConstruct: {}
32
+ },
33
+ pens: {},
34
+ options: { ...DefalutOptions },
35
+ emitter: mitt(),
36
+ cacheDatas: [],
37
+ dpiRatio: 1,
38
+ lastScale: 1,
39
+ ratioCord: {
40
+ ratio: 1,
41
+ scaleX: 1,
42
+ scaleY: 1
43
+ },
44
+ parentElem: null
45
+ };
46
+ };
47
+ export var useStore = function (id) {
48
+ if (id === void 0) { id = 'default'; }
49
+ if (!commonStore[id]) {
50
+ commonStore[id] = createStore();
51
+ commonStore[id].id = id;
52
+ }
53
+ return commonStore[id];
54
+ };
55
+ export var clearStore = function (store, del) {
56
+ store.lastScale = store.data.scale;
57
+ store.data = {
58
+ pens: [],
59
+ lineName: 'curve',
60
+ fromArrowType: '',
61
+ toArrowType: 'triangleSolid',
62
+ scale: 1,
63
+ locked: Lock.None,
64
+ bkImageRect: null,
65
+ mqttOptions: {
66
+ clientId: s8()
67
+ },
68
+ dataConstruct: {}
69
+ };
70
+ store.pens = {};
71
+ store.cacheDatas = [];
72
+ store.dpiRatio = 1;
73
+ store.lastScale = 1;
74
+ store.ratioCord = {
75
+ ratio: 1,
76
+ scaleX: 1,
77
+ scaleY: 1
78
+ };
79
+ if(del) delete commonStore[store.id];
80
+ };
@@ -0,0 +1,2 @@
1
+ export * from './data'
2
+ export * from './common'
@@ -0,0 +1,2 @@
1
+ export * from './data'
2
+ export * from './common'
@@ -0,0 +1,7 @@
1
+ import {Node} from "../models";
2
+
3
+ export declare function setTagIdData(data: any): [];
4
+ export declare function setKpiAddrData(data: any): [];
5
+ export declare function setAssetIdData(data: any): [];
6
+ export declare function setAreaIdData(data: any): [];
7
+ export declare function setThreeCategoryIdData(pen: Node, data: any): [];
@@ -0,0 +1,54 @@
1
+ export function setTagIdData(data) {
2
+ return [{
3
+ "key": "tagId",
4
+ "value": data.tagId,
5
+ "isControlDis": data.isControlDis,
6
+ "type": data.tagType,
7
+ "tagVal": data.value,
8
+ "valExplain": data.valExplain,
9
+ "tagId": data.tagId
10
+ }, {
11
+ "key": "测点名称",
12
+ "value": data.tagName
13
+ }];
14
+ }
15
+ export function setKpiAddrData(data) {
16
+ return [{
17
+ "key": "kpiAddr",
18
+ "value": data.kpiId + '_' + data.kpiAddr,
19
+ "isControlDis": data.isControlDis,
20
+ "type": data.tagType
21
+ }, {
22
+ "key": "指标名称",
23
+ "value": data.kpiName
24
+ }];
25
+ }
26
+ export function setAssetIdData(data) {
27
+ return [{
28
+ "key": "assetId",
29
+ "value": data.id
30
+ }, {
31
+ "key": "资产名称",
32
+ "value": data.name
33
+ }];
34
+ }
35
+ export function setAreaIdData(data) {
36
+ return [{
37
+ "key": "areaId",
38
+ "value": data.id
39
+ }, {
40
+ "key": "区域名称",
41
+ "value": data.name
42
+ }];
43
+ }
44
+ export function setThreeCategoryIdData(pen, data) {
45
+ let params = [];
46
+ const hasThreeCategoryId = pen.data.find((tc) => {
47
+ return tc.key === 'threeCategoryId' && tc.value.includes(data.threeCategoryId);
48
+ });
49
+ if(!hasThreeCategoryId) params = [{
50
+ "key": "threeCategoryId",
51
+ "value": data.threeCategoryId
52
+ }];
53
+ return params;
54
+ }
@@ -1,6 +1,7 @@
1
- import { Node, TopologyData } from '../models';
1
+ import { Node } from '../models';
2
+ import { visualization2DStore } from '../store';
2
3
  export declare let DomElements: {};
3
- export declare function createChildrenDivByElementId(node: Node, data?: TopologyData): HTMLDivElement;
4
- export declare function setStyleForElementIdDiv(node: Node, elem: HTMLElement, data: TopologyData): void;
4
+ export declare function createChildrenDivByElementId(node: Node, data?: visualization2DStore): HTMLDivElement;
5
+ export declare function setStyleForElementIdDiv(node: Node, elem: HTMLElement, data: visualization2DStore): void;
5
6
  export declare function createDiv(node: Node): HTMLDivElement;
6
7
  export declare function loadJS(url: string, callback?: () => void, render?: boolean): void;
@@ -1,5 +1,5 @@
1
1
  // 源码版写法
2
- import { registerNode } from 'dcim-topology/core'
2
+ import { registerNode } from '../core'
3
3
 
4
4
  // 组件版写法和bundle一致
5
5
  // window.Le5leTopology.registerNode
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dcim-topology2d",
3
- "version": "1.0.2",
3
+ "version": "1.1.0",
4
4
  "description": "",
5
5
  "main": "-",
6
6
  "scripts": {
@@ -1,26 +0,0 @@
1
- import { Pen } from './pen';
2
- import { Lock } from './status';
3
- export declare class TopologyData {
4
- pens: Pen[];
5
- lineName: string;
6
- fromArrowType: string;
7
- toArrowType: string;
8
- scale: number;
9
- locked: Lock;
10
- bkImage: string;
11
- bkColor: string;
12
- grid?: boolean;
13
- websocket?: string;
14
- mqttUrl?: string;
15
- mqttOptions?: {
16
- clientId?: string;
17
- username?: string;
18
- password?: string;
19
- };
20
- mqttTopics?: string;
21
- manualCps?: boolean;
22
- dataConstruct?: any;
23
- data?: any;
24
- bkImageRect?: any;
25
- constructor(json?: any);
26
- }
@@ -1,77 +0,0 @@
1
- import { Node } from './node';
2
- import { Line } from './line';
3
- import { Lock } from './status';
4
- import { s8 } from '../utils';
5
- var TopologyData = /** @class */ (function () {
6
- function TopologyData(json) {
7
- this.pens = [];
8
- this.lineName = 'curve';
9
- this.fromArrowType = '';
10
- this.toArrowType = 'triangleSolid';
11
- this.scale = 1;
12
- this.locked = Lock.None;
13
- this.bkImageRect = null;
14
- this.mqttOptions = {
15
- clientId: s8()
16
- };
17
- this.dataConstruct = {};
18
- if (json) {
19
- this.pens = [];
20
- json.dataConstruct = {};
21
- for (var _i = 0, _a = json.pens; _i < _a.length; _i++) {
22
- var item = _a[_i];
23
- if (item.from) {
24
- this.pens.push(new Line(item));
25
- }
26
- else {
27
- if(item.name === 'formTable') {
28
- json.dataConstruct[item.id] = {
29
- id: item.id,
30
- name: 'table'
31
- }
32
- }
33
- this.pens.push(new Node(item));
34
- }
35
- }
36
- this.lineName = json.lineName || 'curve';
37
- this.fromArrowType = json.fromArrowType || '';
38
- this.toArrowType = json.toArrowType || 'triangleSolid';
39
- this.scale = json.scale || 1;
40
- this.locked = json.locked || Lock.None;
41
- this.bkImage = json.bkImage;
42
- this.bkColor = json.bkColor;
43
- this.grid = json.grid;
44
- this.manualCps = json.manualCps;
45
- this.websocket = json.websocket;
46
- this.mqttUrl = json.mqttUrl;
47
- this.bkImageRect = json.bkImageRect;
48
- if (json.mqttOptions) {
49
- var opts = '';
50
- if (typeof json.mqttOptions === 'object') {
51
- opts = JSON.stringify(json.mqttOptions);
52
- }
53
- else {
54
- opts = json.mqttOptions + '';
55
- }
56
- this.mqttOptions = JSON.parse(opts);
57
- }
58
- else {
59
- this.mqttOptions = { clientId: s8() };
60
- }
61
- this.dataConstruct = json.dataConstruct ? json.dataConstruct : {};
62
- this.mqttTopics = json.mqttTopics;
63
- if (typeof json.data === 'object') {
64
- this.data = JSON.parse(JSON.stringify(json.data));
65
- }
66
- else {
67
- this.data = json.data || '';
68
- }
69
- }
70
- if (!this.mqttOptions) {
71
- this.mqttOptions = { clientId: s8() };
72
- }
73
- }
74
- return TopologyData;
75
- }());
76
- export { TopologyData };
77
- //# sourceMappingURL=data.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"data.js","sourceRoot":"","sources":["../../../../packages/core/src/models/data.ts"],"names":[],"mappings":"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"}
@@ -1,14 +0,0 @@
1
- import { TopologyData } from './models';
2
- export declare class MQTT {
3
- url: string;
4
- options: any;
5
- topics: string;
6
- data: TopologyData;
7
- client: any;
8
- constructor(url: string, options: any, topics: string, data: TopologyData);
9
- init(): void;
10
- onmessage: (topic: string, message: any) => void;
11
- publish(topic: string, message: string): void;
12
- close(): void;
13
- isEnd: boolean;
14
- }
package/core/src/mqtt.js DELETED
@@ -1,82 +0,0 @@
1
- import * as mqtt from './mqtt.min.js';
2
- import { EventType } from './models';
3
- import { Store } from 'le5le-store';
4
- var MQTT = /** @class */ (function () {
5
- function MQTT(url, options, topics, data) {
6
- var _this = this;
7
- this.url = url;
8
- this.options = options;
9
- this.topics = topics;
10
- this.data = data;
11
- this.isEnd = false;
12
- this.num = 0; // 记录推送的次数,用于判单丢失情况
13
- this.onmessage = function (topic, message) {
14
- if (!_this.data.pens.length || !topic || topic != _this.data.mqttTopics) {
15
- return;
16
- }
17
- console.log((new Date()).toString().substring(16,24))
18
- // 判单推送是否有失丢
19
- var theNum = JSON.parse(message.toString()).pushNumber
20
- if((theNum - this.num) > 1) {
21
- console.log('发生丢失!')
22
- console.log('上次的计数===',this.num)
23
- console.log('当前的计数===',theNum)
24
- // 再次主动请求
25
- Store.set('mqttLostMessage', true);
26
- }else{
27
- Store.set('mqttLostMessage', false);
28
- }
29
- this.num = JSON.parse(message.toString()).pushNumber
30
- console.log('已执行的计数===',this.num)
31
- console.log('\n')
32
-
33
- if(!_this.isEnd){
34
- _this.getPen(_this.data.pens, topics, message)
35
- }
36
- };
37
- //服务器连接异常的回调
38
- this.onerror= function (error) {
39
- console.log('服务器连接异常',error)
40
-
41
- };
42
- this.init();
43
- }
44
- MQTT.prototype.init = function () {
45
- this.client = mqtt.connect(this.url, this.options);
46
- console.log('connect===',this.options)
47
- this.client.on('message', this.onmessage);
48
- if (this.topics) {
49
- this.client.subscribe(this.topics.split(','));
50
- }
51
- };
52
- MQTT.prototype.publish = function (topic, message) {
53
- this.client.publish(topic, message);
54
- };
55
- MQTT.prototype.close = function () {
56
- this.isEnd = true
57
- this.client.end();
58
- };
59
- MQTT.prototype.getPen = function (pens, topics, message) {
60
- const _this = this;
61
- pens.forEach((pen)=>{
62
- if(pen.children != undefined){
63
- _this.getPen(pen.children, topics, message)
64
- }else{
65
- var item = pen;
66
- for (var _b = 0, _c = item.events; _b < _c.length; _b++) {
67
- var event_1 = _c[_b];
68
- if (event_1.type === EventType.Mqtt) {
69
- event_1.name = topics;
70
- if(message){
71
- item.doSocketMqtt(event_1, message.toString(), _this.client);
72
- }
73
- }
74
- }
75
- }
76
- })
77
- };
78
- return MQTT;
79
- }());
80
-
81
- export { MQTT };
82
- //# sourceMappingURL=mqtt.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mqtt.js","sourceRoot":"","sources":["../../../packages/core/src/mqtt.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,IAAI,MAAM,eAAe,CAAC;AAEtC,OAAO,EAAE,SAAS,EAAgB,MAAM,UAAU,CAAC;AAEnD;IAEE,cAAmB,GAAW,EAAS,OAAY,EAAS,MAAc,EAAS,IAAkB;QAArG,iBAEC;QAFkB,QAAG,GAAH,GAAG,CAAQ;QAAS,YAAO,GAAP,OAAO,CAAK;QAAS,WAAM,GAAN,MAAM,CAAQ;QAAS,SAAI,GAAJ,IAAI,CAAc;QAarG,cAAS,GAAG,UAAC,KAAa,EAAE,OAAY;YACtC,IAAI,CAAC,KAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE;gBACpC,OAAO;aACR;YAED,KAAmB,UAAc,EAAd,KAAA,KAAI,CAAC,IAAI,CAAC,IAAI,EAAd,cAAc,EAAd,IAAc,EAAE;gBAA9B,IAAM,IAAI,SAAA;gBACb,KAAoB,UAAW,EAAX,KAAA,IAAI,CAAC,MAAM,EAAX,cAAW,EAAX,IAAW,EAAE;oBAA5B,IAAM,OAAK,SAAA;oBACd,IAAI,OAAK,CAAC,IAAI,KAAK,SAAS,CAAC,IAAI,EAAE;wBACjC,IAAI,OAAK,CAAC,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,OAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE;4BAChD,IAAI,CAAC,YAAY,CAAC,OAAK,EAAE,OAAO,CAAC,QAAQ,EAAE,EAAE,KAAI,CAAC,MAAM,CAAC,CAAC;yBAC3D;qBACF;iBACF;aACF;QACH,CAAC,CAAC;QA1BA,IAAI,CAAC,IAAI,EAAE,CAAC;IACd,CAAC;IAED,mBAAI,GAAJ;QACE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QACnD,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAE1C,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;SAC/C;IACH,CAAC;IAkBD,sBAAO,GAAP,UAAQ,KAAa,EAAE,OAAe;QACpC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACtC,CAAC;IAED,oBAAK,GAAL;QACE,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;IACpB,CAAC;IACH,WAAC;AAAD,CAAC,AAtCD,IAsCC"}