@subiz/widget-v4 4.1.12 → 4.1.14
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/assets/less/form.less +5 -0
- package/compiled_src/chatbox/Widget.js +2 -1
- package/compiled_src/store/store.js +62 -36
- package/compiled_src/util/common.js +2 -2
- package/dist/132.js +6612 -0
- package/dist/178.js +406 -0
- package/dist/1857b1f5c4f.132.js +1 -0
- package/dist/1857b1f5c4f.178.js +1 -0
- package/dist/1857b1f5c4f.213.js +1 -0
- package/dist/1857b1f5c4f.335.js +1 -0
- package/dist/1857b1f5c4f.362.js +1 -0
- package/dist/1857b1f5c4f.441.js +1 -0
- package/dist/1857b1f5c4f.605.js +1 -0
- package/dist/1857b1f5c4f.678.js +1 -0
- package/dist/1857b1f5c4f.782.js +1 -0
- package/dist/1857b1f5c4f.app.js +1 -0
- package/dist/1857b1f5c4f.index.html +26 -0
- package/dist/1857b1f5c4f.library.html +26 -0
- package/dist/1857b1f5c4f.library.js +1 -0
- package/dist/1857b1f5c4f.preview.html +759 -0
- package/dist/1857b1f5c4f.preview.js +1 -0
- package/dist/1857b1f5c4f.screenshoot.js +1 -0
- package/dist/1857b1f5c4f.webview.js +1 -0
- package/dist/213.js +2774 -0
- package/dist/335.js +372 -0
- package/dist/362.js +107 -0
- package/dist/441.js +2855 -0
- package/dist/605.js +305 -0
- package/dist/678.js +107 -0
- package/dist/782.js +107 -0
- package/dist/HASH +1 -0
- package/dist/assets/img/Facebook.64607ec.png +0 -0
- package/dist/assets/img/Zalo.6845707.png +0 -0
- package/dist/assets/img/award1a.1a58e10.png +0 -0
- package/dist/assets/img/award3a.3b74423.png +0 -0
- package/dist/assets/img/award4a.ed6ccd4.png +0 -0
- package/dist/assets/img/award5.39eb7ae.png +0 -0
- package/dist/assets/img/bubble_default.7d5e4ab.svg +20 -0
- package/dist/assets/img/caret.998eb8f.svg +1 -0
- package/dist/assets/img/convos_empty.2353007.svg +72 -0
- package/dist/assets/img/default.06e6ee0.jpg +0 -0
- package/dist/assets/img/default_avatar.5b74dc1.png +0 -0
- package/dist/assets/img/done_gray.d7e8203.svg +4 -0
- package/dist/assets/img/done_green.b817fd4.svg +4 -0
- package/dist/assets/img/emoji/messenger/sub_23.529_58.824.d5faf14.png +0 -0
- package/dist/assets/img/emoji/messenger/sub_23.529_60.784.1420241.png +0 -0
- package/dist/assets/img/emoji/messenger/sub_25.490_0.000.1e6b2c0.png +0 -0
- package/dist/assets/img/emoji/messenger/sub_25.490_45.098.3dfbc08.png +0 -0
- package/dist/assets/img/emoji/messenger/sub_25.490_5.882.4b49e94.png +0 -0
- package/dist/assets/img/emoji/messenger/sub_27.451_72.549.7114f58.png +0 -0
- package/dist/assets/img/emoji/messenger/sub_27.451_84.314.231e2b7.png +0 -0
- package/dist/assets/img/emoji/messenger/sub_27.451_96.078.ddbb008.png +0 -0
- package/dist/assets/img/emoji/messenger/sub_29.412_5.882.61f3359.png +0 -0
- package/dist/assets/img/emoji/messenger/sub_58.824_100.000.6df72bc.png +0 -0
- package/dist/assets/img/emoji/messenger/sub_58.824_45.098.3d7a7ad.png +0 -0
- package/dist/assets/img/emoji/messenger/sub_58.824_47.059.0f4d6e2.png +0 -0
- package/dist/assets/img/emoji/messenger/sub_58.824_54.902.65724c1.png +0 -0
- package/dist/assets/img/emoji/messenger/sub_58.824_64.706.9da3cba.png +0 -0
- package/dist/assets/img/emoji/messenger/sub_58.824_72.549.edca5cf.png +0 -0
- package/dist/assets/img/emoji/messenger/sub_58.824_78.431.f910f2a.png +0 -0
- package/dist/assets/img/emoji/messenger/sub_58.824_88.235.def4e71.png +0 -0
- package/dist/assets/img/emoji/messenger/sub_60.784_11.765.49c03d0.png +0 -0
- package/dist/assets/img/emoji/messenger/sub_60.784_27.451.46b54e5.png +0 -0
- package/dist/assets/img/emoji/messenger/sub_60.784_29.412.e36d284.png +0 -0
- package/dist/assets/img/emoji/messenger/sub_60.784_3.922.bb191b0.png +0 -0
- package/dist/assets/img/emoji/messenger/sub_60.784_35.294.af7b927.png +0 -0
- package/dist/assets/img/emoji/messenger/sub_60.784_7.843.98f2a99.png +0 -0
- package/dist/assets/img/empty.29bed2d.svg +23 -0
- package/dist/assets/img/empty_1.0b98af0.svg +11 -0
- package/dist/assets/img/examplte_logo.f86535f.svg +1 -0
- package/dist/assets/img/external-link.90577cc.svg +1 -0
- package/dist/assets/img/fb_inverse_circle.36c2cfc.png +0 -0
- package/dist/assets/img/ghn.070f8e3.svg +17 -0
- package/dist/assets/img/ghtk.326eac1.svg +18 -0
- package/dist/assets/img/image_default.be0698b.png +0 -0
- package/dist/assets/img/info.ebce7ea.svg +1 -0
- package/dist/assets/img/loader.37000a7.svg +1 -0
- package/dist/assets/img/loading_static.8f403ae.svg +10 -0
- package/dist/assets/img/main-service1.d536cc2.png +0 -0
- package/dist/assets/img/main-service2.9b99549.png +0 -0
- package/dist/assets/img/not_found_search.2ddb8d1.png +0 -0
- package/dist/assets/img/package.8d37d0f.svg +5 -0
- package/dist/assets/img/package_fade.763c001.svg +1 -0
- package/dist/assets/img/rating--average.1ea492c.svg +12 -0
- package/dist/assets/img/rating--great.e3d712e.svg +16 -0
- package/dist/assets/img/rating--poor.2938a25.svg +12 -0
- package/dist/assets/img/search.f9705ff.svg +1 -0
- package/dist/assets/img/send.6db52a9.svg +3 -0
- package/dist/assets/img/shop.f7dc7d8.svg +1 -0
- package/dist/assets/img/shop_faded.df7845a.svg +1 -0
- package/dist/assets/img/subiz-mono.877e9f5.svg +3 -0
- package/dist/assets/img/x.26fdfa3.svg +5 -0
- package/dist/malicious-app.js +13 -0
- package/dist/screenshoot.html +7 -0
- package/dist/screenshoot.js +5607 -0
- package/package.json +4 -4
- package/src/chatbox/Widget.js +3 -1
- package/src/store/store.js +61 -32
- package/src/util/common.js +2 -2
package/assets/less/form.less
CHANGED
|
@@ -53,6 +53,11 @@ textarea.form-control, select.form-control {
|
|
|
53
53
|
|
|
54
54
|
padding: 8px;
|
|
55
55
|
}
|
|
56
|
+
|
|
57
|
+
// Fix select display not fully text on Safari iOs
|
|
58
|
+
select.form-control {
|
|
59
|
+
padding: 1px 8px;
|
|
60
|
+
}
|
|
56
61
|
input[type='text'].form-control:focus, input[type='number'].form-control:focus,input[type='date'].form-control:focus,
|
|
57
62
|
textarea.form-control:focus, select.form-control:focus {
|
|
58
63
|
border: 1px solid @primary-color;
|
|
@@ -198,7 +198,7 @@ class Widget extends _common.Com {
|
|
|
198
198
|
is_lead = is_lead || key == 'emails' || key == 'phones';
|
|
199
199
|
if (field.type === 'number') attr.number = parseInt(field.value);
|
|
200
200
|
if (field.type === 'datetime') attr.datetime = new _index.default.Date(field.value).toISOString();
|
|
201
|
-
if (field.type === 'list') attr.
|
|
201
|
+
if (field.type === 'list') attr.text = field.value;
|
|
202
202
|
if (field.type === 'text' || field.type === 'boolean') attr[field.type] = field.value;
|
|
203
203
|
_index.default.setUserAttr(user, attr);
|
|
204
204
|
});
|
|
@@ -511,6 +511,7 @@ class Widget extends _common.Com {
|
|
|
511
511
|
onAddItem: item => this.onListAddItem(key, item),
|
|
512
512
|
onRemoveItem: item => this.onListRemoveItem(key, item)
|
|
513
513
|
});
|
|
514
|
+
$field = this.renderDropdownField(field);
|
|
514
515
|
} else if (field.type === 'datetime') {
|
|
515
516
|
$field = (0, _preact.h)("input", {
|
|
516
517
|
value: field.value,
|
|
@@ -29,7 +29,7 @@ class Store {
|
|
|
29
29
|
_defineProperty(this, "new_visitor", true);
|
|
30
30
|
_defineProperty(this, "matchUser", () => {
|
|
31
31
|
this._touchAcc();
|
|
32
|
-
return this.
|
|
32
|
+
return this.cache.match('user');
|
|
33
33
|
});
|
|
34
34
|
_defineProperty(this, "suggest_addresses", keyword => this.api.suggest_address(keyword));
|
|
35
35
|
_defineProperty(this, "matchAccount", () => this.cache.match('account'));
|
|
@@ -82,7 +82,7 @@ class Store {
|
|
|
82
82
|
_defineProperty(this, "listEvents", id => {
|
|
83
83
|
if (!id || id === '*' || typeof id !== 'string') return;
|
|
84
84
|
if (!this.isInsync('events' + id)) {
|
|
85
|
-
setTimeout(async () => {
|
|
85
|
+
_index.default.setTimeout(async () => {
|
|
86
86
|
await this.readyGate.entry();
|
|
87
87
|
await this.reconnectGate.entry(undefined, true);
|
|
88
88
|
if (this.isInsync('events' + id)) return this.reconnectGate.open();
|
|
@@ -109,14 +109,20 @@ class Store {
|
|
|
109
109
|
_defineProperty(this, "convoGate", new _index.default.Gate(true));
|
|
110
110
|
_defineProperty(this, "reconnectGate", new _index.default.Gate(true));
|
|
111
111
|
_defineProperty(this, "wsGate", new _index.default.Gate(true));
|
|
112
|
-
_defineProperty(this, "matchLastview", () =>
|
|
112
|
+
_defineProperty(this, "matchLastview", () => {
|
|
113
|
+
let lastView = this.kv.match('lastview') || {};
|
|
114
|
+
let user = this.cache.match('user') || {};
|
|
115
|
+
if (!user.id) return {};
|
|
116
|
+
if (lastView.user_id != user.id) return {};
|
|
117
|
+
return lastView;
|
|
118
|
+
});
|
|
113
119
|
_defineProperty(this, "matchIsOpen", () => !!this.kv.match('isopen'));
|
|
114
120
|
_defineProperty(this, "matchHasManuallyClosed", () => !!this.kv.match('hasManuallyClosed'));
|
|
115
121
|
_defineProperty(this, "matchClosePreviewAt", () => this.kv.match('close_preview_at') || 0);
|
|
116
122
|
_defineProperty(this, "sendPresence", _index.default.throttle(async () => {
|
|
117
123
|
await this.readyGate.entry();
|
|
118
|
-
if (!_index.default.get(this.
|
|
119
|
-
if (_index.default.isUserBanned(this.
|
|
124
|
+
if (!_index.default.get(this.cache.match('user'), 'id')) return;
|
|
125
|
+
if (_index.default.isUserBanned(this.cache.match('user'))) return;
|
|
120
126
|
let hasfocus = this.browserVisibility === 'visible' && document.hasFocus();
|
|
121
127
|
if (!hasfocus) {
|
|
122
128
|
this.api.sendLostFocus(this.device, this._currentViewingProduct.id, this._currentViewingProduct.source_id, this._currentViewingProduct.sku);
|
|
@@ -149,10 +155,15 @@ class Store {
|
|
|
149
155
|
}
|
|
150
156
|
});
|
|
151
157
|
_defineProperty(this, "closePreview", () => this.kv.put('close_preview_at', new _index.default.Date().getTime()));
|
|
152
|
-
_defineProperty(this, "setLastview", (view, opts) =>
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
158
|
+
_defineProperty(this, "setLastview", (view, opts) => {
|
|
159
|
+
let user = this.cache.match('user') || {};
|
|
160
|
+
if (!user.id) return;
|
|
161
|
+
this.kv.put('lastview', {
|
|
162
|
+
user_id: user.id,
|
|
163
|
+
view,
|
|
164
|
+
opts
|
|
165
|
+
});
|
|
166
|
+
});
|
|
156
167
|
_defineProperty(this, "timeDiff", 0);
|
|
157
168
|
this.g_sync = {};
|
|
158
169
|
this.forceDevice = null;
|
|
@@ -175,24 +186,25 @@ class Store {
|
|
|
175
186
|
this.inmem = inmem;
|
|
176
187
|
this.cookie = inmemCookie;
|
|
177
188
|
}
|
|
189
|
+
cleanLocalStorage();
|
|
178
190
|
this.pubsub = new _index.default.Pubsub();
|
|
179
|
-
this.kv = new _storage.default.kv(new _storage.default.lsdb('
|
|
180
|
-
this.cache = new _storage.default.kv(new _storage.default.lsdb('
|
|
181
|
-
this.chain = new _storage.default.chain(new _storage.default.lsdb('
|
|
191
|
+
this.kv = new _storage.default.kv(new _storage.default.lsdb('sbz2023', this.inmem), 'kv');
|
|
192
|
+
this.cache = new _storage.default.kv(new _storage.default.lsdb('sbz2023', true), 'kv');
|
|
193
|
+
this.chain = new _storage.default.chain(new _storage.default.lsdb('cbz2023', true), 'ch');
|
|
182
194
|
this.getLocaleContent = this.api.getLocaleContent;
|
|
183
195
|
this.g_haveSentSeenM = {};
|
|
184
196
|
window.addEventListener('blur', () => this.sendPresence());
|
|
185
197
|
window.addEventListener('focus', () => this.sendPresence());
|
|
186
|
-
setInterval(() => this.browserVisibility === 'visible' && document.hasFocus() && this.sendPresence(), 20000);
|
|
187
|
-
setInterval(() => (this.browserVisibility !== 'visible' || document.hasFocus()) && this.sendPresence(), 60000);
|
|
198
|
+
_index.default.setInterval(() => this.browserVisibility === 'visible' && document.hasFocus() && this.sendPresence(), 20000);
|
|
199
|
+
_index.default.setInterval(() => (this.browserVisibility !== 'visible' || document.hasFocus()) && this.sendPresence(), 60000);
|
|
188
200
|
onVisibilityChange(val => {
|
|
189
201
|
this.browserVisibility = val;
|
|
190
202
|
this.sendPresence();
|
|
191
203
|
});
|
|
192
204
|
this.loopTime();
|
|
193
205
|
this.device = this.getDeviceInfo();
|
|
194
|
-
const _gaInterval = setInterval(() => {
|
|
195
|
-
let user = this.
|
|
206
|
+
const _gaInterval = _index.default.setInterval(() => {
|
|
207
|
+
let user = this.cache.match('user') || {};
|
|
196
208
|
if (!user.id) return;
|
|
197
209
|
var dev = this.getDeviceInfo();
|
|
198
210
|
if (!dev.ga_tracking_ids || !dev.ga_client_id) return;
|
|
@@ -250,7 +262,7 @@ class Store {
|
|
|
250
262
|
await this.readyGate.entry();
|
|
251
263
|
this.disconnect('account');
|
|
252
264
|
await this.reconnect();
|
|
253
|
-
setTimeout(this.pubsub.publish('resetCSS'), 10);
|
|
265
|
+
_index.default.setTimeout(this.pubsub.publish('resetCSS'), 10);
|
|
254
266
|
}
|
|
255
267
|
getDeviceInfo() {
|
|
256
268
|
let device = {
|
|
@@ -394,9 +406,9 @@ class Store {
|
|
|
394
406
|
seenLoop() {
|
|
395
407
|
this.seenQueue = [];
|
|
396
408
|
clearInterval(this._seenInterval);
|
|
397
|
-
this._seenInterval = setInterval(() => {
|
|
409
|
+
this._seenInterval = _index.default.setInterval(() => {
|
|
398
410
|
this.seenQueue = [...new Set(this.seenQueue)];
|
|
399
|
-
let user = this.
|
|
411
|
+
let user = this.cache.match('user') || {};
|
|
400
412
|
_index.default.map(this.seenQueue, id => {
|
|
401
413
|
var events = this.listEvents(id);
|
|
402
414
|
if (!events) return;
|
|
@@ -455,7 +467,7 @@ class Store {
|
|
|
455
467
|
}
|
|
456
468
|
_setUser(user) {
|
|
457
469
|
user = _index.default.cloneDeep(user);
|
|
458
|
-
let olduser = this.
|
|
470
|
+
let olduser = this.cache.match('user') || {};
|
|
459
471
|
var accid = olduser.account_id || user.account_id;
|
|
460
472
|
var id = olduser.id || user.id;
|
|
461
473
|
_index.default.each(user.attributes, newattr => {
|
|
@@ -469,7 +481,7 @@ class Store {
|
|
|
469
481
|
olduser.attributes = olduser.attributes.concat(user.attributes);
|
|
470
482
|
olduser.account_id = accid;
|
|
471
483
|
olduser.id = id;
|
|
472
|
-
this.
|
|
484
|
+
this.cache.put('user', olduser);
|
|
473
485
|
this.pubsub.publish('account');
|
|
474
486
|
}
|
|
475
487
|
async setSetting(setting) {
|
|
@@ -539,13 +551,13 @@ class Store {
|
|
|
539
551
|
if (!ev || !ev.type) return;
|
|
540
552
|
ev.created = _index.default.getMs(ev.created);
|
|
541
553
|
if (ev.type === 'user_info_updated') {
|
|
542
|
-
let user = _index.default.cloneDeep(this.
|
|
554
|
+
let user = _index.default.cloneDeep(this.cache.match('user'));
|
|
543
555
|
let attrs = _index.default.get(ev, 'data.user.attributes') || [];
|
|
544
556
|
_index.default.map(attrs, attr => _index.default.setUserAttr(user, attr));
|
|
545
557
|
this._setUser(user);
|
|
546
558
|
return;
|
|
547
559
|
}
|
|
548
|
-
let user = this.
|
|
560
|
+
let user = this.cache.match('user') || {};
|
|
549
561
|
let cid = _index.default.convoOfEv(ev);
|
|
550
562
|
let convo;
|
|
551
563
|
let alreadyFetched = false;
|
|
@@ -568,7 +580,7 @@ class Store {
|
|
|
568
580
|
this.pubsub.publish('events', ev);
|
|
569
581
|
if (ev.type === 'conversation_joined') {
|
|
570
582
|
let members = _index.default.get(ev, 'data.conversation.members', []);
|
|
571
|
-
let me = _index.default.find(members, m => m.id === this.
|
|
583
|
+
let me = _index.default.find(members, m => m.id === this.cache.match('user').id);
|
|
572
584
|
if (me) {
|
|
573
585
|
await this.chain.reload(cid, (type, anchor, limit) => this.listmessageapi(type, anchor, limit));
|
|
574
586
|
this.markSync('events' + cid);
|
|
@@ -598,7 +610,7 @@ class Store {
|
|
|
598
610
|
}
|
|
599
611
|
}
|
|
600
612
|
async restConvoEvent(ev) {
|
|
601
|
-
let user = this.
|
|
613
|
+
let user = this.cache.match('user');
|
|
602
614
|
let cid = _index.default.convoOfEv(ev);
|
|
603
615
|
let convo = this.cache.match('convo_' + cid) || {};
|
|
604
616
|
if (ev.type === 'conversation_state_updated') {
|
|
@@ -704,7 +716,7 @@ class Store {
|
|
|
704
716
|
async sendConvoEvent(cid, type, data) {
|
|
705
717
|
await this.readyGate.entry();
|
|
706
718
|
var idempotency = _index.default.randomString(36);
|
|
707
|
-
let user = this.
|
|
719
|
+
let user = this.cache.match('user') || {};
|
|
708
720
|
var event = {
|
|
709
721
|
id: idempotency,
|
|
710
722
|
by: {
|
|
@@ -767,7 +779,7 @@ class Store {
|
|
|
767
779
|
}
|
|
768
780
|
_setConvo(convo) {
|
|
769
781
|
let count = 0;
|
|
770
|
-
let user = this.
|
|
782
|
+
let user = this.cache.match('user');
|
|
771
783
|
let channel = _index.default.get(convo, 'touchpoint.channel', '');
|
|
772
784
|
if (channel && channel != 'subiz') return;
|
|
773
785
|
let allconvo = {};
|
|
@@ -804,7 +816,7 @@ class Store {
|
|
|
804
816
|
this.kv.put('bot_run_logs', log);
|
|
805
817
|
}
|
|
806
818
|
sendImpression(id) {
|
|
807
|
-
let user = this.
|
|
819
|
+
let user = this.cache.match('user') || {};
|
|
808
820
|
let log = this.kv.match('plugin_run_logs') || {};
|
|
809
821
|
log[id] = {
|
|
810
822
|
web_plugin_id: id,
|
|
@@ -821,7 +833,7 @@ class Store {
|
|
|
821
833
|
});
|
|
822
834
|
}
|
|
823
835
|
sendConversion(id, fields, impressionToken) {
|
|
824
|
-
let user = this.
|
|
836
|
+
let user = this.cache.match('user') || {};
|
|
825
837
|
let submission = {
|
|
826
838
|
account_id: user.account_id,
|
|
827
839
|
user_id: user.id,
|
|
@@ -862,7 +874,7 @@ class Store {
|
|
|
862
874
|
value: event
|
|
863
875
|
};
|
|
864
876
|
});
|
|
865
|
-
let user = this.
|
|
877
|
+
let user = this.cache.match('user') || {};
|
|
866
878
|
for (let i = 0; i < events.length; i++) {
|
|
867
879
|
let ev = events[i].value;
|
|
868
880
|
if (ev.type !== 'message_sent') continue;
|
|
@@ -876,17 +888,17 @@ class Store {
|
|
|
876
888
|
}
|
|
877
889
|
async loopTime() {
|
|
878
890
|
let startms = _index.default.Date.now();
|
|
879
|
-
if (!_index.default.get(this.
|
|
891
|
+
if (!_index.default.get(this.cache.match('user'), 'id')) return _index.default.setTimeout(() => this.loopTime(), 240000);
|
|
880
892
|
let {
|
|
881
893
|
body: t,
|
|
882
894
|
error
|
|
883
895
|
} = await this.api.time();
|
|
884
|
-
if (error) return setTimeout(() => this.loopTime(), 30000);
|
|
896
|
+
if (error) return _index.default.setTimeout(() => this.loopTime(), 30000);
|
|
885
897
|
var latences = Math.abs(_index.default.Date.now() - startms) / 2;
|
|
886
898
|
var serverMs = new _index.default.Date(t).getTime() + latences;
|
|
887
899
|
var localMs = _index.default.Date.now();
|
|
888
900
|
this.timeDiff = Math.floor(serverMs - localMs);
|
|
889
|
-
setTimeout(() => this.loopTime(), 240000);
|
|
901
|
+
_index.default.setTimeout(() => this.loopTime(), 240000);
|
|
890
902
|
}
|
|
891
903
|
replaceFileUrl(src) {
|
|
892
904
|
if (!src) return '';
|
|
@@ -914,9 +926,9 @@ class Store {
|
|
|
914
926
|
if ((k || '').startsWith('__sb')) this.cookie.remove(k);
|
|
915
927
|
});
|
|
916
928
|
this.kv.destroy();
|
|
917
|
-
this.kv = new _storage.default.kv(new _storage.default.lsdb('
|
|
929
|
+
this.kv = new _storage.default.kv(new _storage.default.lsdb('sbz2023', this.inmem), 'kv');
|
|
918
930
|
this.chain.destroy();
|
|
919
|
-
this.chain = new _storage.default.chain(new _storage.default.lsdb('
|
|
931
|
+
this.chain = new _storage.default.chain(new _storage.default.lsdb('cbz2023', true), 'ch');
|
|
920
932
|
}
|
|
921
933
|
destroy() {
|
|
922
934
|
this._die = true;
|
|
@@ -1034,4 +1046,18 @@ function sendEventToThirdParty(category, action, label) {
|
|
|
1034
1046
|
let mobileCheck = function (a) {
|
|
1035
1047
|
return /(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(a) || /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(a.substr(0, 4));
|
|
1036
1048
|
}(navigator.userAgent || navigator.vendor || window.opera);
|
|
1037
|
-
let tabletCheck = /(ipad|tablet|(android(?!.*mobile))|(windows(?!.*phone)(.*touch))|kindle|playbook|silk|(puffin(?!.*(IP|AP|WP))))/.test(navigator.userAgent);
|
|
1049
|
+
let tabletCheck = /(ipad|tablet|(android(?!.*mobile))|(windows(?!.*phone)(.*touch))|kindle|playbook|silk|(puffin(?!.*(IP|AP|WP))))/.test(navigator.userAgent);
|
|
1050
|
+
let cleanLocalStorage = () => {
|
|
1051
|
+
try {
|
|
1052
|
+
localStorage;
|
|
1053
|
+
} catch (e) {
|
|
1054
|
+
return;
|
|
1055
|
+
}
|
|
1056
|
+
_index.default.setTimeout(() => {
|
|
1057
|
+
for (var key in localStorage) {
|
|
1058
|
+
if (key && key.startsWith('cbz2020') || key.startsWith('sbz2020')) {
|
|
1059
|
+
localStorage.removeItem(key);
|
|
1060
|
+
}
|
|
1061
|
+
}
|
|
1062
|
+
});
|
|
1063
|
+
};
|
|
@@ -80,9 +80,9 @@ var Date = f.contentWindow.Date;
|
|
|
80
80
|
exports.Date = Date;
|
|
81
81
|
var requestAnimationFrame = f.contentWindow.requestAnimationFrame;
|
|
82
82
|
exports.requestAnimationFrame = requestAnimationFrame;
|
|
83
|
-
var setTimeout = f.contentWindow.setTimeout;
|
|
83
|
+
var setTimeout = f.contentWindow.setTimeout.bind(f.contentWindow);
|
|
84
84
|
exports.setTimeout = setTimeout;
|
|
85
|
-
var setInterval = f.contentWindow.setInterval;
|
|
85
|
+
var setInterval = f.contentWindow.setInterval.bind(f.contentWindow);
|
|
86
86
|
exports.setInterval = setInterval;
|
|
87
87
|
function convoOfEv(ev) {
|
|
88
88
|
if (!ev) return '';
|