@subiz/widget-v4 4.1.2 → 4.1.5
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/compiled_src/chatbox/ChatButton.js +25 -0
- package/compiled_src/lib.js +18 -3
- package/compiled_src/notif/notif.js +17 -11
- package/compiled_src/store/api.js +116 -108
- package/compiled_src/store/api_fake.js +4 -5
- package/compiled_src/store/store.js +51 -35
- package/dist/132.js +6611 -0
- package/dist/178.js +406 -0
- package/dist/18575b13d4f.132.js +1 -0
- package/dist/18575b13d4f.178.js +1 -0
- package/dist/18575b13d4f.213.js +1 -0
- package/dist/18575b13d4f.335.js +1 -0
- package/dist/18575b13d4f.362.js +1 -0
- package/dist/18575b13d4f.441.js +1 -0
- package/dist/18575b13d4f.605.js +1 -0
- package/dist/18575b13d4f.678.js +1 -0
- package/dist/18575b13d4f.782.js +1 -0
- package/dist/18575b13d4f.app.js +1 -0
- package/dist/18575b13d4f.index.html +26 -0
- package/dist/18575b13d4f.library.html +26 -0
- package/dist/18575b13d4f.library.js +1 -0
- package/dist/18575b13d4f.preview.html +759 -0
- package/dist/18575b13d4f.preview.js +1 -0
- package/dist/18575b13d4f.screenshoot.js +1 -0
- package/dist/18575b13d4f.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 +303 -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 +5608 -0
- package/inject.js +2 -6
- package/package.json +9 -8
- package/src/chatbox/ChatButton.js +30 -0
- package/src/lib.js +23 -3
- package/src/notif/notif.js +40 -30
- package/src/store/api.js +139 -114
- package/src/store/api_fake.js +1 -2
- package/src/store/store.js +53 -44
- package/webpack.dev.js +1 -0
- package/webpack.prod.js +1 -0
- package/webview.js +43 -0
package/src/store/store.js
CHANGED
|
@@ -15,6 +15,9 @@ const page_loaded = sb.Date.now()
|
|
|
15
15
|
|
|
16
16
|
// available localstorage key mask, user, hasManuallyClosed, isopen, close_preview_at, lastview, bot_run_logs, plugin_run_logs
|
|
17
17
|
export default class Store {
|
|
18
|
+
inmem = false
|
|
19
|
+
cookie = cookie
|
|
20
|
+
|
|
18
21
|
constructor(ApiURL, FileURL, RealtimeURL, inmem, fakeapi) {
|
|
19
22
|
this.g_sync = {}
|
|
20
23
|
this.forceDevice = null
|
|
@@ -28,6 +31,17 @@ export default class Store {
|
|
|
28
31
|
if (this.fake) this.api = new APIFake(ApiURL, FileURL)
|
|
29
32
|
else this.api = new API(ApiURL, FileURL)
|
|
30
33
|
|
|
34
|
+
// test cookie
|
|
35
|
+
if (!inmem) {
|
|
36
|
+
try {
|
|
37
|
+
document.cookie
|
|
38
|
+
localStorage
|
|
39
|
+
} catch (e) {
|
|
40
|
+
// cookie and localstorage is disable => must inmem
|
|
41
|
+
inmem = true
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
|
|
31
45
|
if (inmem) {
|
|
32
46
|
this.inmem = inmem
|
|
33
47
|
this.cookie = inmemCookie
|
|
@@ -75,9 +89,6 @@ export default class Store {
|
|
|
75
89
|
}, 2000)
|
|
76
90
|
}
|
|
77
91
|
|
|
78
|
-
inmem = false
|
|
79
|
-
cookie = cookie
|
|
80
|
-
|
|
81
92
|
// inmem
|
|
82
93
|
_currentViewingProduct = {}
|
|
83
94
|
linkProduct(p) {
|
|
@@ -350,68 +361,65 @@ export default class Store {
|
|
|
350
361
|
|
|
351
362
|
now = () => sb.Date.now() + this.timeDiff // millisecond on server
|
|
352
363
|
|
|
353
|
-
async init(accid, mask) {
|
|
364
|
+
async init(accid, mask, userRef) {
|
|
354
365
|
this.readyGate.close()
|
|
355
366
|
accid = (accid || '').trim()
|
|
356
367
|
this.api.setAuth({accid: accid})
|
|
357
|
-
|
|
358
368
|
this.g_sync = {}
|
|
359
|
-
|
|
360
|
-
|
|
369
|
+
if (!userRef) {
|
|
370
|
+
// try to find userRef in cookie
|
|
361
371
|
try {
|
|
362
|
-
|
|
372
|
+
userRef = this.cookie.get('__sbref', '')
|
|
363
373
|
} catch (e) {}
|
|
364
|
-
}
|
|
365
374
|
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
this.clearBrowserData()
|
|
381
|
-
} else userId = parts[1]
|
|
382
|
-
}
|
|
375
|
+
if (!userRef) {
|
|
376
|
+
// try to find mask in cookie
|
|
377
|
+
if (!mask) {
|
|
378
|
+
try {
|
|
379
|
+
mask = this.cookie.get('__sbmask', '')
|
|
380
|
+
} catch (e) {}
|
|
381
|
+
}
|
|
382
|
+
|
|
383
|
+
if (mask) {
|
|
384
|
+
let parts = mask.split('@')
|
|
385
|
+
if (parts[0] != accid) {
|
|
386
|
+
userRef = sb.randomString(40)
|
|
387
|
+
this.new_visitor = true
|
|
388
|
+
}
|
|
383
389
|
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
390
|
+
this.new_visitor = false // for checking returning or new visitor
|
|
391
|
+
// set cookie forever
|
|
392
|
+
this.cookie.set('__sbmask', mask)
|
|
393
|
+
} else {
|
|
394
|
+
// random
|
|
395
|
+
userRef = sb.randomString(40)
|
|
396
|
+
this.new_visitor = true
|
|
397
|
+
}
|
|
398
|
+
}
|
|
391
399
|
}
|
|
392
400
|
|
|
393
401
|
// set cookie forever
|
|
394
|
-
this.cookie.set('
|
|
395
|
-
|
|
402
|
+
if (userRef) this.cookie.set('__sbref', userRef)
|
|
403
|
+
|
|
404
|
+
let user = await this.api.setAuth({accid: accid, mask: mask, ref: userRef})
|
|
405
|
+
if (user.error) return
|
|
396
406
|
|
|
397
407
|
if (this.realtime) this.realtime.stop()
|
|
398
408
|
if (this.fake) this.realtime = new RealtimeFake()
|
|
399
|
-
else this.realtime = new Realtime(this.RealtimeURL, {user_mask: mask})
|
|
409
|
+
else this.realtime = new Realtime(this.RealtimeURL, {account_id: accid, user_ref: userRef, user_mask: mask})
|
|
400
410
|
|
|
401
411
|
this.realtime.onEvent(this.onWs.bind(this))
|
|
402
|
-
this.realtime.onInterrupted(() => this.reconnectWs(accid,
|
|
412
|
+
this.realtime.onInterrupted(() => this.reconnectWs(accid, user.id))
|
|
403
413
|
|
|
404
|
-
this.api.setAuth({accid: accid, uid: userId, mask: mask})
|
|
405
414
|
this.seenLoop()
|
|
406
415
|
await this.reconnect()
|
|
407
416
|
this.readyGate.open()
|
|
408
|
-
this.reconnectWs(accid,
|
|
409
|
-
|
|
410
|
-
return mask
|
|
417
|
+
this.reconnectWs(accid, user.id)
|
|
418
|
+
return user
|
|
411
419
|
}
|
|
412
420
|
|
|
413
421
|
async login(accid, user_id, tokenGenerator) {
|
|
414
|
-
let user = await this.api.
|
|
422
|
+
let user = await this.api.setAuth({accid: accid, profile_id: user_id, tokenGenerator: tokenGenerator})
|
|
415
423
|
if (user.error) return user
|
|
416
424
|
|
|
417
425
|
this.clearBrowserData()
|
|
@@ -436,8 +444,9 @@ export default class Store {
|
|
|
436
444
|
return user
|
|
437
445
|
}
|
|
438
446
|
|
|
439
|
-
logout(
|
|
440
|
-
this.api.
|
|
447
|
+
logout(userRef) {
|
|
448
|
+
return this.api.setAuth({ref: userRef})
|
|
449
|
+
// this.api.setTokenGenerator({})
|
|
441
450
|
}
|
|
442
451
|
|
|
443
452
|
seenQueue = [] // convoid will be seen
|
package/webpack.dev.js
CHANGED
package/webpack.prod.js
CHANGED
package/webview.js
ADDED
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import ApiV4 from './src/lib.js'
|
|
2
|
+
import RunBot from './src/bot.js'
|
|
3
|
+
|
|
4
|
+
var ajax = require('@subiz/ajax/src/ajax.js')
|
|
5
|
+
var config = require('./config.js')
|
|
6
|
+
|
|
7
|
+
var VERSION = '4.3'
|
|
8
|
+
|
|
9
|
+
var apiV4 = new ApiV4(config.ApiURL, config.FileURL, config.RealtimeURL)
|
|
10
|
+
|
|
11
|
+
function callV2(args) {
|
|
12
|
+
args = args || []
|
|
13
|
+
var out = []
|
|
14
|
+
if (Array.isArray(args)) out = args
|
|
15
|
+
else if (typeof args === 'object') {
|
|
16
|
+
var keys = Object.keys(args)
|
|
17
|
+
for (var i = 0; i < keys.length; i++) out.push(args[keys[i]])
|
|
18
|
+
} else return
|
|
19
|
+
args = out
|
|
20
|
+
if (args.length < 1) return
|
|
21
|
+
var method = args.shift()
|
|
22
|
+
|
|
23
|
+
if (typeof apiV4[method] !== 'function') return
|
|
24
|
+
return apiV4[method](...args)
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
function init() {
|
|
28
|
+
let queue = (window.subiz && window.subiz.q) || []
|
|
29
|
+
window.subiz = function () {
|
|
30
|
+
// DO NOT CONVERT TO ARROW FUNCTION, ARGUMENTS WILL BE NULL
|
|
31
|
+
return callV2(arguments)
|
|
32
|
+
}
|
|
33
|
+
queue.forEach(callV2)
|
|
34
|
+
|
|
35
|
+
apiV4.store.readyGate.entry().then(function () {
|
|
36
|
+
apiV4.store.track()
|
|
37
|
+
RunBot(apiV4.store)
|
|
38
|
+
})
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
init()
|
|
42
|
+
|
|
43
|
+
// TODO: should print example v4_1, v4_2, v4_3, ...
|