fast-vue-multi-pages 1.0.17 → 1.0.19
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.
- package/component/{fast-layout-header-body-footer.vue → fast-layout-body.vue} +1 -1
- package/component/index.js +6 -4
- package/dist/cjs/FastVueMultiTool.d.ts +3 -3
- package/dist/cjs/FastVueMultiTool.js +3 -3
- package/dist/cjs/other/FastVueMultiDate.js +14 -14
- package/dist/cjs/other/FastVueMultiEventBus.d.ts +23 -0
- package/dist/cjs/other/FastVueMultiEventBus.js +114 -0
- package/dist/esm/FastVueMultiTool.d.ts +3 -3
- package/dist/esm/FastVueMultiTool.js +3 -3
- package/dist/esm/other/FastVueMultiDate.js +14 -14
- package/dist/esm/other/FastVueMultiEventBus.d.ts +23 -0
- package/dist/esm/other/FastVueMultiEventBus.js +122 -0
- package/package.json +15 -4
package/component/index.js
CHANGED
@@ -1,6 +1,8 @@
|
|
1
|
-
import FastLayoutFullscreen from './fast-layout-fullscreen.vue'
|
2
|
-
import
|
1
|
+
import FastLayoutFullscreen from './fast-layout-fullscreen.vue'
|
2
|
+
import FastLayoutBody from "./fast-layout-body.vue";
|
3
|
+
|
4
|
+
|
3
5
|
export {
|
4
6
|
FastLayoutFullscreen,
|
5
|
-
|
6
|
-
}
|
7
|
+
FastLayoutBody
|
8
|
+
}
|
@@ -11,7 +11,7 @@ import { FastVueMultiElement } from "./other/FastVueMultiElement";
|
|
11
11
|
import { FastVueMultiWindow } from "./other/FastVueMultiWindow";
|
12
12
|
import { FastVueMultiFile } from "./other/FastVueMultiFile";
|
13
13
|
import { FastVueMultiBase64 } from "./other/FastVueMultiBase64";
|
14
|
-
import {
|
14
|
+
import { FastVueMultiEventBus } from "./other/FastVueMultiEventBus";
|
15
15
|
/**
|
16
16
|
* FastVueMultiTool 手机APP功能工具类
|
17
17
|
*/
|
@@ -77,7 +77,7 @@ export declare class FastVueMultiTool {
|
|
77
77
|
*/
|
78
78
|
static Base64: typeof FastVueMultiBase64;
|
79
79
|
/**
|
80
|
-
*
|
80
|
+
* 事件传递
|
81
81
|
*/
|
82
|
-
static
|
82
|
+
static EventBus: typeof FastVueMultiEventBus;
|
83
83
|
}
|
@@ -15,7 +15,7 @@ const FastVueMultiElement_1 = require("./other/FastVueMultiElement");
|
|
15
15
|
const FastVueMultiWindow_1 = require("./other/FastVueMultiWindow");
|
16
16
|
const FastVueMultiFile_1 = require("./other/FastVueMultiFile");
|
17
17
|
const FastVueMultiBase64_1 = require("./other/FastVueMultiBase64");
|
18
|
-
const
|
18
|
+
const FastVueMultiEventBus_1 = require("./other/FastVueMultiEventBus");
|
19
19
|
/**
|
20
20
|
* FastVueMultiTool 手机APP功能工具类
|
21
21
|
*/
|
@@ -81,8 +81,8 @@ class FastVueMultiTool {
|
|
81
81
|
*/
|
82
82
|
static Base64 = FastVueMultiBase64_1.FastVueMultiBase64;
|
83
83
|
/**
|
84
|
-
*
|
84
|
+
* 事件传递
|
85
85
|
*/
|
86
|
-
static
|
86
|
+
static EventBus = FastVueMultiEventBus_1.FastVueMultiEventBus;
|
87
87
|
}
|
88
88
|
exports.FastVueMultiTool = FastVueMultiTool;
|
@@ -76,31 +76,31 @@ class FastVueMultiDate {
|
|
76
76
|
let nice = true;
|
77
77
|
if (time / month >= 1) {
|
78
78
|
if (level >= 5) {
|
79
|
-
return parseInt(
|
79
|
+
return parseInt((time / month).toString()) + "个月前";
|
80
80
|
}
|
81
81
|
nice = false;
|
82
82
|
}
|
83
83
|
if (nice && time / week >= 1) {
|
84
84
|
if (level >= 4) {
|
85
|
-
return parseInt(
|
85
|
+
return parseInt((time / week).toString()) + "周前";
|
86
86
|
}
|
87
87
|
nice = false;
|
88
88
|
}
|
89
89
|
if (nice && time / day >= 1) {
|
90
90
|
if (level >= 3) {
|
91
|
-
return parseInt(
|
91
|
+
return parseInt((time / day).toString()) + "天前";
|
92
92
|
}
|
93
93
|
nice = false;
|
94
94
|
}
|
95
95
|
if (nice && time / hour >= 1) {
|
96
96
|
if (level >= 2) {
|
97
|
-
return parseInt(
|
97
|
+
return parseInt((time / hour).toString()) + "小时前";
|
98
98
|
}
|
99
99
|
nice = false;
|
100
100
|
}
|
101
101
|
if (nice && time / minute >= 1) {
|
102
102
|
if (level >= 1) {
|
103
|
-
return parseInt(
|
103
|
+
return parseInt((time / minute).toString()) + "分钟前";
|
104
104
|
}
|
105
105
|
}
|
106
106
|
return this.format(sourceDate, "yyyy-MM-DD HH:mm");
|
@@ -121,13 +121,13 @@ class FastVueMultiDate {
|
|
121
121
|
return descriptions.join("");
|
122
122
|
}
|
123
123
|
else if (timestamp < minuteUnit) {
|
124
|
-
descriptions.push(lodash_1.default.padStart(
|
124
|
+
descriptions.push(lodash_1.default.padStart((timestamp / seconds).toString(), 2, "0") + (chinese ? '秒' : ''));
|
125
125
|
return descriptions.join("");
|
126
126
|
}
|
127
127
|
if (timestamp < hourUnit) {
|
128
|
-
let minute = parseInt(
|
129
|
-
descriptions.push(lodash_1.default.padStart(
|
130
|
-
let nextTimestamp = timestamp - parseInt(
|
128
|
+
let minute = parseInt((timestamp / minuteUnit).toString());
|
129
|
+
descriptions.push(lodash_1.default.padStart(minute.toString(), 2, "0") + (chinese ? '分' : ':'));
|
130
|
+
let nextTimestamp = timestamp - parseInt((minute * minuteUnit).toString());
|
131
131
|
if (nextTimestamp === 0) {
|
132
132
|
descriptions.push("00" + (chinese ? '秒' : ''));
|
133
133
|
}
|
@@ -137,9 +137,9 @@ class FastVueMultiDate {
|
|
137
137
|
return descriptions.join("");
|
138
138
|
}
|
139
139
|
if (timestamp < dayUnit) {
|
140
|
-
let hour = parseInt(
|
141
|
-
descriptions.push(lodash_1.default.padStart(
|
142
|
-
let nextTimestamp = timestamp - parseInt(
|
140
|
+
let hour = parseInt((timestamp / hourUnit).toString());
|
141
|
+
descriptions.push(lodash_1.default.padStart((hour).toString(), 2, "0") + (chinese ? '时' : ':'));
|
142
|
+
let nextTimestamp = timestamp - parseInt((hour * hourUnit).toString());
|
143
143
|
if (nextTimestamp === 0) {
|
144
144
|
descriptions.push("00" + (chinese ? '分' : ':'));
|
145
145
|
descriptions.push("00" + (chinese ? '秒' : ''));
|
@@ -149,9 +149,9 @@ class FastVueMultiDate {
|
|
149
149
|
}
|
150
150
|
return descriptions.join("");
|
151
151
|
}
|
152
|
-
let day = parseInt(
|
152
|
+
let day = parseInt((timestamp / dayUnit).toString());
|
153
153
|
descriptions.push(day + (chinese ? '天' : 'day '));
|
154
|
-
let nextTimestamp = timestamp - parseInt(
|
154
|
+
let nextTimestamp = timestamp - parseInt((day * dayUnit).toString());
|
155
155
|
if (nextTimestamp === 0) {
|
156
156
|
descriptions.push("00" + (chinese ? '时' : ':'));
|
157
157
|
descriptions.push("00" + (chinese ? '分' : ':'));
|
@@ -0,0 +1,23 @@
|
|
1
|
+
/**
|
2
|
+
* 事件监听器
|
3
|
+
*/
|
4
|
+
export declare class FastVueMultiEventBus {
|
5
|
+
private static getWatcherConfig;
|
6
|
+
private static getWatcherTimer;
|
7
|
+
private static setWatcherTimer;
|
8
|
+
private static stopWatcherTimer;
|
9
|
+
private static startTimer;
|
10
|
+
private static pushWatcher;
|
11
|
+
/**
|
12
|
+
* 启动一个事件监听器
|
13
|
+
* @param eventName 事件名称 string|array
|
14
|
+
* @param callback 事件触发的回调 function(eventName,eventParams){}
|
15
|
+
*/
|
16
|
+
static on(eventName: any, callback: any): void;
|
17
|
+
/**
|
18
|
+
* 通知事件监听者
|
19
|
+
* @param eventName 事件名称 string|array
|
20
|
+
* @param eventParams 携带参数 any
|
21
|
+
*/
|
22
|
+
static emit(eventName: any, eventParams?: any): void;
|
23
|
+
}
|
@@ -0,0 +1,114 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.FastVueMultiEventBus = void 0;
|
4
|
+
const tslib_1 = require("tslib");
|
5
|
+
const lodash_1 = tslib_1.__importDefault(require("lodash"));
|
6
|
+
const js_cookie_1 = tslib_1.__importDefault(require("js-cookie"));
|
7
|
+
/**
|
8
|
+
* 事件监听器
|
9
|
+
*/
|
10
|
+
class FastVueMultiEventBus {
|
11
|
+
static getWatcherConfig() {
|
12
|
+
if (!window["__WATCHER_CONFIG"]) {
|
13
|
+
window["__WATCHER_CONFIG"] = {};
|
14
|
+
}
|
15
|
+
return window["__WATCHER_CONFIG"];
|
16
|
+
}
|
17
|
+
static getWatcherTimer() {
|
18
|
+
return window["__WATCHER_TIMER"];
|
19
|
+
}
|
20
|
+
static setWatcherTimer(timer) {
|
21
|
+
window["__WATCHER_TIMER"] = timer;
|
22
|
+
}
|
23
|
+
static stopWatcherTimer() {
|
24
|
+
if (this.getWatcherTimer()) {
|
25
|
+
clearTimeout(this.getWatcherTimer());
|
26
|
+
}
|
27
|
+
}
|
28
|
+
static startTimer() {
|
29
|
+
this.stopWatcherTimer();
|
30
|
+
this.setWatcherTimer(setTimeout(() => {
|
31
|
+
for (let eventName in this.getWatcherConfig()) {
|
32
|
+
let watchValue = js_cookie_1.default.get("EVENT@" + eventName);
|
33
|
+
let configs = this.getWatcherConfig()[eventName];
|
34
|
+
for (let config of configs) {
|
35
|
+
if (watchValue !== null && watchValue !== undefined && watchValue !== "null" && watchValue !== "undefined") {
|
36
|
+
let timestamp = parseInt(watchValue);
|
37
|
+
if (isNaN(timestamp)) {
|
38
|
+
continue;
|
39
|
+
}
|
40
|
+
if (config.timestamp < timestamp) {
|
41
|
+
let params = js_cookie_1.default.get("EVENT@PARMAS@" + eventName);
|
42
|
+
if (params) {
|
43
|
+
params = JSON.parse(params);
|
44
|
+
}
|
45
|
+
config.timestamp = timestamp;
|
46
|
+
config.callback(eventName, params);
|
47
|
+
}
|
48
|
+
}
|
49
|
+
}
|
50
|
+
}
|
51
|
+
this.startTimer();
|
52
|
+
}, 500));
|
53
|
+
}
|
54
|
+
static pushWatcher(eventName, callback) {
|
55
|
+
let lastConfigs = this.getWatcherConfig()[eventName];
|
56
|
+
if (lastConfigs) {
|
57
|
+
lastConfigs.push({
|
58
|
+
timestamp: new Date().getTime(),
|
59
|
+
callback: callback,
|
60
|
+
});
|
61
|
+
}
|
62
|
+
else {
|
63
|
+
this.getWatcherConfig()[eventName] = [{
|
64
|
+
timestamp: new Date().getTime(),
|
65
|
+
callback: callback,
|
66
|
+
}];
|
67
|
+
}
|
68
|
+
}
|
69
|
+
/**
|
70
|
+
* 启动一个事件监听器
|
71
|
+
* @param eventName 事件名称 string|array
|
72
|
+
* @param callback 事件触发的回调 function(eventName,eventParams){}
|
73
|
+
*/
|
74
|
+
static on(eventName, callback) {
|
75
|
+
if (!callback || lodash_1.default.isEmpty(eventName)) {
|
76
|
+
//未携带回调函数的监听者,认为是无效监听
|
77
|
+
return;
|
78
|
+
}
|
79
|
+
if (lodash_1.default.isArray(eventName)) {
|
80
|
+
for (let eventNameElement of eventName) {
|
81
|
+
this.pushWatcher(eventNameElement, callback);
|
82
|
+
}
|
83
|
+
}
|
84
|
+
else {
|
85
|
+
this.pushWatcher(eventName, callback);
|
86
|
+
}
|
87
|
+
this.startTimer();
|
88
|
+
}
|
89
|
+
/**
|
90
|
+
* 通知事件监听者
|
91
|
+
* @param eventName 事件名称 string|array
|
92
|
+
* @param eventParams 携带参数 any
|
93
|
+
*/
|
94
|
+
static emit(eventName, eventParams) {
|
95
|
+
if (lodash_1.default.isEmpty(eventName)) {
|
96
|
+
return;
|
97
|
+
}
|
98
|
+
if (lodash_1.default.isArray(eventName)) {
|
99
|
+
for (let eventNameElement of eventName) {
|
100
|
+
js_cookie_1.default.set("EVENT@" + eventNameElement, (new Date().getTime()).toString());
|
101
|
+
if (eventParams) {
|
102
|
+
js_cookie_1.default.set("EVENT@PARMAS@" + eventNameElement, JSON.stringify(eventParams));
|
103
|
+
}
|
104
|
+
}
|
105
|
+
}
|
106
|
+
else {
|
107
|
+
js_cookie_1.default.set("EVENT@" + eventName, (new Date().getTime()).toString());
|
108
|
+
if (eventParams) {
|
109
|
+
js_cookie_1.default.set("EVENT@PARMAS@" + eventName, JSON.stringify(eventParams));
|
110
|
+
}
|
111
|
+
}
|
112
|
+
}
|
113
|
+
}
|
114
|
+
exports.FastVueMultiEventBus = FastVueMultiEventBus;
|
@@ -11,7 +11,7 @@ import { FastVueMultiElement } from "./other/FastVueMultiElement";
|
|
11
11
|
import { FastVueMultiWindow } from "./other/FastVueMultiWindow";
|
12
12
|
import { FastVueMultiFile } from "./other/FastVueMultiFile";
|
13
13
|
import { FastVueMultiBase64 } from "./other/FastVueMultiBase64";
|
14
|
-
import {
|
14
|
+
import { FastVueMultiEventBus } from "./other/FastVueMultiEventBus";
|
15
15
|
/**
|
16
16
|
* FastVueMultiTool 手机APP功能工具类
|
17
17
|
*/
|
@@ -77,7 +77,7 @@ export declare class FastVueMultiTool {
|
|
77
77
|
*/
|
78
78
|
static Base64: typeof FastVueMultiBase64;
|
79
79
|
/**
|
80
|
-
*
|
80
|
+
* 事件传递
|
81
81
|
*/
|
82
|
-
static
|
82
|
+
static EventBus: typeof FastVueMultiEventBus;
|
83
83
|
}
|
@@ -1,4 +1,4 @@
|
|
1
|
-
define(["require", "exports", "tslib", "lodash", "./http/FastVueMultiHttp", "./other/FastVueMultiStore", "./vue/FastVueMultiConfig", "./http/FastVueMultiCookie", "./other/FastVueMultiClipboard", "./other/FastVueMultiDate", "./other/FastVueMultiBoolean", "./other/FastVueMultiFunction", "./other/FastVueMultiElement", "./other/FastVueMultiWindow", "./other/FastVueMultiFile", "./other/FastVueMultiBase64", "./other/
|
1
|
+
define(["require", "exports", "tslib", "lodash", "./http/FastVueMultiHttp", "./other/FastVueMultiStore", "./vue/FastVueMultiConfig", "./http/FastVueMultiCookie", "./other/FastVueMultiClipboard", "./other/FastVueMultiDate", "./other/FastVueMultiBoolean", "./other/FastVueMultiFunction", "./other/FastVueMultiElement", "./other/FastVueMultiWindow", "./other/FastVueMultiFile", "./other/FastVueMultiBase64", "./other/FastVueMultiEventBus"], function (require, exports, tslib_1, lodash_1, FastVueMultiHttp_1, FastVueMultiStore_1, FastVueMultiConfig_1, FastVueMultiCookie_1, FastVueMultiClipboard_1, FastVueMultiDate_1, FastVueMultiBoolean_1, FastVueMultiFunction_1, FastVueMultiElement_1, FastVueMultiWindow_1, FastVueMultiFile_1, FastVueMultiBase64_1, FastVueMultiEventBus_1) {
|
2
2
|
"use strict";
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
4
4
|
exports.FastVueMultiTool = void 0;
|
@@ -70,9 +70,9 @@ define(["require", "exports", "tslib", "lodash", "./http/FastVueMultiHttp", "./o
|
|
70
70
|
*/
|
71
71
|
FastVueMultiTool.Base64 = FastVueMultiBase64_1.FastVueMultiBase64;
|
72
72
|
/**
|
73
|
-
*
|
73
|
+
* 事件传递
|
74
74
|
*/
|
75
|
-
FastVueMultiTool.
|
75
|
+
FastVueMultiTool.EventBus = FastVueMultiEventBus_1.FastVueMultiEventBus;
|
76
76
|
return FastVueMultiTool;
|
77
77
|
}());
|
78
78
|
exports.FastVueMultiTool = FastVueMultiTool;
|
@@ -78,31 +78,31 @@ define(["require", "exports", "tslib", "moment", "lodash"], function (require, e
|
|
78
78
|
var nice = true;
|
79
79
|
if (time / month >= 1) {
|
80
80
|
if (level >= 5) {
|
81
|
-
return parseInt(
|
81
|
+
return parseInt((time / month).toString()) + "个月前";
|
82
82
|
}
|
83
83
|
nice = false;
|
84
84
|
}
|
85
85
|
if (nice && time / week >= 1) {
|
86
86
|
if (level >= 4) {
|
87
|
-
return parseInt(
|
87
|
+
return parseInt((time / week).toString()) + "周前";
|
88
88
|
}
|
89
89
|
nice = false;
|
90
90
|
}
|
91
91
|
if (nice && time / day >= 1) {
|
92
92
|
if (level >= 3) {
|
93
|
-
return parseInt(
|
93
|
+
return parseInt((time / day).toString()) + "天前";
|
94
94
|
}
|
95
95
|
nice = false;
|
96
96
|
}
|
97
97
|
if (nice && time / hour >= 1) {
|
98
98
|
if (level >= 2) {
|
99
|
-
return parseInt(
|
99
|
+
return parseInt((time / hour).toString()) + "小时前";
|
100
100
|
}
|
101
101
|
nice = false;
|
102
102
|
}
|
103
103
|
if (nice && time / minute >= 1) {
|
104
104
|
if (level >= 1) {
|
105
|
-
return parseInt(
|
105
|
+
return parseInt((time / minute).toString()) + "分钟前";
|
106
106
|
}
|
107
107
|
}
|
108
108
|
return this.format(sourceDate, "yyyy-MM-DD HH:mm");
|
@@ -123,13 +123,13 @@ define(["require", "exports", "tslib", "moment", "lodash"], function (require, e
|
|
123
123
|
return descriptions.join("");
|
124
124
|
}
|
125
125
|
else if (timestamp < minuteUnit) {
|
126
|
-
descriptions.push(lodash_1.default.padStart(
|
126
|
+
descriptions.push(lodash_1.default.padStart((timestamp / seconds).toString(), 2, "0") + (chinese ? '秒' : ''));
|
127
127
|
return descriptions.join("");
|
128
128
|
}
|
129
129
|
if (timestamp < hourUnit) {
|
130
|
-
var minute = parseInt(
|
131
|
-
descriptions.push(lodash_1.default.padStart(
|
132
|
-
var nextTimestamp_1 = timestamp - parseInt(
|
130
|
+
var minute = parseInt((timestamp / minuteUnit).toString());
|
131
|
+
descriptions.push(lodash_1.default.padStart(minute.toString(), 2, "0") + (chinese ? '分' : ':'));
|
132
|
+
var nextTimestamp_1 = timestamp - parseInt((minute * minuteUnit).toString());
|
133
133
|
if (nextTimestamp_1 === 0) {
|
134
134
|
descriptions.push("00" + (chinese ? '秒' : ''));
|
135
135
|
}
|
@@ -139,9 +139,9 @@ define(["require", "exports", "tslib", "moment", "lodash"], function (require, e
|
|
139
139
|
return descriptions.join("");
|
140
140
|
}
|
141
141
|
if (timestamp < dayUnit) {
|
142
|
-
var hour = parseInt(
|
143
|
-
descriptions.push(lodash_1.default.padStart(
|
144
|
-
var nextTimestamp_2 = timestamp - parseInt(
|
142
|
+
var hour = parseInt((timestamp / hourUnit).toString());
|
143
|
+
descriptions.push(lodash_1.default.padStart((hour).toString(), 2, "0") + (chinese ? '时' : ':'));
|
144
|
+
var nextTimestamp_2 = timestamp - parseInt((hour * hourUnit).toString());
|
145
145
|
if (nextTimestamp_2 === 0) {
|
146
146
|
descriptions.push("00" + (chinese ? '分' : ':'));
|
147
147
|
descriptions.push("00" + (chinese ? '秒' : ''));
|
@@ -151,9 +151,9 @@ define(["require", "exports", "tslib", "moment", "lodash"], function (require, e
|
|
151
151
|
}
|
152
152
|
return descriptions.join("");
|
153
153
|
}
|
154
|
-
var day = parseInt(
|
154
|
+
var day = parseInt((timestamp / dayUnit).toString());
|
155
155
|
descriptions.push(day + (chinese ? '天' : 'day '));
|
156
|
-
var nextTimestamp = timestamp - parseInt(
|
156
|
+
var nextTimestamp = timestamp - parseInt((day * dayUnit).toString());
|
157
157
|
if (nextTimestamp === 0) {
|
158
158
|
descriptions.push("00" + (chinese ? '时' : ':'));
|
159
159
|
descriptions.push("00" + (chinese ? '分' : ':'));
|
@@ -0,0 +1,23 @@
|
|
1
|
+
/**
|
2
|
+
* 事件监听器
|
3
|
+
*/
|
4
|
+
export declare class FastVueMultiEventBus {
|
5
|
+
private static getWatcherConfig;
|
6
|
+
private static getWatcherTimer;
|
7
|
+
private static setWatcherTimer;
|
8
|
+
private static stopWatcherTimer;
|
9
|
+
private static startTimer;
|
10
|
+
private static pushWatcher;
|
11
|
+
/**
|
12
|
+
* 启动一个事件监听器
|
13
|
+
* @param eventName 事件名称 string|array
|
14
|
+
* @param callback 事件触发的回调 function(eventName,eventParams){}
|
15
|
+
*/
|
16
|
+
static on(eventName: any, callback: any): void;
|
17
|
+
/**
|
18
|
+
* 通知事件监听者
|
19
|
+
* @param eventName 事件名称 string|array
|
20
|
+
* @param eventParams 携带参数 any
|
21
|
+
*/
|
22
|
+
static emit(eventName: any, eventParams?: any): void;
|
23
|
+
}
|
@@ -0,0 +1,122 @@
|
|
1
|
+
define(["require", "exports", "tslib", "lodash", "js-cookie"], function (require, exports, tslib_1, lodash_1, js_cookie_1) {
|
2
|
+
"use strict";
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
4
|
+
exports.FastVueMultiEventBus = void 0;
|
5
|
+
lodash_1 = tslib_1.__importDefault(lodash_1);
|
6
|
+
js_cookie_1 = tslib_1.__importDefault(js_cookie_1);
|
7
|
+
/**
|
8
|
+
* 事件监听器
|
9
|
+
*/
|
10
|
+
var FastVueMultiEventBus = /** @class */ (function () {
|
11
|
+
function FastVueMultiEventBus() {
|
12
|
+
}
|
13
|
+
FastVueMultiEventBus.getWatcherConfig = function () {
|
14
|
+
if (!window["__WATCHER_CONFIG"]) {
|
15
|
+
window["__WATCHER_CONFIG"] = {};
|
16
|
+
}
|
17
|
+
return window["__WATCHER_CONFIG"];
|
18
|
+
};
|
19
|
+
FastVueMultiEventBus.getWatcherTimer = function () {
|
20
|
+
return window["__WATCHER_TIMER"];
|
21
|
+
};
|
22
|
+
FastVueMultiEventBus.setWatcherTimer = function (timer) {
|
23
|
+
window["__WATCHER_TIMER"] = timer;
|
24
|
+
};
|
25
|
+
FastVueMultiEventBus.stopWatcherTimer = function () {
|
26
|
+
if (this.getWatcherTimer()) {
|
27
|
+
clearTimeout(this.getWatcherTimer());
|
28
|
+
}
|
29
|
+
};
|
30
|
+
FastVueMultiEventBus.startTimer = function () {
|
31
|
+
var _this = this;
|
32
|
+
this.stopWatcherTimer();
|
33
|
+
this.setWatcherTimer(setTimeout(function () {
|
34
|
+
for (var eventName in _this.getWatcherConfig()) {
|
35
|
+
var watchValue = js_cookie_1.default.get("EVENT@" + eventName);
|
36
|
+
var configs = _this.getWatcherConfig()[eventName];
|
37
|
+
for (var _i = 0, configs_1 = configs; _i < configs_1.length; _i++) {
|
38
|
+
var config = configs_1[_i];
|
39
|
+
if (watchValue !== null && watchValue !== undefined && watchValue !== "null" && watchValue !== "undefined") {
|
40
|
+
var timestamp = parseInt(watchValue);
|
41
|
+
if (isNaN(timestamp)) {
|
42
|
+
continue;
|
43
|
+
}
|
44
|
+
if (config.timestamp < timestamp) {
|
45
|
+
var params = js_cookie_1.default.get("EVENT@PARMAS@" + eventName);
|
46
|
+
if (params) {
|
47
|
+
params = JSON.parse(params);
|
48
|
+
}
|
49
|
+
config.timestamp = timestamp;
|
50
|
+
config.callback(eventName, params);
|
51
|
+
}
|
52
|
+
}
|
53
|
+
}
|
54
|
+
}
|
55
|
+
_this.startTimer();
|
56
|
+
}, 500));
|
57
|
+
};
|
58
|
+
FastVueMultiEventBus.pushWatcher = function (eventName, callback) {
|
59
|
+
var lastConfigs = this.getWatcherConfig()[eventName];
|
60
|
+
if (lastConfigs) {
|
61
|
+
lastConfigs.push({
|
62
|
+
timestamp: new Date().getTime(),
|
63
|
+
callback: callback,
|
64
|
+
});
|
65
|
+
}
|
66
|
+
else {
|
67
|
+
this.getWatcherConfig()[eventName] = [{
|
68
|
+
timestamp: new Date().getTime(),
|
69
|
+
callback: callback,
|
70
|
+
}];
|
71
|
+
}
|
72
|
+
};
|
73
|
+
/**
|
74
|
+
* 启动一个事件监听器
|
75
|
+
* @param eventName 事件名称 string|array
|
76
|
+
* @param callback 事件触发的回调 function(eventName,eventParams){}
|
77
|
+
*/
|
78
|
+
FastVueMultiEventBus.on = function (eventName, callback) {
|
79
|
+
if (!callback || lodash_1.default.isEmpty(eventName)) {
|
80
|
+
//未携带回调函数的监听者,认为是无效监听
|
81
|
+
return;
|
82
|
+
}
|
83
|
+
if (lodash_1.default.isArray(eventName)) {
|
84
|
+
for (var _i = 0, eventName_1 = eventName; _i < eventName_1.length; _i++) {
|
85
|
+
var eventNameElement = eventName_1[_i];
|
86
|
+
this.pushWatcher(eventNameElement, callback);
|
87
|
+
}
|
88
|
+
}
|
89
|
+
else {
|
90
|
+
this.pushWatcher(eventName, callback);
|
91
|
+
}
|
92
|
+
this.startTimer();
|
93
|
+
};
|
94
|
+
/**
|
95
|
+
* 通知事件监听者
|
96
|
+
* @param eventName 事件名称 string|array
|
97
|
+
* @param eventParams 携带参数 any
|
98
|
+
*/
|
99
|
+
FastVueMultiEventBus.emit = function (eventName, eventParams) {
|
100
|
+
if (lodash_1.default.isEmpty(eventName)) {
|
101
|
+
return;
|
102
|
+
}
|
103
|
+
if (lodash_1.default.isArray(eventName)) {
|
104
|
+
for (var _i = 0, eventName_2 = eventName; _i < eventName_2.length; _i++) {
|
105
|
+
var eventNameElement = eventName_2[_i];
|
106
|
+
js_cookie_1.default.set("EVENT@" + eventNameElement, (new Date().getTime()).toString());
|
107
|
+
if (eventParams) {
|
108
|
+
js_cookie_1.default.set("EVENT@PARMAS@" + eventNameElement, JSON.stringify(eventParams));
|
109
|
+
}
|
110
|
+
}
|
111
|
+
}
|
112
|
+
else {
|
113
|
+
js_cookie_1.default.set("EVENT@" + eventName, (new Date().getTime()).toString());
|
114
|
+
if (eventParams) {
|
115
|
+
js_cookie_1.default.set("EVENT@PARMAS@" + eventName, JSON.stringify(eventParams));
|
116
|
+
}
|
117
|
+
}
|
118
|
+
};
|
119
|
+
return FastVueMultiEventBus;
|
120
|
+
}());
|
121
|
+
exports.FastVueMultiEventBus = FastVueMultiEventBus;
|
122
|
+
});
|
package/package.json
CHANGED
@@ -1,11 +1,12 @@
|
|
1
1
|
{
|
2
2
|
"name": "fast-vue-multi-pages",
|
3
|
-
"version": "1.0.
|
3
|
+
"version": "1.0.19",
|
4
4
|
"author": "janesen",
|
5
5
|
"description": "快速搭建VUE项目工具类的基本库,主要用于每个功能页面独立生成html",
|
6
6
|
"main": "./dist/cjs/index.js",
|
7
7
|
"module": "./dist/esm/index.js",
|
8
8
|
"scripts": {
|
9
|
+
"vue-lib": "vue-cli-service build --target lib ./src/component/index.js --dest component",
|
9
10
|
"tsc": "tsc -p tsconfig.json && tsc -p tsconfig-cjs.json && tsc -p ./src/vue/tsconfig-cjs.json && tsc -p ./src/loader/tsconfig-cjs.json",
|
10
11
|
"login": "npm login",
|
11
12
|
"buildLocal": "npm run tsc",
|
@@ -33,7 +34,8 @@
|
|
33
34
|
"copy-to-clipboard": "^3.3.3",
|
34
35
|
"ip": "^2.0.1",
|
35
36
|
"file64": "^1.0.3",
|
36
|
-
"crypto-js": "^4.2.0"
|
37
|
+
"crypto-js": "^4.2.0",
|
38
|
+
"vue": "^3.2.13"
|
37
39
|
},
|
38
40
|
"devDependencies": {
|
39
41
|
"@typescript-eslint/eslint-plugin": "^7.16.0",
|
@@ -41,7 +43,15 @@
|
|
41
43
|
"ts-loader": "^9.5.1",
|
42
44
|
"typescript": "^5.5.3",
|
43
45
|
"webpack": "^5.92.1",
|
44
|
-
"webpack-cli": "^5.1.4"
|
46
|
+
"webpack-cli": "^5.1.4",
|
47
|
+
"@babel/core": "^7.12.16",
|
48
|
+
"@babel/eslint-parser": "^7.12.16",
|
49
|
+
"@vue/cli-plugin-babel": "~5.0.0",
|
50
|
+
"@vue/cli-plugin-eslint": "~5.0.0",
|
51
|
+
"@vue/cli-service": "~5.0.0",
|
52
|
+
"eslint": "^7.32.0",
|
53
|
+
"eslint-plugin-vue": "^8.0.3",
|
54
|
+
"fast-vue-multi-pages": "^1.0.17"
|
45
55
|
},
|
46
56
|
"files": [
|
47
57
|
"dist/cjs",
|
@@ -56,10 +66,11 @@
|
|
56
66
|
"node": true
|
57
67
|
},
|
58
68
|
"extends": [
|
69
|
+
"plugin:vue/vue3-essential",
|
59
70
|
"eslint:recommended"
|
60
71
|
],
|
61
72
|
"parserOptions": {
|
62
|
-
"parser": "@
|
73
|
+
"parser": "@babel/eslint-parser"
|
63
74
|
},
|
64
75
|
"rules": {}
|
65
76
|
},
|