Skip to content

Commit 59e9d54

Browse files
[优化及bug修改]
1. 优化 alias API 2. 优化Hybrid模式下,消息通信 3. 优化可视化性能 4. 优化曝光点采集时机
1 parent 7c0e0a1 commit 59e9d54

File tree

126 files changed

+11549
-121
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

126 files changed

+11549
-121
lines changed

.babelrc

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
{
2+
"env": {
3+
"test": {
4+
"plugins": [
5+
"@babel/plugin-transform-modules-commonjs"
6+
]
7+
}
8+
}
9+
}

.gitignore

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
.eslintrc.json
2-
.babelrc
31
package-lock.json
42
node_modules/
53
*.zip

demo/sdk/AnalysysAgent_ExposurePoint.amd.min.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

demo/sdk/AnalysysAgent_ExposurePoint.min.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

demo/sdk/AnalysysAgent_JS_SDK.amd.min.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

demo/sdk/AnalysysAgent_JS_SDK.min.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

demo/sdk/AnalysysAgent_JS_SDK_HEATMAP.min.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

demo/sdk/AnalysysAgent_JS_SDK_VISUAL.min.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

demo/sdk/AnalysysAgent_PageViewStayTime.amd.min.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

demo/sdk/AnalysysAgent_PageViewStayTime.min.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,15 @@
11
{
22
"name": "ans-javascript-sdk",
3-
"version": "4.5.4",
3+
"version": "4.5.5",
44
"description": "official analysysAgent javascript sdk",
55
"main": "./sdk/AnalysysAgent_JS_SDK.min.js",
66
"module": "./sdk/AnalysysAgent_JS_SDK.es6.min.js",
77
"scripts": {
88
"test": "jest",
99
"dev": "rollup -c rollup.config.js --watch",
1010
"module": "rollup -c rollup.module.config.js --watch",
11-
"build": "rollup -c rollup.config.js&&rollup -c rollup.module.config.js",
11+
"plugins": "rollup -c rollup.plugins.config.js --watch",
12+
"build": "rollup -c rollup.config.js&&rollup -c rollup.module.config.js&&rollup -c rollup.plugins.config.js",
1213
"cover": "jest --coverage",
1314
"lint": "standard \"src/**/*.{js,vue}\"",
1415
"lint:fix": "standard \"src/**/*.{js,vue}\" --fix"

rollup.module.config.js

Lines changed: 0 additions & 70 deletions
Original file line numberDiff line numberDiff line change
@@ -400,76 +400,6 @@ export default [
400400

401401
]
402402
},
403-
{
404-
input: './src/configure/customized/visual/visualShow/index.js',
405-
output: [
406-
{
407-
file: './demo/sdk/AnalysysAgent_JS_SDK_VISUAL.min.js',
408-
format: 'iife',
409-
name: 'Ans',
410-
freeze: false
411-
},
412-
{
413-
file: './vue-demo/public/AnalysysAgent_JS_SDK_VISUAL.min.js',
414-
format: 'iife',
415-
name: 'Ans',
416-
freeze: false
417-
}, {
418-
file: './SDK/AnalysysAgent_JS_SDK_VISUAL.min.js',
419-
format: 'iife',
420-
name: 'Ans',
421-
freeze: false
422-
}],
423-
plugins: [
424-
resolve({
425-
jsnext: true,
426-
main: true,
427-
browser: true
428-
}),
429-
postcss({
430-
extensions: ['.css']
431-
}),
432-
commonjs(),
433-
eslint({
434-
exclude: [
435-
'src/**'
436-
]
437-
}),
438-
babel({
439-
exclude: 'node_modules/**',
440-
runtimeHelpers: true // 配置runtime,不设置会报错
441-
}),
442-
babel({
443-
444-
babelrc: false,
445-
446-
presets: [['@babel/preset-env', {
447-
modules: false, loose: true, "targets": {
448-
"ie": "6"
449-
}
450-
}]],
451-
452-
include: ['src/**'],
453-
454-
plugins: ['@babel/plugin-external-helpers'],
455-
456-
runtimeHelpers: true
457-
458-
}),
459-
460-
es3({
461-
462-
remove: ['defineProperty', 'freeze']
463-
464-
}),
465-
uglify({
466-
mangle: {
467-
toplevel: true
468-
},
469-
ie8: true
470-
})
471-
]
472-
},
473403
{
474404
input: './src/configure/customized/heatmap/heatmapSDK/index.js',
475405
output: [

rollup.plugins.config.js

Lines changed: 129 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,129 @@
1+
import babel from 'rollup-plugin-babel'
2+
import { eslint } from 'rollup-plugin-eslint'
3+
import resolve from 'rollup-plugin-node-resolve'
4+
import commonjs from 'rollup-plugin-commonjs'
5+
import postcss from 'rollup-plugin-postcss'
6+
import es3 from 'rollup-plugin-es3';
7+
import { uglify } from 'rollup-plugin-uglify'
8+
import { terser } from 'rollup-plugin-terser'
9+
var plugin = [
10+
resolve({
11+
jsnext: true,
12+
main: true,
13+
browser: true
14+
}),
15+
postcss({
16+
extensions: ['.css']
17+
}),
18+
commonjs(),
19+
eslint({
20+
include: 'src/**',
21+
exclude: ['node_modules/**'],
22+
}),
23+
babel({
24+
25+
babelrc: false,
26+
27+
presets: [['@babel/preset-env', {
28+
modules: false, loose: true, "targets": {
29+
"ie": "6"
30+
}
31+
}]],
32+
33+
include: ['src/**'],
34+
35+
plugins: ['@babel/plugin-external-helpers'],
36+
37+
runtimeHelpers: true
38+
39+
}),
40+
41+
es3({
42+
43+
remove: ['defineProperty', 'freeze']
44+
45+
})
46+
]
47+
export default [
48+
{
49+
input: './src/configure/customized/mpaas/index.js',
50+
output: [{
51+
file: './demo/sdk/AnalysysAgent_MPAAS.min.js',
52+
format: 'iife',
53+
name: 'Encrypt',
54+
freeze: false, // 禁止使用Object.freeze方式加载模块
55+
plugins: [
56+
uglify({
57+
mangle: {
58+
toplevel: true
59+
},
60+
ie8: true
61+
})
62+
]
63+
},
64+
{
65+
file: './sdk/AnalysysAgent_MPAAS.min.js',
66+
format: 'iife',
67+
name: 'Encrypt',
68+
freeze: false, // 禁止使用Object.freeze方式加载模块
69+
plugins: [
70+
uglify({
71+
mangle: {
72+
toplevel: true
73+
},
74+
ie8: true
75+
})
76+
]
77+
}, {
78+
file: './vue-dome/src/sdk/AnalysysAgent_MPAAS.es6.min.js',
79+
format: 'esm',
80+
name: 'Encrypt',
81+
plugins: [
82+
terser({
83+
mangle: {
84+
toplevel: true
85+
}
86+
})
87+
]
88+
},
89+
{
90+
file: './sdk/AnalysysAgent_MPAAS.es6.min.js',
91+
format: 'esm',
92+
name: 'Encrypt',
93+
plugins: [
94+
terser({
95+
mangle: {
96+
toplevel: true
97+
}
98+
})
99+
]
100+
},
101+
{
102+
file: './demo/sdk/AnalysysAgent_MPAAS.amd.min.js',
103+
format: 'amd',
104+
name: 'Encrypt',
105+
plugins: [
106+
uglify({
107+
mangle: {
108+
toplevel: true
109+
},
110+
ie8: true
111+
})
112+
]
113+
},
114+
{
115+
file: './sdk/AnalysysAgent_MPAAS.amd.min.js',
116+
format: 'amd',
117+
name: 'Encrypt',
118+
plugins: [
119+
uglify({
120+
mangle: {
121+
toplevel: true
122+
},
123+
ie8: true
124+
})
125+
]
126+
}],
127+
plugins: plugin
128+
}
129+
]

sdk/AnalysysAgent_ExposurePoint.amd.min.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

sdk/AnalysysAgent_ExposurePoint.es6.min.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

sdk/AnalysysAgent_ExposurePoint.min.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

sdk/AnalysysAgent_JS_SDK.amd.min.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

sdk/AnalysysAgent_JS_SDK.es6.min.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

sdk/AnalysysAgent_JS_SDK.min.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

sdk/AnalysysAgent_JS_SDK_HEATMAP.min.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

sdk/AnalysysAgent_JS_SDK_VISUAL.min.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

sdk/AnalysysAgent_PageViewStayTime.amd.min.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

sdk/AnalysysAgent_PageViewStayTime.es6.min.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

sdk/AnalysysAgent_PageViewStayTime.min.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

sdk/md5.txt

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,20 @@
1-
AnalysysAgent_Encrypt.amd.min.js 784433ef6b1f4f6b040ddb566aea0626
2-
AnalysysAgent_Encrypt.es6.min.js 6a2ee50777d35badecafb442cd38d0a1
3-
AnalysysAgent_Encrypt.min.js 9053fda19b72f6226960a6bbabc2d2f7
4-
AnalysysAgent_ExposurePoint.amd.min.js 1cb55d4fafbb03ac3d159bad5811ca7c
5-
AnalysysAgent_ExposurePoint.es6.min.js 245ca3b59b223b7afe1a1ec026a136e6
6-
AnalysysAgent_ExposurePoint.min.js c0a5453a7448c19c1cc889d97273e856
7-
AnalysysAgent_GBK.amd.min.js 1b93e2c1ad648a1f85bcd5a11a4d2ef5
8-
AnalysysAgent_GBK.es6.min.js cba14fe216ea5cda5b1585ad5e9d8ee5
9-
AnalysysAgent_GBK.min.js 2c2573fd9a7570a4dda6f9561eb3c3c6
10-
AnalysysAgent_JS_SDK.amd.min.js 70d1b03cd14a9bea1a5744ee61100b1d
11-
AnalysysAgent_JS_SDK.es6.min.js 7160980999eca76512e32b1c412a3c08
12-
AnalysysAgent_JS_SDK.min.js ce7ca78f520733b3448b639f491bf2f1
13-
AnalysysAgent_JS_SDK_HEATMAP.min.js 68594876860e11993d50812ca9cceb9e
14-
AnalysysAgent_JS_SDK_VISUAL.min.js 9dc15d13478c0ac4eb26c4d136f0cd40
15-
AnalysysAgent_MPAAS.amd.min.js cc1899d875c3fd25b0aee7c65cac5bd7
16-
AnalysysAgent_MPAAS.es6.min.js 662d57935949fdad4f6d19b80b06f15c
17-
AnalysysAgent_MPAAS.min.js 76c03a094e69cd9fd0c68bf8ee4d70f7
18-
AnalysysAgent_PageViewStayTime.amd.min.js 27dc51be18f7eeb2d298f70079fc9e9e
19-
AnalysysAgent_PageViewStayTime.es6.min.js 8e5706f9434bbc74bca6300e8c069e53
20-
AnalysysAgent_PageViewStayTime.min.js 02b4ff7708ba6ffe38ee5fd19e050b5b
1+
AnalysysAgent_Encrypt.amd.min.js : 784433ef6b1f4f6b040ddb566aea0626
2+
AnalysysAgent_Encrypt.es6.min.js : 6a2ee50777d35badecafb442cd38d0a1
3+
AnalysysAgent_Encrypt.min.js : 9053fda19b72f6226960a6bbabc2d2f7
4+
AnalysysAgent_ExposurePoint.amd.min.js : 5ed0d2ef918f77cdf10a343287971bc0
5+
AnalysysAgent_ExposurePoint.es6.min.js : b9c117d8d584443c551bc13cb6783a6f
6+
AnalysysAgent_ExposurePoint.min.js : 69d54c00a1d4d4ebe5d382b720be274a
7+
AnalysysAgent_GBK.amd.min.js : 1b93e2c1ad648a1f85bcd5a11a4d2ef5
8+
AnalysysAgent_GBK.es6.min.js : cba14fe216ea5cda5b1585ad5e9d8ee5
9+
AnalysysAgent_GBK.min.js : 2c2573fd9a7570a4dda6f9561eb3c3c6
10+
AnalysysAgent_JS_SDK.amd.min.js : 0856ef5489080e0c398e4020b7ec1372
11+
AnalysysAgent_JS_SDK.es6.min.js : 9a3e60cd258c7e81c0f0fb24820ec4a0
12+
AnalysysAgent_JS_SDK.min.js : 377b06e05d8a71de0e47d85f571908b8
13+
AnalysysAgent_JS_SDK_HEATMAP.min.js : 38502d01e3423d36bc29f57a8fb45c3b
14+
AnalysysAgent_JS_SDK_VISUAL.min.js : 775cd61493f4ea9de299226b1029dc32
15+
AnalysysAgent_MPAAS.amd.min.js : cc1899d875c3fd25b0aee7c65cac5bd7
16+
AnalysysAgent_MPAAS.es6.min.js : 662d57935949fdad4f6d19b80b06f15c
17+
AnalysysAgent_MPAAS.min.js : 76c03a094e69cd9fd0c68bf8ee4d70f7
18+
AnalysysAgent_PageViewStayTime.amd.min.js : 739b2a6e10971e9b953bebc42767ac14
19+
AnalysysAgent_PageViewStayTime.es6.min.js : 6b1340d9e6b963cfe99a8b1cd36225cb
20+
AnalysysAgent_PageViewStayTime.min.js : 6b245404a732029f33e120904c64e287

src/API/index.js

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
// import '../lib/compatible/index.js'
2+
import { pageView } from './template/pageView.js'
3+
import { track } from './template/track.js'
4+
import { freeApi } from './template/freeApi.js'
5+
import { getPresetProperties } from './template/getPresetProperties.js'
6+
import { alias } from './template/alias.js'
7+
import { identify } from './template/identify.js'
8+
import { profileSet } from './template/profileSet.js'
9+
import { profileSetOnce } from './template/profileSetOnce.js'
10+
import { profileIncrement } from './template/profileIncrement.js'
11+
import { profileAppend } from './template/profileAppend.js'
12+
import { profileUnset } from './template/profileUnset.js'
13+
import { profileDelete } from './template/profileDelete.js'
14+
import { registerSuperProperty } from './template/registerSuperProperty.js'
15+
import { registerSuperProperties } from './template/registerSuperProperties.js'
16+
import { getSuperProperty } from './template/getSuperProperty.js'
17+
import { getSuperProperties } from './template/getSuperProperties.js'
18+
import { unRegisterSuperProperty } from './template/unRegisterSuperProperty.js'
19+
import { clearSuperProperties } from './template/clearSuperProperties.js'
20+
import { reset } from './template/reset.js'
21+
// import { push } from './template/push.js'
22+
import { getDistinctId } from './template/getDistinctId.js'
23+
24+
export {
25+
pageView,
26+
profileSet,
27+
profileSetOnce,
28+
profileIncrement,
29+
profileAppend,
30+
profileUnset,
31+
profileDelete,
32+
alias,
33+
identify,
34+
track,
35+
registerSuperProperty,
36+
registerSuperProperties,
37+
getSuperProperty,
38+
getSuperProperties,
39+
unRegisterSuperProperty,
40+
clearSuperProperties,
41+
reset,
42+
freeApi,
43+
// push,
44+
getDistinctId,
45+
getPresetProperties
46+
}

src/API/template/alias.js

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
import { temp } from '../../lib/mergeRules/index.js'
2+
import { fillField, checkPrivate, resetCode } from '../../lib/fillField/index.js'
3+
import baseConfig from '../../lib/baseConfig/index.js'
4+
import { upLog } from '../../lib/upload/index.js'
5+
import Util from '../../lib/common/index.js'
6+
import Storage from '../../lib/storage/index.js'
7+
import { transporter, backParamsArray } from '../../lib/upload/hybrid.js'
8+
import { successLog } from '../../lib/printLog/index.js'
9+
function alias (aliasId, callback) {
10+
baseConfig.status.FnName = '$alias'
11+
resetCode()
12+
if (aliasId === Storage.getLocal('ARK_LOGINID')) {
13+
baseConfig.status.successCode = '20013'
14+
successLog()
15+
Util.paramType(callback) === 'Function' && callback.call(callback)
16+
return false
17+
}
18+
if (baseConfig.base.isHybrid === true) {
19+
var backParams = backParamsArray(aliasId, '', callback)
20+
var paramArray = backParams.argArray
21+
transporter('alias', paramArray, backParams.callback)
22+
return
23+
}
24+
// 检测aliasId
25+
var status = checkPrivate(aliasId, '$alias', true)
26+
27+
if (!status) {
28+
Util.paramType(callback) === 'Function' && callback.call(callback)
29+
return
30+
}
31+
// if (distinctId) {
32+
// //检测distinctId
33+
// status = checkPrivate(distinctId, '$alias', true)
34+
// if (status) {
35+
// Storage.setLocal('ARK_TRACKID', distinctId)
36+
// }
37+
// }
38+
39+
Storage.setLocal('ARK_LOGINID', aliasId)
40+
41+
var aliasTemp = temp('$alias')
42+
var aliasLog = fillField(aliasTemp)
43+
44+
// 去除空数据后上传数据
45+
upLog(Util.delEmpty(aliasLog), callback)
46+
47+
if (baseConfig.base.autoProfile === true) {
48+
baseConfig.status.FnName = '$profile_set_once'
49+
var profileSetOnceTemp = temp('$profile_set_once')
50+
51+
var profileSetOnceObj = fillField(profileSetOnceTemp)
52+
var time = Storage.getLocal('ARKFRISTPROFILE') || Util.format(new Date(), 'yyyy-MM-dd hh:mm:ss.SSS')
53+
var obj = {
54+
$first_visit_time: time,
55+
$first_visit_language: (navigator.language || navigator.browserLanguage).toLowerCase()
56+
}
57+
var profileSetOnceLog = Util.objMerge(profileSetOnceObj, {
58+
xcontext: obj
59+
})
60+
// 去除空数据后上传数据
61+
upLog(Util.delEmpty(profileSetOnceLog))
62+
Storage.setLocal('ARKFRISTPROFILE', time)
63+
}
64+
}
65+
export {
66+
alias
67+
}

0 commit comments

Comments
 (0)