@cloud-app-dev/vidc 3.0.4 → 3.0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. package/.umirc.ts +12 -7
  2. package/es/DisableMark/index.css +9 -0
  3. package/es/DisableMark/index.d.ts +8 -0
  4. package/es/DisableMark/index.js +9 -0
  5. package/es/Drawer/index.css +1 -0
  6. package/es/Map/AMap.d.ts +14 -1
  7. package/es/Map/BasicMap/AMapInstance.js +18 -2
  8. package/es/Map/Config/utils.js +2 -2
  9. package/es/Player/demo.js +4 -3
  10. package/es/Player/iconfont.d.ts +1 -1
  11. package/es/Player/iconfont.js +1 -1
  12. package/es/Player/live_heart.js +7 -32
  13. package/es/Player/style/iconfont.ttf +0 -0
  14. package/es/Player/style/iconfont.woff +0 -0
  15. package/es/Player/style/iconfont.woff2 +0 -0
  16. package/es/ScreenPlayer/Live.d.ts +1 -1
  17. package/es/ScreenPlayer/Live.js +13 -3
  18. package/es/ScreenPlayer/LiveTools.d.ts +3 -1
  19. package/es/ScreenPlayer/LiveTools.js +84 -47
  20. package/es/ScreenPlayer/PlayerWithExt.js +0 -3
  21. package/es/ScreenPlayer/Record.d.ts +1 -1
  22. package/es/ScreenPlayer/Record.js +55 -16
  23. package/es/ScreenPlayer/RecordTools.d.ts +7 -1
  24. package/es/ScreenPlayer/RecordTools.js +112 -46
  25. package/es/ScreenPlayer/ScreenSelect.d.ts +7 -0
  26. package/es/ScreenPlayer/ScreenSelect.js +28 -0
  27. package/es/ScreenPlayer/SegmentTimeLine.d.ts +5 -2
  28. package/es/ScreenPlayer/SegmentTimeLine.js +14 -9
  29. package/es/ScreenPlayer/TimeMode.d.ts +7 -0
  30. package/es/ScreenPlayer/TimeMode.js +23 -0
  31. package/es/ScreenPlayer/TimeSelect.d.ts +7 -0
  32. package/es/ScreenPlayer/TimeSelect.js +128 -0
  33. package/es/ScreenPlayer/TimeSlider.d.ts +1 -1
  34. package/es/ScreenPlayer/TimeSlider.js +7 -10
  35. package/es/ScreenPlayer/demo.d.ts +1 -1
  36. package/es/ScreenPlayer/demo.js +9 -4
  37. package/es/ScreenPlayer/demo2.js +1 -1
  38. package/es/ScreenPlayer/index.css +79 -4
  39. package/es/ScreenPlayer/interface.d.ts +32 -0
  40. package/es/ScreenPlayer/utils.d.ts +3 -0
  41. package/es/ScreenPlayer/utils.js +9 -0
  42. package/es/Timeout/index.d.ts +8 -9
  43. package/es/Timeout/index.js +17 -23
  44. package/es/index.d.ts +1 -0
  45. package/es/index.js +1 -0
  46. package/package.json +1 -1
@@ -0,0 +1,128 @@
1
+ import "antd/lib/button/style";
2
+ import _Button from "antd/lib/button";
3
+ import "antd/lib/input-number/style";
4
+ import _InputNumber from "antd/lib/input-number";
5
+ import "antd/lib/popover/style";
6
+ import _Popover from "antd/lib/popover";
7
+ import _useUpdateEffect from "ahooks/es/useUpdateEffect";
8
+
9
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
10
+
11
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
12
+
13
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
14
+
15
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
16
+
17
+ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
18
+
19
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
20
+
21
+ import React, { useMemo, useState } from 'react';
22
+ import moment from 'moment';
23
+
24
+ function TimeSelect(_ref) {
25
+ var time = _ref.time,
26
+ onChange = _ref.onChange;
27
+
28
+ var _useState = useState(function () {
29
+ var m = time ? moment(time) : moment().set({
30
+ hours: 0,
31
+ minutes: 0,
32
+ seconds: 0
33
+ });
34
+ return [m.hours(), m.minutes(), m.seconds()];
35
+ }),
36
+ _useState2 = _slicedToArray(_useState, 2),
37
+ values = _useState2[0],
38
+ setValues = _useState2[1];
39
+
40
+ var timeStr = useMemo(function () {
41
+ var m = time ? moment(time) : moment().set({
42
+ hours: 0,
43
+ minutes: 0,
44
+ seconds: 0
45
+ });
46
+ return m.format('HH:mm:ss');
47
+ }, [time]);
48
+
49
+ var onChangeTime = function onChangeTime() {
50
+ var m = time ? moment(time) : moment().set({
51
+ hours: 0,
52
+ minutes: 0,
53
+ seconds: 0
54
+ });
55
+ var newTime = m.set({
56
+ hours: values[0],
57
+ minutes: values[1],
58
+ seconds: values[2]
59
+ }).valueOf();
60
+ onChange && onChange(newTime);
61
+ };
62
+
63
+ _useUpdateEffect(function () {
64
+ var m = time ? moment(time) : moment().set({
65
+ hours: 0,
66
+ minutes: 0,
67
+ seconds: 0
68
+ });
69
+ setValues([m.hours(), m.minutes(), m.seconds()]);
70
+ }, [time]);
71
+
72
+ var formatter = function formatter(value) {
73
+ return String(value).length === 1 ? "0".concat(value) : value + '';
74
+ };
75
+
76
+ return /*#__PURE__*/React.createElement(_Popover, {
77
+ content: /*#__PURE__*/React.createElement("div", {
78
+ className: "player-time-select"
79
+ }, /*#__PURE__*/React.createElement(_InputNumber, {
80
+ size: "small",
81
+ style: {
82
+ width: 36
83
+ },
84
+ formatter: formatter,
85
+ controls: false,
86
+ value: values[0],
87
+ onChange: function onChange(v) {
88
+ return setValues(function (old) {
89
+ return [v, old[1], old[2]];
90
+ });
91
+ }
92
+ }), ":", /*#__PURE__*/React.createElement(_InputNumber, {
93
+ size: "small",
94
+ style: {
95
+ width: 36
96
+ },
97
+ formatter: formatter,
98
+ controls: false,
99
+ value: values[1],
100
+ onChange: function onChange(v) {
101
+ return setValues(function (old) {
102
+ return [old[0], v, old[2]];
103
+ });
104
+ }
105
+ }), ":", /*#__PURE__*/React.createElement(_InputNumber, {
106
+ size: "small",
107
+ style: {
108
+ width: 36
109
+ },
110
+ formatter: formatter,
111
+ controls: false,
112
+ value: values[2],
113
+ onChange: function onChange(v) {
114
+ return setValues(function (old) {
115
+ return [old[0], old[1], v];
116
+ });
117
+ }
118
+ }), /*#__PURE__*/React.createElement(_Button, {
119
+ size: "small",
120
+ type: "primary",
121
+ onClick: onChangeTime
122
+ }, "\u786E\u5B9A"))
123
+ }, /*#__PURE__*/React.createElement("div", {
124
+ className: "player-record-time"
125
+ }, timeStr));
126
+ }
127
+
128
+ export default TimeSelect;
@@ -4,7 +4,7 @@ export interface ITimeSliderOptions {
4
4
  start_timestamp?: number;
5
5
  timecell?: TimeCellItem[];
6
6
  current_timestamp?: number;
7
- onTimeChange?: (time: number) => void;
7
+ onTimeChange?: (time: number, outTimeline?: boolean) => void;
8
8
  }
9
9
  export declare type TimeCellItem = ISegmentType;
10
10
  export default class TimeSlider {
@@ -103,7 +103,7 @@ var TimeSlider = /*#__PURE__*/function () {
103
103
  _this.drawLine(pos_x, 20, pos_x, _this.canVansH, hoverLineColor, 1);
104
104
 
105
105
  _this.ctx.fillStyle = hoverLineColor;
106
- _this.ctx.font = "10px Arial";
106
+ _this.ctx.font = '10px Arial';
107
107
 
108
108
  _this.ctx.fillText(_this.changeTime(current_timestamp), pos_x - 50, 12);
109
109
  }
@@ -131,18 +131,15 @@ var TimeSlider = /*#__PURE__*/function () {
131
131
 
132
132
  var timecellItem = _this.timecell.find(function (v) {
133
133
  return current_timestamp >= v.beginTime && current_timestamp < v.endTime;
134
- });
134
+ }); // 当前片段没有录像的时候
135
135
 
136
- if (timecellItem && !timecellItem.url) {
137
- // 无录像轴 不让点击
138
- return;
139
- }
140
136
 
137
+ var outTimeline = timecellItem && !timecellItem.url;
141
138
  _this.current_timestamp = current_timestamp;
142
139
 
143
140
  _this.set_time_to_middle(_this.current_timestamp);
144
141
 
145
- _this.options.onTimeChange && _this.options.onTimeChange(current_timestamp);
142
+ _this.options.onTimeChange && _this.options.onTimeChange(current_timestamp, outTimeline);
146
143
  }
147
144
 
148
145
  document.removeEventListener('mousemove', _this.mousemoveFunc);
@@ -233,7 +230,7 @@ var TimeSlider = /*#__PURE__*/function () {
233
230
  this.options = options;
234
231
  this.canvansW = this.canvas.width = this.canvas.clientWidth;
235
232
  this.canVansH = this.canvas.height = this.canvas.clientHeight;
236
- this.hours_per_ruler = (_a = this.options.hours_per_ruler) !== null && _a !== void 0 ? _a : this.hours_per_ruler;
233
+ this.zoom = this.hours_per_ruler = (_a = this.options.hours_per_ruler) !== null && _a !== void 0 ? _a : this.hours_per_ruler;
237
234
  this.start_timestamp = (_b = this.options.start_timestamp) !== null && _b !== void 0 ? _b : this.start_timestamp;
238
235
  this.current_timestamp = (_c = this.options.current_timestamp) !== null && _c !== void 0 ? _c : this.current_timestamp;
239
236
  this.timecell = (_d = this.options.timecell) !== null && _d !== void 0 ? _d : this.timecell;
@@ -360,13 +357,13 @@ var TimeSlider = /*#__PURE__*/function () {
360
357
  lineH = 10;
361
358
  var big_date = this.graduation_title(date);
362
359
  this.ctx.fillStyle = normalLineColor;
363
- this.ctx.font = "10px Arial";
360
+ this.ctx.font = '10px Arial';
364
361
  this.ctx.fillText(big_date, graduation_left - 12, 30);
365
362
  } else if (graduation_time / (60 * 1000) % medium_step === 0) {
366
363
  lineH = 10;
367
364
  var middle_date = this.graduation_title(date);
368
365
  this.ctx.fillStyle = normalLineColor;
369
- this.ctx.font = "10px Arial";
366
+ this.ctx.font = '10px Arial';
370
367
  this.ctx.fillText(middle_date, graduation_left - (middle_date.length > 5 ? 24 : 12), 30);
371
368
  } else {
372
369
  lineH = 5;
@@ -1,2 +1,2 @@
1
1
  /// <reference types="react" />
2
- export default function (): JSX.Element;
2
+ export default function App(): JSX.Element;
@@ -1,3 +1,5 @@
1
+ import "antd/lib/config-provider/style";
2
+ import _ConfigProvider from "antd/lib/config-provider";
1
3
  import React from 'react';
2
4
  import LivePlayer from './Live';
3
5
  var list = [{
@@ -13,13 +15,16 @@ var list = [{
13
15
  url: 'https://6a75ef90-0-server.antelopecloud.cn/flv_live?app=live&token=557997490_3356491776_1691725056_86b4dd8105fea7b1180408a63d17b37b',
14
16
  type: 'flv'
15
17
  }];
16
- export default function () {
17
- return /*#__PURE__*/React.createElement("div", {
18
+ export default function App() {
19
+ return /*#__PURE__*/React.createElement(_ConfigProvider, {
20
+ prefixCls: "cloudapp"
21
+ }, /*#__PURE__*/React.createElement("div", {
18
22
  style: {
19
23
  width: 1200,
20
24
  height: 800
21
25
  }
22
26
  }, /*#__PURE__*/React.createElement(LivePlayer, {
23
- list: list
24
- }));
27
+ list: list,
28
+ onIndexChange: console.log
29
+ })));
25
30
  }
@@ -28,7 +28,7 @@ import RecordPlayer from './Record';
28
28
  import moment from 'moment';
29
29
  import Service from '../Service';
30
30
  import { completionSegments } from './utils';
31
- var token = "eyJhbGciOiJIUzI1NiJ9.eyJvcmdhbml6YXRpb25JZCI6IjEwMDEwMTAwMDQ0NSIsImV4dCI6MTY2MTM4OTU0MzA4NSwidWlkIjoiMTAxMDAwMDAwNjk5IiwidmFsaWRTdGF0ZSI6MTA0NDA2LCJyb2xlSWQiOlsxMDAwMDAxMTA1MTgsMTAwMDAwMTEwNzI4XSwidmFsaWRUaW1lIjoxNzA0MzgzOTk5MDAwLCJvcHRDZW50ZXJJZCI6IjEwMDEwMDAwMDIzMyIsInVzZXJUeXBlIjoxMDA3MDQsImlhdCI6MTY2MTEzMDM0MzA4NX0.-0vh7SpomB6UWteJ6WIA5VneryhSW3Vrsz6RnHfgcRI";
31
+ var token = "eyJhbGciOiJIUzI1NiJ9.eyJvcmdhbml6YXRpb25JZCI6IjEwMDEwMTAwMDQ0NSIsImV4dCI6MTY2MTY1NjgzMTU3MywidWlkIjoiMTAxMDAwMDAwNjk5IiwidmFsaWRTdGF0ZSI6MTA0NDA2LCJyb2xlSWQiOlsxMDAwMDAxMTA1MTgsMTAwMDAwMTEwNzI4XSwidmFsaWRUaW1lIjoxNzA0MzgzOTk5MDAwLCJvcHRDZW50ZXJJZCI6IjEwMDEwMDAwMDIzMyIsInVzZXJUeXBlIjoxMDA3MDQsImlhdCI6MTY2MTM5NzYzMTU3M30.OWPxfPgFBWqGJaRsYLSAZohn2AarhbkOuWLa1bwgZE4";
32
32
  var cids = ['538509097', '539172446'];
33
33
 
34
34
  var query = function query(_ref) {
@@ -3,10 +3,10 @@
3
3
  height: 100%;
4
4
  box-sizing: border-box;
5
5
  user-select: none;
6
+ min-width: 600px;
6
7
  }
7
8
  .split-screen-player-wrapper .player-layout {
8
- height: calc(100% - 42px);
9
- border-bottom: 1px solid var(--gray12);
9
+ height: calc(100% - 88px);
10
10
  }
11
11
  .split-screen-player-wrapper .player-layout .player-with-ext-layout {
12
12
  float: left;
@@ -19,9 +19,64 @@
19
19
  .split-screen-player-wrapper .player-layout .player-with-ext-layout.player-current-index .lm-player-ext-layout {
20
20
  border: 1px solid var(--primary);
21
21
  }
22
+ .split-screen-player-wrapper .player-tools-group {
23
+ height: 88px;
24
+ position: relative;
25
+ }
26
+ .split-screen-player-wrapper .player-record-time {
27
+ width: 100%;
28
+ height: 100%;
29
+ text-align: center;
30
+ background-color: var(--gray11);
31
+ line-height: 42px;
32
+ padding: 0 16px;
33
+ font-size: 16px;
34
+ color: var(--gray1);
35
+ margin: 0 20px;
36
+ }
22
37
  .split-screen-player-wrapper .player-tools {
23
38
  height: 42px;
24
39
  background-color: var(--gray12);
40
+ padding: 0 10px;
41
+ display: flex;
42
+ align-items: center;
43
+ justify-content: space-between;
44
+ }
45
+ .split-screen-player-wrapper .player-tools .player-tools-left,
46
+ .split-screen-player-wrapper .player-tools .player-tools-right {
47
+ min-width: 35%;
48
+ display: flex;
49
+ align-items: center;
50
+ }
51
+ .split-screen-player-wrapper .player-tools .player-tools-right {
52
+ justify-content: flex-end;
53
+ margin-right: 0;
54
+ margin-left: 4px;
55
+ }
56
+ .split-screen-player-wrapper .player-tools .player-tools-mid {
57
+ display: flex;
58
+ align-items: center;
59
+ justify-self: center;
60
+ height: 100%;
61
+ }
62
+ .split-screen-player-wrapper .player-tools .player-tools-mid .player-tools-item {
63
+ margin: 0;
64
+ }
65
+ .split-screen-player-wrapper .player-tools .player-tools-item {
66
+ font-size: 18px;
67
+ width: 32px;
68
+ height: 32px;
69
+ color: var(--gray1);
70
+ text-align: center;
71
+ cursor: pointer;
72
+ margin-right: 4px;
73
+ }
74
+ .split-screen-player-wrapper .player-tools .player-tools-item .lm-player-iconfont {
75
+ font-size: 20px;
76
+ }
77
+ .split-screen-player-wrapper .player-tools .player-tools-item:hover {
78
+ background-color: var(--gray11);
79
+ border-radius: var(--radius1);
25
80
  }
26
81
  .split-screen-player-wrapper.split-screen-player-wrapper-record .record-time-line {
27
82
  width: 100%;
@@ -44,6 +99,26 @@
44
99
  z-index: 5;
45
100
  cursor: not-allowed;
46
101
  }
47
- .split-screen-player-wrapper.split-screen-player-wrapper-record .player-layout {
48
- height: calc(100% - 42px - 60px);
102
+ .player-time-select {
103
+ width: 190px;
104
+ display: flex;
105
+ justify-content: space-around;
106
+ align-items: center;
107
+ }
108
+ .time-mode-select {
109
+ font-size: var(--fs-small);
110
+ color: var(--gray1);
111
+ }
112
+ .time-mode-select .cloudapp-select-selector {
113
+ background-color: transparent !important;
114
+ border-radius: var(--radius1) !important;
115
+ }
116
+ .time-mode-select .anticon {
117
+ color: var(--gray1);
118
+ }
119
+ .time-mode-select-dropdown {
120
+ font-size: var(--fs-small);
121
+ }
122
+ .time-mode-select-dropdown .cloudapp-select-item {
123
+ font-size: var(--fs-small);
49
124
  }
@@ -23,6 +23,19 @@ export interface IRecordPlayerProps {
23
23
  * 窗口索引变化,后续基于索引传入播放必要数据
24
24
  */
25
25
  onIndexChange: (idx: number) => void;
26
+
27
+ /**
28
+ * 关闭单个窗口
29
+ */
30
+ onClose?: () => void;
31
+
32
+ /**
33
+ * 关闭所有窗口
34
+ */
35
+ onCloseAll?: () => void;
36
+ /**
37
+ * 窗口索引变化,后续基于索引传入播放必要数据
38
+ */
26
39
  }
27
40
 
28
41
  export interface IRecordPlayerState {
@@ -60,6 +73,11 @@ export interface IRecordPlayerState {
60
73
  * 加载中,用于拦截多次时间轴变化需要加载片段的情况
61
74
  */
62
75
  loading?: boolean;
76
+
77
+ /**
78
+ * 录像时间轴单页绘制时长单位(hour)
79
+ */
80
+ timeMode:number
63
81
  }
64
82
 
65
83
  export type ScreenItemLivePlayerType = {
@@ -70,6 +88,20 @@ export type ScreenItemLivePlayerType = {
70
88
  export interface ILivePlayerProps {
71
89
  list?: ScreenItemLivePlayerType[];
72
90
  children?: JSX.Element;
91
+
92
+ /**
93
+ * 关闭单个窗口
94
+ */
95
+ onClose?: () => void;
96
+
97
+ /**
98
+ * 关闭所有窗口
99
+ */
100
+ onCloseAll?: () => void;
101
+ /**
102
+ * 窗口索引变化,后续基于索引传入播放必要数据
103
+ */
104
+ onIndexChange: (idx: number) => void;
73
105
  }
74
106
 
75
107
  export interface ILivePlayerState {
@@ -4,6 +4,9 @@ export declare const ScreenType: {
4
4
  width: string;
5
5
  height: string;
6
6
  }[];
7
+ export declare const TimeModeLibs: {
8
+ name: number;
9
+ }[];
7
10
  export declare function mergeFill<T, S>(len: number, mergeArr: T[], fillItem: S): (T | S)[];
8
11
  export declare const FILTER_KEY = "00|11|00";
9
12
  /**
@@ -15,6 +15,15 @@ export var ScreenType = [{
15
15
  width: '25%',
16
16
  height: '25%'
17
17
  }];
18
+ export var TimeModeLibs = [{
19
+ name: 24
20
+ }, {
21
+ name: 12
22
+ }, {
23
+ name: 6
24
+ }, {
25
+ name: 1
26
+ }];
18
27
  export function mergeFill(len, mergeArr, fillItem) {
19
28
  return new Array(len).fill(fillItem).map(function (v, i) {
20
29
  return mergeArr[i] ? mergeArr[i] : v;
@@ -1,9 +1,9 @@
1
1
  /// <reference types="react" />
2
2
  import { BasicTarget } from 'ahooks/es/utils/domTarget';
3
- import 'antd/es/modal/style/css';
4
3
  interface ITimeoutProps {
5
4
  /**
6
-
5
+ * 容器
6
+ * @default `document.body`
7
7
  */
8
8
  contianer?: BasicTarget;
9
9
  /**
@@ -14,20 +14,19 @@ interface ITimeoutProps {
14
14
  * 超时动作,默认退出登录
15
15
  */
16
16
  onTimeout?: () => void;
17
+ /**
18
+ * 忽略的情况
19
+ */
20
+ ignore?: () => boolean;
17
21
  }
18
22
  /**
19
- *
23
+ * @desc 用户创建界面超时回调
20
24
  */
21
- declare function Timeout({ contianer, time, onTimeout }: ITimeoutProps): JSX.Element;
25
+ declare function Timeout({ contianer, time, onTimeout, ignore }: ITimeoutProps): JSX.Element;
22
26
  declare namespace Timeout {
23
27
  var defaultProps: {
24
28
  time: number;
25
29
  contianer: HTMLElement;
26
- onTimeout: typeof defaultTimeoutAction;
27
30
  };
28
31
  }
29
- declare function defaultTimeoutAction(): {
30
- destroy: () => void;
31
- update: (configUpdate: import("antd").ModalFuncProps | ((prevConfig: import("antd").ModalFuncProps) => import("antd").ModalFuncProps)) => void;
32
- };
33
32
  export default Timeout;
@@ -1,5 +1,3 @@
1
- import "antd/lib/modal/style";
2
- import _Modal from "antd/lib/modal";
3
1
  import _useEventListener from "ahooks/es/useEventListener";
4
2
  import _useRafInterval from "ahooks/es/useRafInterval";
5
3
 
@@ -16,16 +14,15 @@ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Sy
16
14
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
17
15
 
18
16
  import React, { useEffect, useRef, useState } from 'react';
19
- //此处antd有bug不能定制样式前缀
20
- import 'antd/es/modal/style/css';
17
+
21
18
  /**
22
- *
19
+ * @desc 用户创建界面超时回调
23
20
  */
24
-
25
21
  function Timeout(_ref) {
26
22
  var contianer = _ref.contianer,
27
23
  time = _ref.time,
28
- onTimeout = _ref.onTimeout;
24
+ onTimeout = _ref.onTimeout,
25
+ ignore = _ref.ignore;
29
26
  var cuurentTimeRef = useRef(Date.now());
30
27
  var lockstatusRef = useRef(false);
31
28
 
@@ -37,15 +34,24 @@ function Timeout(_ref) {
37
34
  setState = _useState2[1];
38
35
 
39
36
  _useRafInterval(function () {
40
- return setState(function (old) {
37
+ var now = Date.now();
38
+ setState(function (old) {
41
39
  return Object.assign(Object.assign({}, old), {
42
- timelock: Date.now()
40
+ timelock: now
43
41
  });
44
42
  });
43
+ var isIgnore = ignore ? ignore() : false;
44
+
45
+ if (isIgnore) {
46
+ // 如果当前需要忽略,那么重置时间
47
+ cuurentTimeRef.current = now;
48
+ }
45
49
  }, 1 * 1000);
46
50
 
47
51
  useEffect(function () {
48
- if (!lockstatusRef.current && state.timelock - cuurentTimeRef.current > time * 1000) {
52
+ var isIgnore = ignore ? ignore() : false;
53
+
54
+ if (!lockstatusRef.current && state.timelock - cuurentTimeRef.current > time * 1000 && !isIgnore) {
49
55
  lockstatusRef.current = true;
50
56
  onTimeout && onTimeout();
51
57
  setTimeout(function () {
@@ -64,20 +70,8 @@ function Timeout(_ref) {
64
70
  return /*#__PURE__*/React.createElement(React.Fragment, null);
65
71
  }
66
72
 
67
- function defaultTimeoutAction() {
68
- return _Modal.warning({
69
- title: '系统提示',
70
- content: /*#__PURE__*/React.createElement("p", null, "\u60A8\u957F\u65F6\u95F4\u672A\u64CD\u4F5C\u7CFB\u7EDF\uFF0C\u8BF7\u91CD\u65B0\u767B\u5F55\uFF01"),
71
- onOk: function onOk() {
72
- sessionStorage.clear();
73
- window.location.replace('/login');
74
- }
75
- });
76
- }
77
-
78
73
  Timeout.defaultProps = {
79
74
  time: 15 * 60,
80
- contianer: document.body,
81
- onTimeout: defaultTimeoutAction
75
+ contianer: document.body
82
76
  };
83
77
  export default Timeout;
package/es/index.d.ts CHANGED
@@ -6,6 +6,7 @@ export { default as Box } from './Box';
6
6
  export { default as CheckGroupFixed } from './CheckGroupFixed';
7
7
  export { default as Config } from './Config';
8
8
  export { default as ConfigContext } from './ConfigContext';
9
+ export { default as DisableMark } from './DisableMark';
9
10
  export { default as DomMove } from './DomMove';
10
11
  export { default as Drag } from './Drag';
11
12
  export { default as Drawer } from './Drawer';
package/es/index.js CHANGED
@@ -6,6 +6,7 @@ export { default as Box } from './Box';
6
6
  export { default as CheckGroupFixed } from './CheckGroupFixed';
7
7
  export { default as Config } from './Config';
8
8
  export { default as ConfigContext } from './ConfigContext';
9
+ export { default as DisableMark } from './DisableMark';
9
10
  export { default as DomMove } from './DomMove';
10
11
  export { default as Drag } from './Drag';
11
12
  export { default as Drawer } from './Drawer';
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "private": false,
3
3
  "name": "@cloud-app-dev/vidc",
4
4
  "description": "Video Image Data Componennts",
5
- "version": "3.0.4",
5
+ "version": "3.0.7",
6
6
  "scripts": {
7
7
  "start": "dumi dev",
8
8
  "docs:build": "dumi build",