Jacob
2026-10-13 a4ffccdccbf8b67a5fa34098c83a7d2013b41209
1
var e = function (t, n) { return e = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function (e, t) { e.__proto__ = t } || function (e, t) { for (var n in t) ({}).hasOwnProperty.call(t, n) && (e[n] = t[n]) }, e(t, n) }; function t(t, n) { if ("function" != typeof n && null !== n) throw new TypeError("Class extends value " + n + " is not a constructor or null"); function i() { this.constructor = t } e(t, n), t.prototype = null === n ? Object.create(n) : (i.prototype = n.prototype, new i) } var n = function () { return n = Object.assign || function (e) { for (var t, n = 1, i = arguments.length; i > n; n++)for (var r in t = arguments[n]) ({}).hasOwnProperty.call(t, r) && (e[r] = t[r]); return e }, n.apply(this, arguments) }; function i(e, t, n) { if (n || 2 === arguments.length) for (var i, r = 0, o = t.length; o > r; r++)!i && r in t || (i || (i = [].slice.call(t, 0, r)), i[r] = t[r]); return e.concat(i || [].slice.call(t)) } "function" == typeof SuppressedError && SuppressedError; var r = /^e[0-9]+$/, o = /^[a-zA-Z_][0-9a-zA-Z_]{0,100}$/, a = function (e) { return ["undefined", "null"].includes(N(e)) }, u = function (e) { return "string" === N(e) }, s = function (e) { return "number" === N(e) }, c = function (e) { return "boolean" === N(e) }, l = function (e) { return "[object Object]" === {}.toString.call(e) && !a(e) }, g = function (e) { return ["function", "asyncfunction"].includes(N(e)) }, d = function (e) { return Array.isArray(e) && "array" === N(e) }, f = function (e) { return "date" === N(e) }, p = function (e) { try { return Array.from(e)[0] } catch (e) { return } }, v = function (e) { try { var t = Array.from(e); return t[t.length - 1] } catch (e) { return } }, h = function (e, t) { return void 0 === t && (t = 1), d(e) && s(t) ? e.slice(t > 0 ? t : 1, e.length) : e }, m = function (e, t) { if (void 0 === t && (t = !1), d(e)) { for (var n = 0, i = [], r = 0, o = e; r < o.length; r++) { var a = o[r]; a && !A(a) && (i[n++] = a), t && 0 === a && (i[n++] = a) } return i } return e }, I = function (e, t) { if (d(e)) { var n = e.findIndex(t); return 0 > n ? void 0 : e[n] } }, y = function (e) { return a(e) ? "" : "".concat(e) }, S = function (e, t) { return "string" === N(e) ? e.split(t) : e }, w = function (e) { if (u(e)) { var t = S(e, ""); return "".concat(p(t).toLowerCase()).concat(h(t).join("")) } return e }, _ = function (e, t) { return u(e) || (e = y(e)), e.slice(0, t.length) === t }, O = {}.hasOwnProperty, P = function (e, t) { return !a(e) && O.call(e, t) }, T = function (e) { return l(e) ? Object.keys(e) : [] }, k = function (e, t) { T(e).forEach(function (n) { return t(e[n], n) }) }, b = function (e, t) { var n = T(e); return !(!l(e) || !l(t) || n.length !== T(t).length || n.map(function (n, i) { return l(e[n]) ? b(e[n], t[n]) : e[n] === t[n] }).includes(!1)) }, E = function (e, t, n) { var i = e; return l(e) ? (t.split(".").forEach(function (e) { i = i ? i[e] : n }), i) : n }, C = function (e, t) { if (!l(e)) return !1; try { if ("string" === N(t)) return delete e[t]; if ("array" === N(t)) return t.map(function (t) { return delete e[t] }); "object" === N(t) && t.constructor === RegExp && T(e).forEach(function (n) { t.test(n) && C(e, n) }) } catch (e) { return !1 } }, x = function (e, t, n, i) { var r; void 0 === t && (t = 250); var o = 0; return "boolean" !== N(n) && (i = e, e = n, n = void 0), function () { for (var a = [], u = 0; arguments.length > u; u++)a[u] = arguments[u]; var s = this, c = Date.now() - o; function l() { o = Date.now(), e.apply(s, a) } i && !r && l(), r && clearTimeout(r), void 0 === i && c > t ? l() : !0 !== n && (r = setTimeout(i ? function () { r = void 0 } : l, void 0 === i ? t - c : t)) } }, A = function (e) { return d(e) ? 0 === e.length : l(e) ? 0 === T(e).length : !e }, N = function (e) { return {}.toString.call(e).slice(8, -1).toLowerCase() }, q = function (e) { function t(e) { return 10 > e ? "0" + e : e } return e.getFullYear() + "-" + t(e.getMonth() + 1) + "-" + t(e.getDate()) + " " + t(e.getHours()) + ":" + t(e.getMinutes()) + ":" + t(e.getSeconds()) + "." + t(e.getMilliseconds()) }, U = Object.freeze({ __proto__: null, isNil: a, isString: u, isNaN: function (e) { return "NaN" === y(Number(e)) }, isNumber: s, isBoolean: c, isObject: l, isRegExp: function (e) { return "[object RegExp]" === {}.toString.call(e) }, isFunction: g, isArray: d, isDate: f, fixed: function (e, t) { return s(e) ? Number(e.toFixed(s(t) ? t : 2)) : u(e) && "NaN" !== y(Number(e)) ? Number(Number(e).toFixed(s(t) ? t : 2)) : e }, head: p, last: v, drop: h, dropWhile: function (e, t) { return d(e) ? e.filter(function (e) { return !t(e) }) : e }, compact: m, find: I, isEqualArray: function (e, t) { return !(!d(e) || !d(t) || e.length !== t.length) && e.every(function (e, n) { return e === t[n] }) }, toString: y, split: S, lowerFirst: w, upperFirst: function (e) { if (u(e)) { var t = S(e, ""); return "".concat(p(t).toUpperCase()).concat(h(t).join("")) } return e }, startsWith: _, endsWith: function (e, t) { var n = e.length, i = n; i > n && (i = n); var r = i; return (i -= t.length) >= 0 && e.slice(i, r) === t }, hasOwnProperty: O, has: P, keys: T, forEach: k, isEqual: b, get: E, unset: C, throttle: x, isEmpty: A, typeOf: N, formatDate: q }), H = function (e, t) { console.log("%c[GrowingIO]:".concat(e), { info: "color: #3B82F6;", error: "color: #EF4444", warn: "color: #F59E0B", success: "color: #10B981" }[t] || "") }, F = function (e, t, n) { return void 0 === t && (t = !0), void 0 === n && (n = "参数不合法"), H("".concat(t ? "调用" : "设置", " ").concat(e, " 失败,").concat(n, "!"), "warn") }, D = function (e) { try { return e() } catch (e) { return } }, K = function (e, t) { if (g(e)) try { e(t) } catch (e) { H("回调执行失败!".concat(e), "error") } }, L = function (e) { return u(e) ? e.trim().substring(0, 100) : e }, V = function (e, t) { return u(e) && !A(e) && e.match(o) ? t() : (H("事件名格式不正确,只能包含数字、字母和下划线,且不能以数字开头,字符总长度不能超过100!", "error"), !1) }, j = function (e) { return a(e) || T(e).forEach(function (t) { g(e[t]) ? e[t] = D(function () { return e[t]() }) : l(e[t]) ? C(e, t) : d(e[t]) || (e[t] = y(e[t])) }), e }, B = function () { return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, function (e) { var t = 16 * Math.random() | 0; return ("x" === e ? t : 3 & t | 8).toString(16) }) }, M = function (e) { return e.pixelRatio ? Math.round(e.screenHeight * e.pixelRatio) : e.screenHeight }, R = function (e) { return e.pixelRatio ? Math.round(e.screenWidth * e.pixelRatio) : e.screenWidth }, G = function (e, t) { if (e) { var n = e.toLowerCase(); return -1 !== n.indexOf("android") ? "".concat(t, "-Android") : -1 !== n.indexOf("ios") ? "".concat(t, "-iOS") : -1 !== n.indexOf("harmonyos") || -1 !== n.indexOf("ohos") ? "".concat(t, "-HarmonyOS") : "".concat(t, "-").concat(e) } }, Q = function (e, t) { void 0 === e && (e = ""), void 0 === t && (t = ""); for (var n = function (e) { return e.replace(/\s+/g, "") }, i = function (e) { return e.replace(/[vV]/g, "") }, r = n(i(e)), o = n(i(t)), a = r.split("."), u = o.split("."), s = 0; 3 > s; s++) { var c = Number(a[s]), l = Number(u[s]); if (c > l) return 1; if (l > c) return -1; if (!isNaN(c) && isNaN(l)) return 1; if (isNaN(c) && !isNaN(l)) return -1 } return 0 }, $ = function (e) { if (u(e)) { var t = e.indexOf("?"); return -1 !== t ? [e.substring(0, t), e.substring(t + 1)] : [e, ""] } return ["", ""] }, z = function (e) { return u(e) ? e.startsWith("/") ? e : "/".concat(e) : "" }, W = function (e) { return D(function () { switch (e) { case "wx": return wx; case "my": case "tb": return my; case "swan": return swan; case "tt": return tt; case "qq": return qq; case "ks": return ks; case "jd": return jd; case "xhs": return xhs; default: var t = void 0; return t || (t = D(function () { return xhs })), t || (t = D(function () { return swan })), t || (t = D(function () { return my })), t || (t = D(function () { return tt })), t || (t = D(function () { return qq })), t || (t = D(function () { return ks })), t || (t = D(function () { return jd })), t || (t = D(function () { return wx })), t } }) }, J = function (e) { return D(function () { switch (e) { case "wx": return __wxConfig; case "swan": return appConfig; case "tt": return D(function () { return __ttConfig }) || (null === global || void 0 === global ? void 0 : global.TMAConfig) || (null === globalThis || void 0 === globalThis ? void 0 : globalThis.TMAConfig); case "qq": return __qqConfig; case "ks": return __ksConfig; case "jd": return __jdConfig; case "xhs": return null !== __MP_APP_JSON_MIGRATION__ && void 0 !== __MP_APP_JSON_MIGRATION__ ? __MP_APP_JSON_MIGRATION__ : __MP_APP_JSON__; default: return } }) }, Y = function (e) { return D(function () { switch (e) { case "wx": case "qq": return __wxAppCode__; case "tt": return __allConfig__; case "ks": return __module__; case "jd": return __jdAppCode__; default: return } }) }, Z = function () { var e; return !e && D(function () { return xhs }) && (e = "xhs"), !e && D(function () { return swan }) && (e = "swan"), !e && D(function () { return tt }) && (e = "tt"), !e && D(function () { return qq }) && (e = "qq"), !e && D(function () { return my.tb }) && (e = "tb"), !e && D(function () { return my }) && (e = "my"), !e && D(function () { return ks }) && (e = "ks"), !e && D(function () { return jd }) && (e = "jd"), !e && D(function () { return wx }) && (e = "wx"), e || I(T(global), function (e) { return y(e).toLowerCase().includes("quickapp") }) && (e = "quickapp"), e }, X = function () { var e; return null !== (e = D(function () { var e; return null !== (e = D(function () { var e; return null !== (e = D(function () { return $global })) && void 0 !== e ? e : global })) && void 0 !== e ? e : window })) && void 0 !== e ? e : globalThis }, ee = function (e) { var t = {}; return l(e) && (C(e, "&&sendTo"), k(e, function (e, n) { var i = y(n).slice(0, 100); l(e) ? t[i] = ee(e) : d(e) ? (t[i] = m(e.slice(0, 100), !0), t[i] = t[i].join("||").slice(0, 1e3)) : f(e) ? t[i] = q(e) : t[i] = a(e) ? "" : y(e).slice(0, 1e3) })), t }, te = function (e, t) { var n = function () { return t.map(function (t) { return e.getStorageSync(t) }) }; try { return e.minip.canIUse("batchGetStorageSync") ? e.minip.batchGetStorageSync(t) : n() } catch (e) { return n() } }, ne = function (e, t) { var n = function () { return t.map(function (t) { var n = t.key, i = t.value; return e.setStorageSync(n, i) }) }; try { return e.minip.canIUse("batchSetStorageSync") ? e.minip.batchSetStorageSync(t) : n() } catch (e) { return n() } }, ie = function (e) { return T(e || {}).map(function (t) { return t ? "".concat(t, "=").concat(a(e[t]) ? "" : e[t]) : "" }).join("&") }, re = function (e) { (_(e, "?") || _(e, "&")) && (e = e.slice(1, e.length)); var t = {}; return e.split("&").forEach(function (e) { var n = e.split("="); n[0] && (t[n[0]] = n[1]) }), t }, oe = ["wxShoppingListScene", "$taroTimestamp", "gdpCircleRoomCollectUrl"], ae = function (e, t) { void 0 === e && (e = {}), void 0 === t && (t = {}); var n = "string" == typeof e ? re(e) : e || {}; function i(e, t) { if ("object" != typeof e || null === e || Array.isArray(e)) return e; var i = {}; return T(e).forEach(function (r) { var o = oe.some(function (e) { return r.includes(e) }), a = P(n, r); if (!(o || t && a)) { var u = e[r]; "string" == typeof u ? oe.some(function (e) { return u.includes(e) }) || (i[r] = u) : "number" != typeof u && "boolean" != typeof u || (i[r] = u) } }), i } return Object.assign({}, i(n, !1), i(t, !0)) }, ue = Object.freeze({ __proto__: null, consoleText: H, callError: F, niceTry: D, niceCallback: K, limitString: L, eventNameValidate: V, getDynamicAttributes: j, guid: B, getScreenHeight: M, getScreenWidth: R, getOS: G, compareVersion: Q, getVueVersion: function (e) { if (e) { var t = Number(p(S(e.version, "."))); return Number.isNaN(t) ? 0 : t } return 0 }, splitPath: $, normalPath: z, isTaro3: function (e) { var t = e.Current, n = e.createComponent; return !(!e || !t || n) }, getPlainMinip: W, getPlainConfig: J, getPlainAppCode: Y, getPlainPlatform: Z, getSubKeys: function (e) { return T(e).filter(function (e) { return e.indexOf("__sub") > -1 && e.indexOf("gio__") > -1 }).sort() }, getAppInst: function () { var e = D(function () { return getApp({ allowDefault: !0 }) }); return e || (e = X()), e }, getGlobal: X, limitObject: ee, batchGetStorageSync: te, batchSetStorageSync: ne, qsStringify: ie, qsParse: re, hashCode: function (e, t) { void 0 === t && (t = !1); var n = 0; if (A(e) || "boolean" == typeof e) return n; for (var i = 0; i < e.length;)n = (n << 5) - n + e.charCodeAt(i), n &= n, i++; return t ? Math.abs(n) : n }, getExtraData: function (e) { var t; return u(e) ? null !== (t = D(function () { return JSON.parse(e) })) && void 0 !== t ? t : {} : null != e ? e : {} }, getPureParams: ae }), se = function (e) { return (u(e) && e.length > 0 || s(e) && e > 0) && !["-", "null", "undefined"].includes(e) }, ce = { autotrack: { type: "boolean", default: !0 }, compress: { type: "boolean", default: !0 }, dataCollect: { type: "boolean", default: !0 }, debug: { type: "boolean", default: !1 }, idMapping: { type: "boolean", default: !1 }, enableIdMapping: { type: "boolean", default: !1 }, extraParams: { type: "array", default: [] }, followShare: { type: "boolean", default: !0 }, forceLogin: { type: "boolean", default: !1 }, ignoreFields: { type: "array", default: [] }, impressionScale: { type: "number", default: 0 }, pluginMode: { type: "boolean", default: !1 }, originalSource: { type: "boolean", default: !0 }, keepAlive: { type: "number", default: 5 }, performance: { type: "object", default: { monitor: !0, exception: !0 } }, serverUrl: { type: "string", default: "https://napi.growingio.com" }, sessionExpires: { type: "number", default: -1 }, requestTimeout: { type: "number", default: 5e3 }, taro: { type: ["object", "module"], default: !1 }, taroVue: { type: ["object", "function"], default: !1 }, tbConfig: { type: "object", default: { cloud: void 0, cloudFuncSend: !1, cloudFuncName: "httpTunnel", cloudFuncHandler: "main", cloudAppId: void 0, path: void 0 } }, trackPage: { type: "boolean", default: !0 }, uniVue: { type: ["object", "function"], default: !1 }, uploadInterval: { type: "number", default: 1e3 }, version: { type: "string", default: "1.0.0" } }, le = ["clearGeneralProps", "clearPageAttributes", "clearTrackTimer", "clearUserId", "getABTest", "getGioInfo", "getOption", "identify", "removeTimer", "sendPage", "sendVisit", "setGeneralProps", "setLocation", "setOption", "setPageAttributes", "setUserAttributes", "setUserId", "track", "trackTimerEnd", "trackTimerPause", "trackTimerResume", "trackTimerStart"], ge = i(i(["init", "registerPlugins"], ["getPlugins", "getDeviceId", "updateImpression"], !0), le, !0), de = { autotrack: "无埋点", dataCollect: "数据采集", debug: "调试模式", serverUrl: "数据上报服务地址" }, fe = ["enableDebug", "setAutotrack", "setDataCollect", "setTrackerHost", "setTrackerScheme", "setConfig", "collectImp", "setPlatformProfile", "getLocation"], pe = ["deviceBrand", "deviceModel", "deviceType", "networkState", "screenHeight", "screenWidth", "operatingSystem"], ve = i(i([], pe, !0), ["appChannel", "language", "platformVersion"], !1), he = { gsid: "_growing_gsid_", originalSource: "_gdp_original_source_", userId: "_growing_userId_", userKey: "_growing_userKey_", gioId: "_growing_gioId_", plugin_gsid: "_growing_plugin_gsid_", plugin_originalSource: "_gdp_plugin_original_source_", plugin_userId: "_growing_plugin_userId_", plugin_userKey: "_growing_plugin_userKey_", plugin_gioId: "_growing_plugin_gioId_" }, me = "MINIP_LIFECYCLE", Ie = "ON_COMMIT_REQUEST", ye = "ON_COMPOSE_AFTER", Se = "ON_COMPOSE_BEFORE", we = "ON_ERROR", _e = "ON_INSTALL", Oe = "ON_SEND_AFTER", Pe = "ON_SEND_BEFORE", Te = "OPTION_CHANGE", ke = "OPTION_INITIALIZED", be = "SDK_INITIALIZED", Ee = "SESSIONID_UPDATE", Ce = function (e) { var t = this; this.growingIO = e, this.main = function (e, i, r) { void 0 === r && (r = !0), e || (e = t.growingIO.trackingId); var o = t.growingIO, a = o.sdkVersion, u = o.platformConfig, s = o.minipInstance, c = o.userStore, l = o.dataStore, g = o.dataStore, d = g.scene, f = g.eventHooks.currentPage, p = g.generalProps, v = l.getTrackerVds(e), h = v.version, m = v.dataSourceId, I = v.appId, y = v.idMapping, S = v.ignoreFields, w = l.locationData[e], _ = s.systemInfo, O = void 0 === _ ? {} : _, P = s.network, T = void 0 === P ? {} : P, k = O.brand, b = O.model, E = O.platform, x = O.language, N = f.getPagePath(), q = { appChannel: "scn:".concat(d || "NA"), appVersion: h, dataSourceId: m, deviceBrand: k, deviceId: c.getUid(), deviceModel: b, deviceType: G(E, u.name), domain: I, language: x, latitude: null == w ? void 0 : w.latitude, longitude: null == w ? void 0 : w.longitude, networkState: (null == T ? void 0 : T.networkType) || (null == T ? void 0 : T.type) || (null == T ? void 0 : T.subtype), operatingSystem: G(E, u.name), path: N, platform: u.platform, platformVersion: u.name + (O.version ? " ".concat(O.version) : ""), query: N ? f.getPageQuery() : "", screenHeight: M(O), screenWidth: R(O), sdkVersion: a, sessionId: c.getSessionId(e), title: f.getPageTitle(), timestamp: Date.now(), timezoneOffset: (new Date).getTimezoneOffset(), userId: c.getUserId(e) }; return y && (q.userKey = c.getUserKey(e)), r && !A(p[e]) && (q.attributes = n({}, p[e])), A(q.attributes) || (q.attributes = ee(j(n({}, q.attributes)))), A(S) || S.forEach(function (e) { C(q, e) }), A(i) ? n(n({}, q), { trackingId: e }) : n(n(n({}, q), i), { trackingId: e }) } }, xe = function (e) { var t = this; this.growingIO = e, this.enterParams = {}, this.main = function (e, i) { var r, o, a = Date.now(), u = t.growingIO, s = u.emitter, c = u.userStore, l = u.vdsConfig, g = u.platformConfig, d = u.uploader, f = u.dataStore, p = u.minipInstance, v = u.dataStore, h = v.trackersExecute, m = v.shareOut, I = v.lastCloseTime, y = v.saveStorageInfo, S = v.setOriginalSource; s.emit(me, { event: "App ".concat(e), timestamp: a, params: null !== (r = i[0]) && void 0 !== r ? r : {} }), l.debug && console.log("App:", e, a); var w = g.listeners.app; switch (s.emit(Se, { event: "App ".concat(e), params: null !== (o = i[0]) && void 0 !== o ? o : {} }), e) { case w.appLaunch: t.enterParams = n({}, i[0]); break; case w.appCreate: case w.appShow: var _ = t.enterParamsParse(i[0]), O = _.path, P = _.query, T = _.referralPage; !m && l.originalSource && O && h(function (e) { S(e, { path: O, query: P, referralPage: T }) }), I ? (Date.now() - I > 60 * l.keepAlive * 1e3 || f.lastScene && f.scene !== f.lastScene) && h(function (e) { c.setSessionId(e) }) : h(function (e) { f.lastVisitEvent[e] = { path: O, query: P, referralPage: T }, t.buildVisitEvent(e, { path: O, query: P, referralPage: T }) }), p.setNetworkStatusListener(); break; case w.appClose: f.lastScene = f.scene, f.lastCloseTime = Date.now(), y(), c.saveUserInfo(), h(function (e) { t.buildCloseEvent(e), l.forceLogin || d.initiateRequest(e, !0) }) } }, this.enterParamsParse = function (e) { var n; void 0 === e && (e = {}); var i = t.growingIO, r = i.gioPlatform, o = i.minipInstance, a = i.dataStore, u = "", s = "", c = ""; if ("quickapp" !== r && o.minip.canIUse("getEnterOptionsSync")) { var l = o.minip.getEnterOptionsSync() || {}, g = l.path, d = l.query, f = l.scene, p = l.referrerInfo || l.refererInfo; u = g || e.path, s = d || e.query, c = (null == p ? void 0 : p.appId) || (null === (n = null == e ? void 0 : e.referrerInfo) || void 0 === n ? void 0 : n.appId) || "", a.scene = f || e.scene, C(d, "gdpCircleRoomCollectUrl"), s = ie(ae(s, (null == p ? void 0 : p.extraData) || {})) } else g = e.path, d = e.query, p = e.referrerInfo, u = g, s = ie(d), c = (null == p ? void 0 : p.appId) || "", t.parseScene(e); return { path: u, query: s, referralPage: c } }, this.parseScene = function (e) { var n, i, r = t.growingIO, o = r.minipInstance, a = r.gioPlatform, u = r.dataStore; if ("quickapp" === a) { var s = o.getAppSource(), c = s.extra, l = s.type; i = (null == c ? void 0 : c.scene) || l } else A(e) || ((null === (n = null == e ? void 0 : e.query) || void 0 === n ? void 0 : n.wxShoppingListScene) ? i = e.query.wxShoppingListScene : (null == e ? void 0 : e.scene) ? i = e.scene : u.scene = "NA"); u.scene = i }, this.buildVisitEvent = function (e, i) { var r = t.growingIO, o = r.dataStore, a = o.getOriginalSource, u = o.eventContextBuilder, s = o.eventInterceptor, c = r.vdsConfig, l = a(e), g = (null == i ? void 0 : i.query) || "", d = n({ eventType: "VISIT" }, u(e, {})); !A(i) && i.path && (d.path = i.path || "", d.query = "string" === N(g) ? g : ie(g), i.referralPage && (d.referralPage = i.referralPage)), c.originalSource && !A(l) && (d = n(n({}, d), l)), s(d) }, this.buildCloseEvent = function (e) { var i = t.growingIO.dataStore, r = i.eventContextBuilder; (0, i.eventInterceptor)(n({ eventType: "APP_CLOSED" }, r(e))) } }, Ae = function () { function e(e) { var t = this; this.growingIO = e, this.lifeBeforeShow = !0, this.getPagePath = function () { var e, n, i, r = t.growingIO, o = r.minipInstance, a = r.inPlugin, u = r.dataStore, s = r.trackingId, c = o.getCurrentPath(); if (a) { var l = u.getTrackerVds(s); return c || "/插件".concat(l.appId) } return c || (null === (e = u.eventHooks.appEffects.enterParams) || void 0 === e ? void 0 : e.path) || (null === (n = u.lastPageEvent[s]) || void 0 === n ? void 0 : n.path) || (null === (i = u.lastVisitEvent[s]) || void 0 === i ? void 0 : i.path) }, this.getPageQuery = function () { var e, n, i, r, o, a, u = t.growingIO, s = u.minipInstance, c = u.dataStore, l = u.trackingId, g = s.getCurrentPage(), d = s.getCurrentPath(), f = c.eventHooks.appEffects.enterParams, p = void 0 === f ? {} : f; if (!d) return p.path ? ie(ae(null == p ? void 0 : p.query, null === (i = null == p ? void 0 : p.referrerInfo) || void 0 === i ? void 0 : i.extraData)) : (null === (r = c.lastPageEvent[l]) || void 0 === r ? void 0 : r.path) ? null === (o = c.lastPageEvent[l]) || void 0 === o ? void 0 : o.query : null === (a = c.lastVisitEvent[l]) || void 0 === a ? void 0 : a.query; var v = null !== (e = g.options) && void 0 !== e ? e : g.$taroParams; return A(v) ? A(t.queryOptions[d]) ? d === p.path ? ie(ae(null == p ? void 0 : p.query, null === (n = null == p ? void 0 : p.referrerInfo) || void 0 === n ? void 0 : n.extraData)) : void 0 : ie(ae(t.queryOptions[d])) : ie(ae(v)) }, this.getPageTitle = function (e) { var n = t.growingIO, i = n.minipInstance, r = n.inPlugin, o = n.dataStore, a = i.getCurrentPath(), u = t.configuredTitle[a] || i.getPageTitle(i.getCurrentPage()); if (r) { var s = o.getTrackerVds(e || t.growingIO.trackingId); return u || "/插件".concat(s.appId).concat(a ? "_" + v(a.split("/")) : "") } return u }, this.getReferralPage = function (e) { var n, i, r, o = t.growingIO, a = o.minipInstance, u = o.dataStore, s = u.lastPageEvent, c = u.scene, l = u.eventHooks; return (null === (n = s[e]) || void 0 === n ? void 0 : n.path) || (null === (r = null === (i = l.appEffects.enterParams) || void 0 === i ? void 0 : i.referrerInfo) || void 0 === r ? void 0 : r.appId) || (c ? "scn:".concat(a.scnPrefix).concat(c) : null) }, this.updateShareResult = function (e, n) { void 0 === n && (n = !0); var i = t.buildShareQuery(e), r = i[0], o = i[1]; return (n || P(e, "path")) && (e.path = z(r + (o ? "?".concat(o) : ""))), (n || P(e, "query")) && (e.query = o), e }, this.eventSetPageProps = function (e, i) { var r = D(function () { return t.pageProps[e][t.getPagePath()] }); return A(r) ? i.attributes : ee(j(n(n({}, i.attributes), r))) }, this.queryOptions = {}, this.configuredTitle = {}, this.pageProps = {} } return e.prototype.buildShareQuery = function (e) { var t, i, r = $(null !== (t = e.path) && void 0 !== t ? t : ""), o = e.path || this.getPagePath(), a = {}, u = P(e, "path"); if (P(e, "query")) a = re(null !== (i = e.query) && void 0 !== i ? i : "") || {}; else if (u) a = re(v(r)) || {}; else { var s = this.growingIO.minipInstance.getCurrentPage(); a = n({}, s.options || this.queryOptions[s.route] || {}), m(T(a)).forEach(function (e) { e.toLowerCase().startsWith("utm_") && C(a, e) }) } return [o, ie(a)] }, e }(), Ne = function (e) { var t = this; this.growingIO = e, this.main = function (e, i, r) { var o, a, u = Date.now(), s = t.growingIO, c = s.emitter, l = s.minipInstance, d = s.plugins, f = s.vdsConfig, p = s.platformConfig, v = s.dataStore, h = v.getTrackerVds, m = v.getOriginalSource, I = v.setOriginalSource, y = v.trackersExecute, S = v.eventHooks, w = v.toggleShareOut, _ = v.buildAppMessageEvent, O = v.buildTimelineEvent, P = v.buildAddFavorites, T = S.currentPage; if (!t.prevEvent[i] || Date.now() - Number(t.prevEvent[i]) >= 50) { e || (e = l.getCurrentPage()), e.route || (e.route = l.getCurrentPath(e)); var k = e.route || e.uri || e.__route__ || (null === (o = null == e ? void 0 : e.$page) || void 0 === o ? void 0 : o.fullPath) || ""; c.emit(me, { event: "Page ".concat(i), timestamp: u, params: { page: e, args: r[0] } }), f.debug && console.log("Page:", k, "#", i, u), t.prevEvent[i] = Date.now(); var b = p.listeners.page; switch (c.emit(Se, { page: e, event: "Page ".concat(i), params: { page: e, args: r[0] } }), T.lastLifecycle = T.currentLifecycle, T.currentLifecycle = i, i) { case b.pageLoad: T.queryOptions[k] = E(e, "options") || E(e, "__displayReporter.query") || E(e, "$page.query") || E(e, "$wx.__displayReporter.query") || E(e, "$taroParams") || r[0] || {}, C(T.queryOptions[k], ["$taroTimestamp", "gdpCircleRoomCollectUrl"]); break; case b.pageShow: y(function (e) { var i = m(e); A(i) || i.path !== k || I(e, n(n({}, i), { title: T.getPageTitle() })), h(e).trackPage && t.buildPageEvent(e) }), w(!1); break; case b.pageHide: case b.pageUnload: break; case b.shareChat: case b.shareApp: w(!0), y(function (e) { h(e).followShare && _(e, r) }); break; case b.shareTime: "xhsp" === l.platform && w(!0), y(function (e) { h(e).followShare && O(e, r) }); break; case b.addFavorites: y(function (e) { h(e).followShare && P(e, r) }); break; case b.tabTap: var x = null === (a = null == d ? void 0 : d.gioEventAutoTracking) || void 0 === a ? void 0 : a.buildTabClickEvent; f.autotrack && x && g(x) && x(t.growingIO.trackingId, r[0]) }T.lastLifecycle = T.currentLifecycle, T.currentLifecycle = "".concat(i, "End"), ["onHideEnd", "onUnloadEnd"].includes(T.currentLifecycle) && (T.lifeBeforeShow = !0), "onShowEnd" === T.currentLifecycle && (T.lifeBeforeShow = !1) } }, this.buildPageEvent = function (e, i) { var r = t.growingIO.dataStore, o = r.eventContextBuilder, a = r.eventInterceptor, u = r.eventHooks.currentPage, s = n({ eventType: "PAGE", referralPage: u.getReferralPage(e) }, o(e)); s.attributes = u.eventSetPageProps(e, s), !A(i) && i.title && (s.title = i.title), a(s) }, this.prevEvent = {} }, qe = function (e) { var t, i = this; this.growingIO = e, this.isNormalFc = function (e, t) { return g(t) && "constructor" !== e }, this.objectTraverse = function (e, t) { Object.getOwnPropertyNames(e).forEach(function (n) { return t(n, e) }), P(e, "methods") && Object.getOwnPropertyNames(e.methods).forEach(function (n) { e[n] || t(n, e.methods) }), P(e, "lifetimes") && Object.getOwnPropertyNames(e.lifetimes).forEach(function (n) { e[n] || t(n, e.lifetimes) }), P(e, "pageLifetimes") && Object.getOwnPropertyNames(e.pageLifetimes).forEach(function (n) { e[n] || t(n, e.pageLifetimes) }) }, this.supLifeFcs = function (e, t) { d(i["".concat(t, "Handlers")]) && i["".concat(t, "Handlers")].forEach(function (t) { g(e[t]) || ["onShareAppMessage", "onShareTimeline"].includes(t) || (e[t] = function () { }) }) }, this.lifeFcEffectsFn = function (e, t, n, r, o) { void 0 === o && (o = void 0); var a = "array" === N(t) ? [].slice.call(t) : []; return A(o) || a.push(o), i["def".concat(n, "Cbs")][r].apply(e, a), i.growingIO.emitter.emit(me, { event: "".concat(n, " ").concat(r, "End"), timestamp: Date.now(), params: { instance: e, arguments: Array.from(a) } }), o }, this.lifeFcEffects = function (e, t, r) { var o = i; return function () { for (var i, a, u, s = this, c = [], l = 0; arguments.length > l; l++)c[l] = arguments[l]; if (o.shareEventTypes.includes(e)) { var g = null !== (i = t.apply(this, c)) && void 0 !== i ? i : {}; if (!o.growingIO.vdsConfig.followShare) return g; var d = "promise" === N(g), f = "promise" === N(g.promise), p = P(g, "_result") && P(g, "_state"); if (d || f || p) { var v = function (t) { void 0 === t && (t = {}); try { var i = n(n({}, g), t), a = o.currentPage.updateShareResult(i); o.lifeFcEffectsFn(s, c, r, e, a) } catch (e) { H(e, "error") } }; d && Promise.race([g, new Promise(function (e) { setTimeout(function () { e({}) }, 3e3) })]).then(v).catch(function (e) { return H(e, "error") }), f && Promise.race([g.promise, new Promise(function (e) { setTimeout(function () { e({}) }, 3e3) })]).then(v).catch(function (e) { return H(e, "error") }), p && (null === (a = o.growingIO.minipInstance) || void 0 === a || a.handleSharePromise(g, v)), u = o.currentPage.updateShareResult(g, !1) } else u = o.currentPage.updateShareResult(g), o.lifeFcEffectsFn(this, c, r, e, u) } else o.lifeFcEffectsFn(this, c, r, e), u = t.apply(this, c); return u } }, this.customFcEffects = function (e, t) { var n = i; return function () { for (var i, r, o = [], a = 0; arguments.length > a; a++)o[a] = arguments[a]; if (n.growingIO.vdsConfig.autotrack && n.growingIO.plugins.gioEventAutoTracking) try { var u = o[0] || {}; P(u, "type") && ((null == u ? void 0 : u.currentTarget) || (null == u ? void 0 : u.target)) || (u = o[o.length - 1]), ((null == u ? void 0 : u.currentTarget) || (null == u ? void 0 : u.target)) && n.actionEventTypes.includes(u.type) && (g(n.actionEffects) || (n.actionEffects = (null === (r = null === (i = n.growingIO.plugins) || void 0 === i ? void 0 : i.gioEventAutoTracking) || void 0 === r ? void 0 : r.main) || function () { }), null == n || n.actionEffects(u, e)) } catch (e) { H(e, "error") } return t.apply(this, o) } }, this.appApplyProxy = function (e, t) { return i.appHandlers.includes(e) ? i.lifeFcEffects(e, t, "App") : i.customFcEffects(e, t) }, this.pageApplyProxy = function (e, t) { return i.pageHandlers.includes(e) ? i.lifeFcEffects(e, t, "Page") : i.customFcEffects(e, t) }, this.appOverriding = function (e) { return i.setAppEffectCbs(), i.supLifeFcs(e, "app"), i.objectTraverse(e, function (e, t) { i.isNormalFc(e, t[e]) && (t[e] = i.appApplyProxy(e, t[e])) }), e }, this.pageOverriding = function (e) { return i.setPageEffectCbs(), i.supLifeFcs(e, "page"), i.objectTraverse(e, function (e, t) { i.isNormalFc(e, t[e]) && (t[e] = i.pageApplyProxy(e, t[e])) }), e }, this.componentOverriding = function (e) { return i.setPageEffectCbs(), e.methods || (e.methods = {}), i.supLifeFcs(i.growingIO.inPlugin ? e : e.methods, "page"), i.objectTraverse(i.growingIO.inPlugin ? e : e.methods, function (e, t) { i.isNormalFc(e, t[e]) && (t[e] = i.pageApplyProxy(e, t[e])) }), e }, this.setAppEffectCbs = function () { var e = i; i.appHandlers.forEach(function (t) { i.defAppCbs[t] = function () { for (var n = [], i = 0; arguments.length > i; i++)n[i] = arguments[i]; e.appEffects.main(t, n) } }) }, this.setPageEffectCbs = function () { var e = i; i.pageHandlers.forEach(function (t) { i.defPageCbs[t] = function () { for (var n = [], i = 0; arguments.length > i; i++)n[i] = arguments[i]; e.pageEffects.main(this, t, n) } }) }, this.growingApp = function (e) { return g(i.originalApp) ? i.originalApp(i.appOverriding(e)) : i.appOverriding(e) }, this.growingPage = function (e) { return g(i.originalPage) ? i.originalPage(i.pageOverriding(e)) : i.pageOverriding(e) }, this.growingComponent = function (e) { return g(i.originalComponent) ? i.originalComponent(i.componentOverriding(e)) : i.componentOverriding(e) }, this.growingBehavior = function (e) { return g(i.originalBehavior) ? i.originalBehavior(i.componentOverriding(e)) : i.componentOverriding(e) }, this.nativeGrowing = function (e) { void 0 === e && (e = ["App", "Page", "Component", "Behavior"]); var t = i, n = i.growingIO.platformConfig.hooks; if (e.includes("App")) try { n.App && !i.appHooked && (App = function () { for (var e = [], n = 0; arguments.length > n; n++)e[n] = arguments[n]; return t.originalApp(t.appOverriding(e[0])) }, i.appHooked = !0) } catch (e) { } if (e.includes("Page")) try { n.Page && !i.pageHooked && (Page = function () { for (var e = [], n = 0; arguments.length > n; n++)e[n] = arguments[n]; return t.originalPage(t.pageOverriding(e[0])) }, i.pageHooked = !0) } catch (e) { } if (e.includes("Component")) try { n.Component && !i.componentHooked && (Component = function () { for (var e = [], n = 0; arguments.length > n; n++)e[n] = arguments[n]; return t.originalComponent(t.componentOverriding(e[0])) }, i.componentHooked = !0) } catch (e) { } if (e.includes("Behavior")) try { n.Behavior && !i.behaviorHooked && (Behavior = function () { for (var e = [], n = 0; arguments.length > n; n++)e[n] = arguments[n]; return t.originalBehavior(t.componentOverriding(e[0])) }, i.behaviorHooked = !0) } catch (e) { } }, this.initOriginalValue = function () { i.setAppEffectCbs(), i.setPageEffectCbs(), i.originalApp = D(function () { return App || global.App }), i.originalPage = D(function () { return Page || global.Page }), i.originalComponent = D(function () { return Component || global.Component }), i.originalBehavior = D(function () { return Behavior || global.Behavior }) }, this.initEventHooks = function () { var e = i, t = i.growingIO, n = t.platformConfig, r = t.gioPlatform; i.initOriginalValue(), n.canHook ? (i.nativeGrowing(), X().GioApp = D(function () { return null !== App && void 0 !== App ? App : i.originalApp }), X().GioPage = D(function () { return null !== Page && void 0 !== Page ? Page : i.originalPage }), X().GioComponent = D(function () { return null !== Component && void 0 !== Component ? Component : i.originalComponent }), X().GioBehavior = D(function () { return null !== Behavior && void 0 !== Behavior ? Behavior : i.originalBehavior })) : "quickapp" === r && (X().GioApp = function () { for (var t = [], n = 0; arguments.length > n; n++)t[n] = arguments[n]; return e.appOverriding(t[0]) }, X().GioPage = function () { for (var t = [], n = 0; arguments.length > n; n++)t[n] = arguments[n]; return e.pageOverriding(t[0]) }, X().GioComponent = function () { for (var t = [], n = 0; arguments.length > n; n++)t[n] = arguments[n]; return e.pageOverriding(t[0]) }) }; var r = null === (t = this.growingIO) || void 0 === t ? void 0 : t.platformConfig; this.defAppCbs = {}, this.defPageCbs = {}, this.appHandlers = r.appHandlers, this.pageHandlers = r.pageHandlers, this.shareEventTypes = r.shareEventTypes, this.actionEventTypes = r.actionEventTypes, this.appEffects = new xe(this.growingIO), this.pageEffects = new Ne(this.growingIO), this.currentPage = new Ae(this.growingIO) }, Ue = function () { function e(e) { var t, r, o = this; this.growingIO = e, this.ALLOW_SETTING_KEYS = T(ce), this.getStorageKey = function (e, t) { var n = o.growingIO.inPlugin; return "".concat(e === o.growingIO.trackingId ? "" : e).concat(he[n ? "plugin_" + t : t]) }, this.getGsid = function (e) { var t = Number(o._gsid[e]); return Number.isNaN(t) || t >= 1e9 || 1 > t ? (o.setGsid(e, 1), 1) : t }, this.setGsid = function (e, t) { var n = Number(t); (Number.isNaN(n) || n >= 1e9 || 1 > n) && (n = 1), o._gsid[e] = n, 10 > o._gsid[e] - o._stid[e] || o.saveStorageInfo() }, this.initStorageInfo = function (e) { var t = o.growingIO.minipInstance, n = t.getStorageSync(o.getStorageKey(e, "gsid")), i = Number(n); (Number.isNaN(i) || i >= 1e9 || 1 > i) && (i = 1), o._gsid[e] = i, o._stid[e] = i, i !== n && t.setStorageSync(o.getStorageKey(e, "gsid"), i) }, this.saveStorageInfo = function () { var e = o.growingIO.minipInstance; o._stid = n({}, o._gsid), ne(e, o.initializedTrackingIds.map(function (e) { return { key: o.getStorageKey(e, "gsid"), value: o._gsid[e] } })) }, this.setOriginalSource = function (e, t) { o.growingIO.minipInstance.setStorageSync(o.getStorageKey(e, "originalSource"), JSON.stringify(t)) }, this.getOriginalSource = function (e) { var t, n = o.growingIO.minipInstance; return null !== (t = D(function () { return JSON.parse(n.getStorageSync(o.getStorageKey(e, "originalSource"))) })) && void 0 !== t ? t : {} }, this.getTrackerVds = function (e) { return o.growingIO.trackingId === e ? n({}, o.growingIO.vdsConfig) : void 0 }, this.initTrackerOptions = function (e) { var t = o.initOptions(e); return t.trackingId = e.trackingId, o.growingIO.trackingId = e.trackingId, o.growingIO.vdsConfig = t, t }, this.initTrackerHooker = function (e) { var t, n, i = o.growingIO, r = i.platformConfig, a = i.inPlugin, u = i.minipInstance, s = i.plugins, c = e.uniVue, l = e.taro; c || l || "quickapp" === u.platform || (r.canHook = !0), !a || ["tbp", "jdp"].includes(u.platform) ? o.eventHooks.initEventHooks() : o.eventHooks.initOriginalValue(), c && (null === (t = null == s ? void 0 : s.gioUniAppAdapter) || void 0 === t || t.main()), l && (null === (n = null == s ? void 0 : s.gioTaroAdapter) || void 0 === n || n.main()) }, this.initOptions = function (e) { var t, i, r, a, u, s, c = e.projectId, l = e.dataSourceId, g = e.appId, f = e.trackingId, p = {}; return o.ALLOW_SETTING_KEYS.forEach(function (t) { var n = ce[t].type; (d(n) ? n.includes(N(e[t])) : N(e[t]) === ce[t].type) ? "ignoreFields" === t ? p.ignoreFields = e.ignoreFields.filter(function (e) { return pe.includes(e) }) : "extraParams" === t ? p.extraParams = e.extraParams.filter(function (e) { return ve.includes(e) }) : (p[t] = e[t], ["dataCollect", "autotrack"].includes(t) && !p[t] && H("已关闭".concat(de[t]), "info")) : p[t] = ce[t].default }), p.uploadInterval = Math.round(p.uploadInterval), (Number.isNaN(p.uploadInterval) || 0 > p.uploadInterval || p.uploadInterval > 3e3) && (p.uploadInterval = 1e3), p.enableIdMapping && !p.idMapping && (p.idMapping = !0, p.idMapping || o.growingIO.userStore.setUserKey(f, "")), C(p, "enableIdMapping"), p.pluginMode && (o.growingIO.inPlugin = !0), !isNaN(Number(p.requestTimeout)) && p.requestTimeout > 0 || (p.requestTimeout = 5e3), (0 > p.impressionScale || p.impressionScale > 1) && (p.impressionScale = 0), (0 > p.keepAlive || p.keepAlive > 1440) && (p.keepAlive = 5), (1 > p.sessionExpires || p.sessionExpires > 1440) && (p.sessionExpires = -1), n(n({}, p), { projectId: c, dataSourceId: l, appId: g, trackingId: f, performance: { monitor: null === (i = null === (t = p.performance) || void 0 === t ? void 0 : t.monitor) || void 0 === i || i, exception: null === (a = null === (r = p.performance) || void 0 === r ? void 0 : r.exception) || void 0 === a || a, network: null !== (s = null === (u = p.performance) || void 0 === u ? void 0 : u.network) && void 0 !== s && s } }) }, this.setOption = function (e, t, i) { var r, a, s = o.growingIO, c = s.userStore, l = s.emitter, g = o.getTrackerVds(e), d = u(t) && o.ALLOW_SETTING_KEYS.includes(t), f = d && typeof i === (null === (a = ce[t]) || void 0 === a ? void 0 : a.type); if (d && f) { var p = n({}, g); return o.updateVdsConfig(e, n(n({}, g), ((r = {})[t] = i, r))), "dataCollect" === t && p.dataCollect !== i && i && c.setSessionId(e), l.emit(Te, { optionName: t, optionValue: i }), !0 } return F("setOption > ".concat(t)), !1 }, this.getOption = function (e, t) { var n = o.getTrackerVds(e); return t && P(o.growingIO.vdsConfig, t) ? P(n, t) ? n[t] : o.growingIO.vdsConfig[t] : A(t) ? n : void F("getOption > ".concat(t)) }, this.updateVdsConfig = function (e, t) { e === o.growingIO.trackingId ? (o.growingIO.vdsConfig = n(n({}, o.growingIO.vdsConfig), t), X().vdsConfig = o.growingIO.vdsConfig) : (o.growingIO.subInstance[e] = n(n({}, o.growingIO.subInstance[e]), t), X().vdsConfig.subInstance[e] = o.growingIO.subInstance[e]) }, this.toggleShareOut = function (e) { c(e) ? o.shareOut = e : o.shareOut = !o.shareOut }, this.sendVisit = function (e, t) { o.eventHooks.appEffects.buildVisitEvent(e, t) }, this.sendPage = function (e, t) { o.eventHooks.pageEffects.buildPageEvent(e, t) }, this.eventConverter = function (e) { var t = o.growingIO, i = t.dataStore, r = t.uploader; if (o.getTrackerVds(e.trackingId).dataCollect) { ["LOGIN_USER_ATTRIBUTES", "APP_CLOSED"].includes(e.eventType) || (e.eventSequenceId = i.getGsid(e.trackingId), i.setGsid(e.trackingId, e.eventSequenceId + 1)); var a = {}; k(e, function (e, t) { var n; if ("element" === t) { var i = null !== (n = p(e)) && void 0 !== n ? n : {}; k(i, function (e, t) { A(e) && 0 !== e || (a[t] = e) }) } else A(e) && 0 !== e || (a[t] = e) }), o.growingIO.emitter.emit(ye, { composedEvent: a }), r.commitRequest(n(n({}, a), { requestId: B() })) } }, this.eventRefactor = function (e) { var t, i, r = n(n({}, e), o.eventContextBuilder(e.trackingId, { path: e.path, query: e.query, timestamp: e.timestamp })); return r.attributes = n(n({}, null !== (t = r.attributes) && void 0 !== t ? t : {}), null !== (i = e.attributes) && void 0 !== i ? i : {}), r }, this.eventInterceptor = function (e) { var t = o.growingIO.minipInstance, n = t.systemInfo, r = t.network; A(n) || A(r) ? o.interceptEvents.push(e) : A(o.interceptEvents) ? o.eventConverter(e) : (i(i([], o.interceptEvents, !0), [e], !1).forEach(function (e) { o.eventConverter(o.eventRefactor(e)) }), o.interceptEvents = []) }, this.eventReleaseInspector = function () { var e = o.growingIO.minipInstance, t = e.systemInfo, n = e.network; t && n && !A(o.interceptEvents) && (i([], o.interceptEvents, !0).forEach(function (e) { o.eventConverter(o.eventRefactor(e)) }), o.interceptEvents = []) }, this.buildAppMessageEvent = function (e, t) { var i, r, a, u = t[0]; 2 > t.length ? 1 === t.length && (a = u) : a = t[1]; var s = o.growingIO.dataStore, c = s.eventContextBuilder, l = s.eventInterceptor, g = ((null == a ? void 0 : a.path) || "").split("?"), d = n({ eventType: "CUSTOM", eventName: "$mp_on_share" }, c(e)); d.attributes = ee(n(n(n({}, null !== (i = d.attributes) && void 0 !== i ? i : {}), { $from: null == u ? void 0 : u.from, $target: null === (r = null == u ? void 0 : u.target) || void 0 === r ? void 0 : r.id, $share_title: null == a ? void 0 : a.title, $share_path: p(g), $share_query: g[1] }), null == a ? void 0 : a.attributes)), l(d) }, this.buildTimelineEvent = function (e, t) { var i, r, a, u = t[0]; 2 > t.length ? 1 === t.length && (a = u) : a = t[1]; var s = o.growingIO.dataStore, c = s.eventContextBuilder, l = s.eventInterceptor, g = ((null == a ? void 0 : a.path) || "").split("?"), d = n({ eventType: "CUSTOM", eventName: "$mp_share_timeline" }, c(e)); d.attributes = ee(n(n(n({}, null !== (i = d.attributes) && void 0 !== i ? i : {}), { $target: null === (r = null == u ? void 0 : u.target) || void 0 === r ? void 0 : r.id, $share_title: null == a ? void 0 : a.title, $share_path: p(g), $share_query: g[1] }), null == a ? void 0 : a.attributes)), l(d) }, this.buildAddFavorites = function (e, t) { var i, r, a = t[0]; 2 > t.length ? 1 === t.length && (r = a) : r = t[1]; var u = o.growingIO.dataStore, s = u.eventContextBuilder, c = u.eventInterceptor, l = ((null == r ? void 0 : r.path) || "").split("?"), g = n({ eventType: "CUSTOM", eventName: "$mp_add_favorites" }, s(e)); g.attributes = ee(n(n({}, null !== (i = g.attributes) && void 0 !== i ? i : {}), { $share_title: null == r ? void 0 : r.title, $share_path: p(l), $share_query: l[1] })), c(g) }, this.trackersExecute = function (e) { o.initializedTrackingIds.forEach(function (t) { "function" === N(e) && e(t) }) }, this.initializedTrackingIds = [], this.eventContextBuilder = new Ce(this.growingIO).main, this.eventHooks = new qe(this.growingIO), this.shareOut = !1, this._gsid = {}, this._stid = {}, this.lastVisitEvent = {}, this.lastPageEvent = {}, this.locationData = {}, this.generalProps = {}, this.trackTimers = {}, this.interceptEvents = []; var a = this.growingIO, s = a.emitter, l = a.minipInstance; s.on(be, function (e) { var t = e.trackingId; o.initializedTrackingIds.push(t), o.initStorageInfo(t) }), s.on(Ie, function (e) { var t = e.eventData, n = e.trackingId; "VISIT" === t.eventType && (o.lastVisitEvent[n] = t), "PAGE" === t.eventType && (o.lastPageEvent[n] = t) }), g(null === (t = l.minip) || void 0 === t ? void 0 : t.onAppHide) && l.minip.onAppHide(function () { o.trackersExecute(function (e) { var t = o.trackTimers[e]; k(t, function (e) { e.start && (e.leng = e.leng + (+Date.now() - e.start)) }) }) }), g(null === (r = l.minip) || void 0 === r ? void 0 : r.onAppShow) && l.minip.onAppShow(function () { o.trackersExecute(function (e) { var t = o.trackTimers[e]; k(t, function (e) { e.start && (e.start = +Date.now()) }) }) }), s.on(Te, function (e) { var t = e.optionName, n = e.optionValue; "dataCollect" === t && !1 === n && o.trackersExecute(function (e) { o.growingIO.clearTrackTimer(e) }) }), this.growingIO.emitter.on(Ee, function (e) { var t = e.oldSessionId, n = e.trackingId; if (t) { var i = o.eventHooks.currentPage, r = i.getPagePath, a = i.getPageQuery, u = r(), s = a(); if (u) o.sendVisit(n, { path: u, query: s }); else { var c = o.lastPageEvent[n]; o.sendVisit(n, { path: c.path, query: c.query }) } o.eventHooks.currentPage.lifeBeforeShow || o.sendPage(n) } }) } return Object.defineProperty(e.prototype, "scene", { get: function () { return this._scene }, set: function (e) { var t = this._scene; this._scene = e, t !== this._scene && this.growingIO.emitter.emit("SCENE_UPDATE", { newScene: e, oldScene: t }) }, enumerable: !1, configurable: !0 }), e }(), He = { scnPrefix: "", appHandlers: ["onLaunch", "onShow", "onHide", "onError", "onPageNotFound", "onUnhandledRejection", "onThemeChange"], pageHandlers: ["onLoad", "onShow", "onReady", "onHide", "onShareAppMessage", "onTabItemTap", "onUnload", "onPullDownRefresh", "onReachBottom", "onResize"], shareEventTypes: ["onShareAppMessage", "onShareTimeline", "onAddToFavorites"], actionEventTypes: ["onclick", "tap", "onTap", "longpress", "longTap", "blur", "change", "onChange", "submit", "confirm", "getuserinfo", "getphonenumber", "contact", "mouseup"], canHook: !0, hooks: { App: !0, Page: !0, Component: !0, Behavior: !0 }, listeners: { app: { appLaunch: "onLaunch", appShow: "onShow", appClose: "onHide" }, page: { pageLoad: "onLoad", pageShow: "onShow", pageReady: "onReady", pageHide: "onHide", pageUnload: "onUnload", tabTap: "onTabItemTap", shareApp: "onShareAppMessage" }, actions: { click: ["onclick", "tap", "longpress", "longTap", "getuserinfo", "getphonenumber", "contact", "mouseup"], change: ["blur", "change", "confirm"], submit: ["submit"] } } }, Fe = n(n({}, He), { pageHandlers: i(i([], He.pageHandlers, !0), ["onShareChat", "onCopyUrl", "onShareAppMessage", "onShareTimeline"], !1), shareEventTypes: i(i([], He.shareEventTypes, !0), ["onShareChat", "onCopyUrl"], !1), listeners: n(n({}, He.listeners), { page: n(n({}, He.listeners.page), { shareTime: "onShareTimeline", shareChat: "onShareChat", copyUrl: "onCopyUrl" }) }), name: "XiaoHongShu", platform: "xhsp", scnPrefix: "xhs_" }), De = n(n({}, He), { listeners: n({}, He.listeners), name: "JingDong", platform: "jdp", scnPrefix: "jd_" }), Ke = n(n({}, He), { listeners: n({}, He.listeners), name: "KuaiShou", platform: "kuaishoup", scnPrefix: "ks_" }), Le = n(n({}, He), { listeners: n({}, He.listeners), name: "Alipay", platform: "alip", scnPrefix: "alip_", shareEventTypes: ["onShareAppMessage"], hooks: n(n({}, He.hooks), { Behavior: !1 }) }), Ve = n(n({}, He), { pageHandlers: i(i([], He.pageHandlers, !0), ["onInit", "didMount", "didUnmount"], !1), listeners: n(n({}, He.listeners), { page: n(n({}, He.listeners.page), { onInit: "onInit", didMount: "didMount", didUnmount: "didUnmount" }) }), name: "Taobao", platform: "tbp", scnPrefix: "tbp_", hooks: n(n({}, He.hooks), { Behavior: !1 }) }), je = n(n({}, He), { listeners: n({}, He.listeners), name: "QQ", platform: "qq", scnPrefix: "qq_" }); je.pageHandlers = i(i([], He.pageHandlers, !0), ["onAddToFavorites"], !1), je.listeners.page.addFavorites = "onAddToFavorites"; var Be = n(n({}, He), { listeners: n({}, He.listeners), name: "Baidu", platform: "baidup", scnPrefix: "baidup_" }), Me = n(n({}, He), { listeners: n({}, He.listeners), name: "Bytedance", platform: "bytedance", scnPrefix: "bytedance_" }), Re = n(n({}, He), { listeners: n({}, He.listeners), name: "Weixin", platform: "MinP" }); Re.pageHandlers = i(i([], He.pageHandlers, !0), ["onShareTimeline", "onAddToFavorites"], !1), Re.listeners.page = n(n({}, He.listeners.page), { shareTime: "onShareTimeline", addFavorites: "onAddToFavorites" }); var Ge, Qe = Z(), $e = D(function () { var e = { xhs: Fe, jd: De, ks: Ke, my: Le, tb: Ve, qq: je, swan: Be, tt: Me, wx: Re }[Qe]; return e.canHook = !1, e }), ze = function (e) { var t = this; this.growingIO = e, this.minip = W("framework"), this.hookSetTitle = function () { var e, n = null === (e = t.minip) || void 0 === e ? void 0 : e.setNavigationBarTitle, i = t; n && Object.defineProperty(t.minip, "setNavigationBarTitle", { writable: !0, enumerable: !0, configurable: !0, value: function () { if (i.growingIO.gioSDKInitialized) { var e = i.getCurrentPath(), t = (arguments[0] || {}).title; i.growingIO.dataStore.eventHooks.currentPage.configuredTitle[e] = t } return n.apply(this, arguments) } }) }, this.navigateTo = function (e) { var n; return null === (n = t.minip) || void 0 === n ? void 0 : n.navigateTo(e) }, this.switchTab = function (e) { var n; null === (n = t.minip) || void 0 === n || n.switchTab(e) }, this.navigateToMiniProgram = function (e) { var n; return null === (n = t.minip) || void 0 === n ? void 0 : n.navigateToMiniProgram(e) }, this.getImageInfo = function (e) { var n, i = e.src, r = e.success, o = e.fail, a = e.complete; return null === (n = t.minip) || void 0 === n ? void 0 : n.getImageInfo({ src: i, success: r, fail: o, complete: a }) }, this.initImpression = function (e) { var n, i; null === (i = null === (n = t.growingIO.plugins) || void 0 === n ? void 0 : n.gioImpressionTracking) || void 0 === i || i.main(e, "observeAll") }, this.getCurrentPage = function () { return D(function () { return v(getCurrentPages()) }) || {} }, this.getCurrentPath = function () { var e = t.getCurrentPage(); return (null == e ? void 0 : e.route) || (null == e ? void 0 : e.uri) || (null == e ? void 0 : e.__route__) || "" }, this.getPageTitle = function (e) { var n, i, r, o, a, s, c, l, g = Z(), f = "", p = J(g); "string" === N(p) && (p = null !== (n = D(function () { return JSON.parse(p) })) && void 0 !== n ? n : {}); var v, h = (null == e ? void 0 : e.data) || e.$data || {}; if ((f = u(null == h ? void 0 : h.gioPageTitle) ? null == h ? void 0 : h.gioPageTitle : "") || D(function () { var t, n, i = Y(g); i && (v = i["".concat(e.route, ".json")] || {}, f = (null == v ? void 0 : v.navigationBarTitleText) || (null === (n = null === (t = null == v ? void 0 : v.mod) || void 0 === t ? void 0 : t.exports) || void 0 === n ? void 0 : n.navigationBarTitleText)) }), !f && p) { var m = t.growingIO.dataStore.eventHooks.appEffects.enterParams; if (e.route || A(m) || (e.route = m.path || "", f = e.route ? t._getTitleFromTabBar(p, e.route) : ""), !f && (v = d(p.pages) ? null !== (i = p.pages.find(function (t) { return t.path === e.route })) && void 0 !== i ? i : {} : p.page || {})) { var I = v[e.route] || v["".concat(e.route, ".html")] || v; f = (null == I ? void 0 : I.navigationBarTitleText) || (null === (r = null == I ? void 0 : I.window) || void 0 === r ? void 0 : r.navigationBarTitleText) } f || (f = t._getTitleFromTabBar(p, e.route)) } return f || (f = ["wx", "tt"].includes(g) ? null === (s = null === (a = null === (o = p || global || $global) || void 0 === o ? void 0 : o.global) || void 0 === a ? void 0 : a.window) || void 0 === s ? void 0 : s.navigationBarTitleText : null === (l = null === (c = p || global || $global) || void 0 === c ? void 0 : c.window) || void 0 === l ? void 0 : l.navigationBarTitleText), L(f) }, this._getTitleFromTabBar = function (e, t) { var n, i, r = null === (i = null === (n = null == e ? void 0 : e.tabBar) || void 0 === n ? void 0 : n.list) || void 0 === i ? void 0 : i.find(function (e) { return e.pagePath === t || e.pagePath === "".concat(t, ".html") }); return (null == r ? void 0 : r.text) || "" }, this.getStorageSync = function (e) { var n, i = null === (n = t.minip) || void 0 === n ? void 0 : n.getStorageSync(e); return l(i) && i.expiredAt ? i.expiredAt < Date.now() ? "" : i.value : i }, this.getStorage = function (e) { return new Promise(function (n) { var i; null === (i = t.minip) || void 0 === i || i.getStorage({ key: e, success: function (e) { var t = e.data; return n(t) }, fail: function () { return n("") } }) }) }, this.setStorageSync = function (e, n, i) { var r; i && (n = { value: n, expiredAt: i }), null === (r = t.minip) || void 0 === r || r.setStorageSync(e, n) }, this.setStorage = function (e, n) { var i; null === (i = t.minip) || void 0 === i || i.setStorage({ key: e, data: n }) }, this.removeStorageSync = function (e) { var n; null === (n = t.minip) || void 0 === n || n.removeStorageSync(e) }, this.removeStorage = function (e) { var n; null === (n = t.minip) || void 0 === n || n.removeStorage(e) }, this.getNetworkType = function () { var e = t; return new Promise(function (n) { var i; null === (i = t.minip) || void 0 === i || i.getNetworkType({ success: function (t) { e.network = t, n(t) }, fail: function () { return n(null) } }) }) }, this.request = function (e) { var n, i = e.url, r = e.data, o = e.header, a = e.timeout, u = e.method, s = e.success, c = e.fail, l = e.complete, d = null === (n = t.minip) || void 0 === n ? void 0 : n.request({ url: i, data: r, header: o, timeout: a, method: u, success: s, fail: c, complete: l }), f = setTimeout(function () { (null == d ? void 0 : d.abort) && g(null == d ? void 0 : d.abort) && (null == d || d.abort()), clearTimeout(f), f = null }, (a || 1e4) + 10); return d }, this.getSystemInfo = function () { var e = t; return new Promise(function (n) { var i; null === (i = t.minip) || void 0 === i || i.getSystemInfo({ success: function (t) { e.systemInfo = t, n(t) }, fail: function () { return n(null) } }) }) }, this.getSetting = function () { return new Promise(function (e) { var n; null === (n = t.minip) || void 0 === n || n.getSetting({ success: e, fail: e }) }) }, this.setNetworkStatusListener = function () { var e; null === (e = t.minip) || void 0 === e || e.onNetworkStatusChange(function (e) { var n = e.networkType; n && (t.network.networkType = n) }) }; var n = this.growingIO.platformConfig, i = n.platform, r = n.scnPrefix; this.platform = i, this.scnPrefix = r, this.growingIO.emitter.on(ke, function () { t.getNetworkType().then(function () { var e; return null === (e = t.growingIO.dataStore) || void 0 === e ? void 0 : e.eventReleaseInspector() }), t.getSystemInfo().then(function () { var e; return null === (e = t.growingIO.dataStore) || void 0 === e ? void 0 : e.eventReleaseInspector() }) }) }, We = function (e) { function n(t) { var n = e.call(this, t) || this; return n.growingIO = t, n.initImpression = function (e) { var t, i; null === (i = null === (t = n.growingIO.plugins) || void 0 === t ? void 0 : t.gioImpressionTracking) || void 0 === i || i.main(e, "selectAll") }, n.hookSetTitle(), n } return t(n, e), n }(ze), Je = function (e) { function n(t) { var n = e.call(this, t) || this; return n.growingIO = t, n.hookSetTitle(), n } return t(n, e), n }(ze), Ye = function (e) { function n(t) { var n = e.call(this, t) || this; return n.growingIO = t, n.hookSetTitle(), n } return t(n, e), n }(ze), Ze = function (e) { function n(t) { var n = e.call(this, t) || this; return n.growingIO = t, n.hookSetTitle = function () { var e, t = null === (e = n.minip) || void 0 === e ? void 0 : e.setNavigationBar, i = n; t && Object.defineProperty(n.minip, "setNavigationBar", { writable: !0, enumerable: !0, configurable: !0, value: function () { if (i.growingIO.gioSDKInitialized) { var e = i.getCurrentPath(), n = (arguments[0] || {}).title; i.growingIO.dataStore.eventHooks.currentPage.configuredTitle[e] = n } return t.apply(this, arguments) } }) }, n.initImpression = function (e) { var t, i; null === (i = null === (t = n.growingIO.plugins) || void 0 === t ? void 0 : t.gioImpressionTracking) || void 0 === i || i.main(e, "selectAll") }, n.getStorageSync = function (e) { return my.getStorageSync({ key: e }).data }, n.setStorageSync = function (e, t) { var i; null === (i = n.minip) || void 0 === i || i.setStorageSync({ key: e, data: t }) }, n.removeStorageSync = function (e) { var t; null === (t = n.minip) || void 0 === t || t.removeStorageSync({ key: e }) }, n.request = function (e) { var t, i = e.url, r = e.data, o = e.header, a = e.timeout, u = e.method, s = e.success, c = e.fail, l = e.complete, d = null === (t = n.minip) || void 0 === t ? void 0 : t.request({ url: i, data: r, headers: o, timeout: a, method: u, success: s, fail: c, complete: l }), f = n.minip.SDKVersion; if (Q(f, "2.0.0") >= 0) var p = setTimeout(function () { (null == d ? void 0 : d.abort) && g(null == d ? void 0 : d.abort) && (null == d || d.abort()), clearTimeout(p), p = null }, (a || 1e4) + 10); return d }, n.handleSharePromise = function (e, t) { var n = new Promise(function (t) { e._result ? t(e._result) : Object.defineProperty(e, "_result", { set: function (e) { this.__result = e, t(e) }, get: function () { return this.__result } }) }); Promise.race([n, new Promise(function (t) { setTimeout(function () { t(e._result || {}) }, 3e3) })]).then(t).catch(function (e) { return H(e, "error") }) }, n.hookSetTitle(), n } return t(n, e), n }(ze), Xe = function (e) { function n(t) { var n = e.call(this, t) || this; return n.growingIO = t, n.hookSetTitle(), n } return t(n, e), n }(ze), et = function (e) { function n(t) { var n = e.call(this, t) || this; return n.growingIO = t, n.initImpression = function (e) { var t, i; null === (i = null === (t = n.growingIO.plugins) || void 0 === t ? void 0 : t.gioImpressionTracking) || void 0 === i || i.main(e, "selectAll") }, n.hookSetTitle(), n } return t(n, e), n }(ze), nt = function (e) { function n(t) { var n = e.call(this, t) || this; return n.growingIO = t, n.hookSetTitle(), n } return t(n, e), n }(ze), it = function (e) { function i(t) { var i = e.call(this, t) || this; return i.growingIO = t, i.getSystemInfo = function () { var e = i; return new Promise(function (t) { var r, o, a, u = n(n(n({}, null === (r = i.minip) || void 0 === r ? void 0 : r.getDeviceInfo()), null === (o = i.minip) || void 0 === o ? void 0 : o.getWindowInfo()), null === (a = i.minip) || void 0 === a ? void 0 : a.getAppBaseInfo()); e.systemInfo = u, t(u) }) }, i.hookSetTitle(), i } return t(i, e), i }(ze), rt = { wx: it, swan: et, my: Ze, qq: Xe, tt: nt, ks: Ye, jd: Je, xhs: We }[Z()], ot = ["gioPerformance"], at = { name: "gioUniAppAdapter", method: function (e) { var t, n, i = this; this.growingIO = e, this.main = function () { var e, t; switch (i.uniVue || (i.uniVue = null === (t = null === (e = i.growingIO) || void 0 === e ? void 0 : e.vdsConfig) || void 0 === t ? void 0 : t.uniVue), console.log("Vue version: ", i.uniVue.version), Number(Ge.head(Ge.split(i.uniVue.version, ".")))) { case 2: i.uniVue2Proxy(); break; case 3: i.uniVue3Proxy(i.uniVue); break; default: Ge.consoleText("不支持的Vue版本,请使用 Vue2 或 Vue3!", "error") } }, this.getHandlerName = function (e, t) { var n; return "__e" === e ? i.getEventHandlerNameFromE(t) : Ge.isEmpty(i.exposedNames) ? e : null !== (n = i.exposedNames[e]) && void 0 !== n ? n : e }, this.getEventHandlerNameFromE = function (e) { var t = "__e", n = e.type, i = e.currentTarget, r = e.target, o = (null == i ? void 0 : i.dataset) || (null == r ? void 0 : r.dataset); if (!o) return t; var a = o.eventOpts || o["event-opts"]; return a ? (a.forEach(function (e) { var i = Ge.head(e), r = "^" === i.charAt(0), o = "~" === (i = r ? i.slice(1) : n).charAt(0); i = o ? i.slice(1) : n; var a, u, s = Ge.last(e); ((a = n) === (u = i) || "regionchange" === u && ("begin" === a || "end" === a)) && (t = Ge.head(Ge.head(s))) }), t) : t }, this.uniVue2Proxy = function () { var e = i.growingIO.dataStore.eventHooks; i.overrideLifeFcEffectsFn(e), e.nativeGrowing() }, this.overrideLifeFcEffectsFn = function (e) { var t = e.lifeFcEffectsFn; e.lifeFcEffectsFn = function () { for (var e = this, n = [], i = 0; arguments.length > i; i++)n[i] = arguments[i]; if ("Page" !== n[2]) return t.apply(this, n); setTimeout(function () { return t.apply(e, n) }, 0) } }, this.uniVue3Proxy = function (e) { var t = i.growingIO, n = t.dataStore.eventHooks, r = t.minipInstance; i.overrideObjectTraverse(n), n.nativeGrowing(), i.overrideGetPageTitle(r), i.addVueMixin(e, n) }, this.overrideObjectTraverse = function (e) { e.objectTraverse = function (e, t) { Ge.has(e, "methods") && Object.getOwnPropertyNames(e.methods).forEach(function (n) { t(n, e.methods) }), Ge.has(e, "lifetimes") && Object.getOwnPropertyNames(e.lifetimes).forEach(function (n) { t(n, e.lifetimes) }), Ge.has(e, "pageLifetimes") && Object.getOwnPropertyNames(e.pageLifetimes).forEach(function (n) { t(n, e.pageLifetimes) }), Object.getOwnPropertyNames(e).forEach(function (n) { Ge.niceTry(function () { return !(null == e ? void 0 : e.methods[n]) && !(null == e ? void 0 : e.lifetimes[n]) && !(null == e ? void 0 : e.pageLifetimes[n]) }) || t(n, e) }) } }, this.overrideGetPageTitle = function (e) { var t = e.getPageTitle; e.getPageTitle = function () { for (var n, i, r, o = [], a = 0; arguments.length > a; a++)o[a] = arguments[a]; var u = Ge.isEmpty(o[0]) ? e.getCurrentPage() : o[0]; return "page" === (null === (n = null == u ? void 0 : u.$vm) || void 0 === n ? void 0 : n.mpType) && (null === (i = null == u ? void 0 : u.$vm) || void 0 === i ? void 0 : i.__route__) && (null === (r = null == u ? void 0 : u.$vm) || void 0 === r ? void 0 : r.gioPageTitle) || t.apply(this, o) } }, this.addVueMixin = function (e, t) { var n = i; e.mixin({ beforeMount: function () { n.proxyMethods(this, t), n.proxyExposedMethods(this, t), n.proxyEmit(this, t) }, updated: function () { n.proxyExposedMethods(this, t) } }) }, this.proxyMethods = function (e, t) { var n, i = function (e, n) { return Ge.keys(e).forEach(function (e) { var i, r; Ge.isFunction(n[e]) && Object.defineProperty(n, e, { value: (i = e, r = n[e], Ge.isFunction(r) && !t.pageHandlers.includes(i) ? function () { for (var e = [], n = 0; arguments.length > n; n++)e[n] = arguments[n]; return t.customFcEffects(i, r).apply(this, e) } : r), configurable: !0, writable: !0 }) }) }, r = e.$options.methods; r && i(r, e); var o = null === (n = null == e ? void 0 : e._) || void 0 === n ? void 0 : n.setupState; o && i(o, o) }, this.proxyExposedMethods = function (e, t) { var n, o = null === (n = null == e ? void 0 : e._) || void 0 === n ? void 0 : n.exposed; if (i.exposedNames = {}, o) { var a = Ge.keys(o); a.forEach(function (e) { Ge.isFunction(o[e]) && (i.exposedNames[o[e].name] = e) }), Ge.keys(e.$scope).filter(function (t) { return r.test(t) && Ge.isFunction(e.$scope[t]) }).forEach(function (n, r) { var o = e.$scope[n].value; if (!e._.updated || !o._GIO_HOOKED_) { var u = i.splicingMethodName(o.name, n, a[r]); e.$scope[n].value = t.customFcEffects(u, o), e.$scope[n].value._GIO_HOOKED_ = !0 } }) } }, this.proxyEmit = function (e, t) { var n = e._.emit; e._.emit = function () { for (var e = [], i = 0; arguments.length > i; i++)e[i] = arguments[i]; return t.customFcEffects(e[0], function () { }).apply(this, e), n.apply(this, e) } }, this.splicingMethodName = function (e, t, n) { return e || (n ? "".concat(t, "#").concat(n) : t) }, this.pluginVersion = "__PLUGIN_VERSION__", Ge = this.growingIO.utils, this.uniVue = null === (n = null === (t = this.growingIO) || void 0 === t ? void 0 : t.vdsConfig) || void 0 === n ? void 0 : n.uniVue, this.exposedNames = {} } }, ut = function (e) { function n(t) { var n = e.call(this, t) || this; return n.growingIO = t, n.pluginsContext = { plugins: { gioUniAppAdapter: at } }, n } return t(n, e), n }(function (e) { var t, n, i, r, o, a, u = this; this.growingIO = e, this.innerPluginInit = function () { var e; ot.forEach(function (e) { var t; return C(null === (t = u.pluginsContext) || void 0 === t ? void 0 : t.plugins, e) }), T(null === (e = u.pluginsContext) || void 0 === e ? void 0 : e.plugins).forEach(function (e) { var t, n, i = null !== (n = null === (t = u.pluginsContext) || void 0 === t ? void 0 : t.plugins[e]) && void 0 !== n ? n : {}, r = i.name, o = i.method; I(u.pluginItems, function (e) { return e.name === r }) || u.pluginItems.push({ name: w(r || e), method: o || function (e) { } }) }), A(u.pluginItems) || u.installAll() }, this.install = function (e, t, n) { var i, r, o = u.growingIO.emitter, a = t || I(u.pluginItems, function (t) { return t.name === e }); if ((null === (i = u.growingIO) || void 0 === i ? void 0 : i.plugins)[e]) return H("重复加载插件 ".concat(e, " 或插件重名,已跳过加载!"), "warn"), !1; if (!a) return H("插件加载失败!不存在名为 ".concat(e, " 的插件!"), "error"), !1; try { return (null === (r = u.growingIO) || void 0 === r ? void 0 : r.plugins)[e] = new a.method(u.growingIO, n), t && (o.emit(_e, e), H("加载插件 ".concat(e), "info")), !0 } catch (n) { return u.lifeError(t, n), H("插件【".concat(e, "】加载异常 ").concat(n), "error"), !1 } }, this.installAll = function (e) { (e || u.pluginItems).forEach(function (t) { u.install(t.name, e ? t : void 0, e ? null == t ? void 0 : t.options : void 0) && !I(u.pluginItems, function (e) { return e.name === t.name }) && u.pluginItems.push({ name: w(t.name), method: t.method ? t.method : function () { } }) }) }, this.uninstall = function (e) { var t; C(u.pluginItems, e); var n = C(null === (t = u.growingIO) || void 0 === t ? void 0 : t.plugins, e); return n || H("卸载插件 ".concat(e, " 失败!"), "error"), n }, this.uninstallAll = function () { u.pluginItems.forEach(function (e) { return u.uninstall(e.name) }) }, this.lifeError = function (e, t) { u.growingIO.emitter.emit(we, { plugin: e, error: t }), H("插件执行错误 ".concat(e.name, " ").concat(t), "error") }, this.callLifeCycle = function (e, t) { u.pluginItems.forEach(function (n) { var i = u.growingIO.plugins[n.name] ? u.growingIO.plugins[n.name][e] : void 0; if (i && g(i)) try { i(t) } catch (e) { u.lifeError(n, e) } }) }, this.pluginsContext = { plugins: {} }, this.pluginItems = [], null === (t = this.growingIO.emitter) || void 0 === t || t.on(_e, function (e) { return u.callLifeCycle("onInstall", e) }), null === (n = this.growingIO.emitter) || void 0 === n || n.on(we, function (e) { return u.callLifeCycle("onError", e) }), null === (i = this.growingIO.emitter) || void 0 === i || i.on(Se, function (e) { return u.callLifeCycle("onComposeBefore", e) }), null === (r = this.growingIO.emitter) || void 0 === r || r.on(ye, function (e) { return u.callLifeCycle("onComposeAfter", e) }), null === (o = this.growingIO.emitter) || void 0 === o || o.on(Pe, function (e) { return u.callLifeCycle("onSendBefore", e) }), null === (a = this.growingIO.emitter) || void 0 === a || a.on(Oe, function (e) { return u.callLifeCycle("onSendAfter", e) }) }), st = {}, ct = {}.hasOwnProperty; function lt(e) { try { return decodeURIComponent(e.replace(/\+/g, " ")) } catch (e) { return null } } function gt(e) { try { return encodeURIComponent(e) } catch (e) { return null } } st.stringify = function (e, t) { t = t || ""; var n, i, r = []; for (i in "string" != typeof t && (t = "?"), e) if (ct.call(e, i)) { if ((n = e[i]) || null != n && !isNaN(n) || (n = ""), i = gt(i), n = gt(n), null === i || null === n) continue; r.push(i + "=" + n) } return r.length ? t + r.join("&") : "" }, st.parse = function (e) { for (var t, n = /([^=?#&]+)=?([^&]*)/g, i = {}; t = n.exec(e);) { var r = lt(t[1]), o = lt(t[2]); null === r || null === o || r in i || (i[r] = o) } return i }; var dt = function (e) { var t = this; this.growingIO = e, this.generateURL = function (e) { var n = t.growingIO.dataStore.getTrackerVds(e), i = n.serverUrl, r = n.projectId; return _(i, "http") ? "".concat(i, "/v3/projects/").concat(r, "/collect") : "https://".concat(i, "/v3/projects/").concat(r, "/collect") }, this.getHoardingQueue = function (e) { var n; return null !== (n = t.hoardingQueue[e]) && void 0 !== n ? n : [] }, this.getRequestQueue = function (e) { var n; return null !== (n = t.requestQueue[e]) && void 0 !== n ? n : [] }, this.commitRequest = function (e) { var i, r, o = n({}, e), u = t.growingIO, s = u.vdsConfig; u.emitter.emit(Ie, { eventData: e, trackingId: e.trackingId }), s.forceLogin ? (a(t.hoardingQueue[e.trackingId]) && (t.hoardingQueue[e.trackingId] = []), null === (i = t.hoardingQueue[e.trackingId]) || void 0 === i || i.push(o)) : (a(t.requestQueue[e.trackingId]) && (t.requestQueue[e.trackingId] = []), null === (r = t.requestQueue[e.trackingId]) || void 0 === r || r.push(o), t.initiateRequest(e.trackingId)) }, this.initiateRequest = function (e, n) { var r = t.growingIO, o = r.plugins, a = r.vdsConfig, u = r.minipInstance, s = r.dataStore, c = t.getHoardingQueue(e), l = t.getRequestQueue(e), g = i(i([], c, !0), l, !0), d = function (e) { var i, r; if (null === (i = null == a ? void 0 : a.tbConfig) || void 0 === i ? void 0 : i.cloudFuncSend) null === (r = null == o ? void 0 : o.gioTaobaoAdapter) || void 0 === r || r.singleInvoke(e); else if (n) t.batchInvoke(e); else { var c = t.growingIO.dataStore.getTrackerVds(e).uploadInterval; x(t.batchInvoke, c, !1, !1)(e) } g.some(function (e) { return "VISIT" === e.eventType }) && u.removeStorageSync(s.getStorageKey(e, "originalSource")) }; if (g.length > 0) if (t.requestingNum < t.requestLimit) d(e); else var f = setInterval(function () { t.requestingNum < t.requestLimit && (d(e), clearInterval(f), f = void 0) }, 500) }, this.batchInvoke = function (e) { var r = t.growingIO, o = r.vdsConfig, a = r.emitter, u = t.getHoardingQueue(e), s = t.getRequestQueue(e), c = i(i([], u, !0), s, !0); c.length > 50 ? (c = c.slice(0, 50), u.length > 50 ? t.hoardingQueue[e] = u.slice(50) : (t.requestQueue[e] = s.slice(50 - u.length), t.hoardingQueue[e] = [])) : (t.hoardingQueue[e] = [], t.requestQueue[e] = []); var l = c.filter(function (e) { return (t.retryIds[e.requestId] || 0) <= t.retryLimit }); if (!A(l)) { var g = l.map(function (e) { var t = n({}, e); return C(t, ["requestId", "trackingId"]), t }); o.debug && console.log("[GrowingIO Debug]:", JSON.stringify(g, null, 2)), a.emit(Pe, { eventsQueue: l, requestData: g, trackingId: e }) } }, this.sendEvent = function (e, n) { var r, o = p(e).trackingId, a = t.growingIO, u = a.minipInstance, s = a.dataStore, c = a.emitter, l = a.plugins, g = s.getTrackerVds(o), d = g.compress, f = g.requestTimeout; t.requestingNum += 1; var v = { "content-type": "jdp" === u.platform ? "application/json" : "application/json;charset=UTF-8" }, h = i([], n, !0), m = !!d && (null === (r = null == l ? void 0 : l.gioCompress) || void 0 === r ? void 0 : r.compressToUTF16); m && (h = l.gioCompress.compressToUTF16(JSON.stringify(n)), v["X-Compress-Codec"] = "1"); var I = t.generateURL(o); u.request({ url: "".concat(I, "?stm=").concat(Date.now(), "&compress=").concat(m ? "1" : "0"), header: v, method: "POST", data: h, timeout: f, fail: function (i) { [200, 204].includes(i.code) || (e.forEach(function (e) { t.requestFailFn(e) }), H("请求失败!".concat(JSON.stringify(i)), "error"), c.emit("ON_SEND_ERROR", { eventsQueue: e, requestData: n, trackingId: o })) }, complete: function (e) { t.requestingNum -= 1, c.emit(Oe, { result: e, requestData: n, trackingId: o }), t.initiateRequest(o) } }) }, this.requestFailFn = function (e) { if (t.retryIds[e.requestId] || (t.retryIds[e.requestId] = 0), t.retryIds[e.requestId] += 1, !t.requestQueue[e.trackingId].some(function (t) { return t.requestId === e.requestId })) var n = setTimeout(function () { A(t.requestQueue[e.trackingId]) ? (t.requestQueue[e.trackingId].push(e), t.initiateRequest(e.trackingId)) : t.requestQueue[e.trackingId].push(e), clearTimeout(n), n = null }, 800) }, this.hoardingQueue = {}, this.requestQueue = {}, this.requestLimit = 3, this.retryLimit = 2, this.retryIds = {}, this.requestingNum = 0, this.growingIO.emitter.on(Pe, function (e) { var n, i, r = e.eventsQueue, o = e.requestData, a = e.trackingId, u = t.growingIO, s = u.vdsConfig, c = u.plugins; a === t.growingIO.trackingId && ((null === (n = null == s ? void 0 : s.tbConfig) || void 0 === n ? void 0 : n.cloudAppId) ? null === (i = null == c ? void 0 : c.gioTaobaoAdapter) || void 0 === i || i.tbCloudAppInvoke(r, o) : t.sendEvent(r, o)) }) }, ft = function (e) { var t = this; this.growingIO = e, this._getUidKey = function () { return t.growingIO.inPlugin ? "_growing_plugin_uid_" : "_growing_uid_" }, this.getUid = function () { var e = t.growingIO.minipInstance; return t._uid || (t._uid = e.getStorageSync(t._getUidKey())), t._uid || t.setUid(B()), t._uid }, this.setUid = function (e) { var n = t._uid; t._uid = e, n !== t._uid && (t.growingIO.minipInstance.setStorage(t._getUidKey(), t._uid), t.growingIO.emitter.emit("UID_UPDATE", { newUId: e, oldUId: n })) }, this.getSessionId = function (e) { var n = t.growingIO, i = n.vdsConfig.sessionExpires, r = n.dataStore.trackersExecute; return t._sessionId[e] || t.setSessionId(e), i > -1 && (Date.now() > t._sessionExpires && r(function (e) { t.setSessionId(e) }), t._sessionExpires = Date.now() + 6e4 * i), t._sessionId[e] }, this.setSessionId = function (e, n) { var i = t._sessionId[e]; n || (n = B()), t._sessionId[e] = n; var r = t.growingIO.vdsConfig.sessionExpires; r > -1 && (t._sessionExpires = Date.now() + 6e4 * r), i !== n && t.growingIO.emitter.emit(Ee, { trackingId: e, newSessionId: n, oldSessionId: i }) }, this._getUserIdKey = function (e) { return t.growingIO.dataStore.getStorageKey(e, "userId") }, this.getUserId = function (e) { var n = t.growingIO.minipInstance; return t._userId[e] || (t._userId[e] = n.getStorageSync(t._getUserIdKey(e))), t._userId[e] }, this.setUserId = function (e, n) { var i = t._userId[e]; t._userId[e] = a(n) ? "" : n, i !== t._userId[e] && (t.growingIO.minipInstance.setStorage(t._getUserIdKey(e), t._userId[e]), t.growingIO.emitter.emit("USERID_UPDATE", { newUserId: n, oldUserId: i })), n && t.setGioId(e, n) }, this._getUserKeyKey = function (e) { return t.growingIO.dataStore.getStorageKey(e, "userKey") }, this.getUserKey = function (e) { var n = t.growingIO.minipInstance; return t._userKey[e] || (t._userKey[e] = n.getStorageSync(t._getUserKeyKey(e))), t._userKey[e] }, this.setUserKey = function (e, n) { var i = t._userKey[e]; t._userKey[e] = a(n) ? "" : n, i !== t._userKey[e] && (t.growingIO.minipInstance.setStorage(t._getUserKeyKey(e), t._userKey[e]), t.growingIO.emitter.emit("USERKEY_UPDATE", { newUserKey: n, oldUserKey: i })) }, this._getGioIdKey = function (e) { return t.growingIO.dataStore.getStorageKey(e, "gioId") }, this.getGioId = function (e) { var n = t.growingIO.minipInstance; return t._gioId[e] || (t._gioId[e] = n.getStorageSync(t._getGioIdKey(e))), t._gioId[e] }, this.setGioId = function (e, n) { var i = t._gioId[e]; t._gioId[e] = a(n) ? "" : n, i !== t._gioId[e] && (t.growingIO.minipInstance.setStorage(t._getGioIdKey(e), t._gioId[e]), t.growingIO.emitter.emit("GIOID_UPDATE", { newGioId: n, oldGioId: i })) }, this.initUserInfo = function (e) { var n, i = t.growingIO.minipInstance, r = [t._getUidKey(), t._getUserIdKey(e), t._getUserKeyKey(e), t._getGioIdKey(e)], o = null !== (n = te(i, r)) && void 0 !== n ? n : [];["_uid", "_userId", "_userKey", "_gioId"].forEach(function (n, i) { "_uid" === n ? t.getUid() : t[n][e] = o[i] }) }, this.saveUserInfo = function () { var e = t.growingIO, n = e.minipInstance; (0, e.dataStore.trackersExecute)(function (e) { ne(n, [{ key: t._getUidKey(), value: t._uid }, { key: t._getUserIdKey(e), value: t._userId[e] }, { key: t._getUserKeyKey(e), value: t._userKey[e] }, { key: t._getGioIdKey(e), value: t._gioId[e] }]) }) }, this._uid = void 0, this._sessionId = {}, this._userId = {}, this._userKey = {}, this._gioId = {}, this._sessionExpires = -1 }, pt = new function () { var e, t = this; this.init = function (e) { var n; t.emitter.emit("ON_SDK_INITIALIZE_BEFORE", { options: e }); try { if (H("Gio小程序SDK 初始化中...", "info"), e.trackingId && t.dataStore.initializedTrackingIds.includes(e.trackingId)) throw Error("已存在实例 ".concat(e.trackingId, ",请勿重复初始化!")); if (t.trackingId && !t.plugins.gioMultipleInstances) throw Error("您正在尝试初始化另一个实例,请集成多实例插件后重试!"); var i = t.dataStore.initTrackerOptions(e); return null === (n = t.emitter) || void 0 === n || n.emit(ke, i), t.gioSDKInitialized = !0, t.dataStore.initTrackerHooker(i), "quickapp" !== t.gioPlatform && t.userStore.initUserInfo(e.trackingId), t.emitter.emit(be, i), t.trackingId && t.trackingId !== e.trackingId || (X().__gio__ = function () { return t }), H("Gio小程序SDK 初始化完成!", "success"), t.inPlugin && "tbp" !== t.minipInstance.platform && t.dataStore.sendVisit(i.trackingId), t.vdsConfig.forceLogin && H("forceLogin已开启,请调用 identify 方法设置 openId 以继续上报!", "info"), !0 } catch (e) { return H(e, "error"), !1 } }, this.handlerDistribute = function (e, n, r) { var o = t.dataStore, a = o.initializedTrackingIds; if ((0, o.getTrackerVds)(e) && a.includes(e)) return t[n].apply(t, i([e], r, !1)); H("不存在实例:".concat(e, ",请检查!"), "warn") }, this.registerPlugins = function (e) { t.plugins.pluginItems = i(i([], t.plugins.pluginItems, !0), e, !0), t.plugins.installAll(e) }, this.getPlugins = function () { return t.plugins.pluginItems }, this.getDeviceId = function () { return t.userStore.getUid() }, this.getOption = function (e, n) { return t.dataStore.getOption(e, n) }, this.setOption = function (e, n, i) { var r; return T(de).includes(n) ? typeof i === (null === (r = ce[n]) || void 0 === r ? void 0 : r.type) ? (t.dataStore.setOption(e, n, i), H("已修改".concat(de[n], ": ").concat(i), "info"), !0) : (H("参数格式不正确:".concat(i, ",请检查后重试!"), "error"), !1) : (H("不存在可修改的配置项:".concat(n, ",请检查后重试!"), "error"), !1) }, this.setPageAttributes = function (e, n) { if (l(n) && !A(n)) { var i = t.dataStore.eventHooks.currentPage, r = i.getPagePath(); return A(i.pageProps[e]) && (i.pageProps[e] = {}), A(i.pageProps[e][r]) && (i.pageProps[e][r] = {}), A(n) || k(n, function (t, n) { g(i.pageProps[e][r][n]) && !g(t) || (i.pageProps[e][r][n] = t) }), !0 } return F("setPageAttributes"), !1 }, this.clearPageAttributes = function (e, n) { try { if (!A(t.dataStore.eventHooks.currentPage.pageProps[e])) { var i = t.dataStore.eventHooks.currentPage, r = i.getPagePath(); d(n) && !A(n) ? n.forEach(function (t) { C(i.pageProps[e][r], t) }) : i.pageProps[e][r] = {} } } catch (e) { return F("clearPageAttributes"), !1 } }, this.sendPage = function (e, n) { t.dataStore.getTrackerVds(e).trackPage ? H("仅在关闭trackPage时允许调用sendPage,请确认后修改初始化配置项!", "error") : t.dataStore.sendPage(e, n) }, this.identify = function (e, n) { if (e === t.trackingId) if (t.vdsConfig.forceLogin) { if (!se(n)) return void F("identify"); var i = y(n).slice(0, 1e3); t.userStore.setUid(i), t.dataStore.setOption(t.trackingId, "forceLogin", !1), t._identified = !0, t.dataStore.trackersExecute(function (e) { var n = t.uploader.getHoardingQueue(e); n.forEach(function (e, t) { return n[t].deviceId = i }), t.uploader.initiateRequest(e, !0) }) } else t._identified ? F("identify", !1, "请勿重复调用") : F("identify", !1, "forceLogin未开启"); else F("identify", !1, "子实例不允许调用identify") }, this.setUserAttributes = function (e, i) { var r, o, a, u; if (l(i) && !A(i)) { var s = t.dataStore, c = s.eventContextBuilder, g = s.eventInterceptor, d = s.lastVisitEvent, f = n({ eventType: "LOGIN_USER_ATTRIBUTES" }, c(e)); f.attributes = ee(n(n({}, null !== (r = f.attributes) && void 0 !== r ? r : {}), j(i))), f.path || (f.path = null === (o = d[e]) || void 0 === o ? void 0 : o.path, f.query = null === (a = d[e]) || void 0 === a ? void 0 : a.query, f.title = null === (u = d[e]) || void 0 === u ? void 0 : u.title), g(f) } else F("setUserAttributes") }, this.setUserId = function (e, n, i) { if (se(n)) { var r = t.userStore.getGioId(e); n = y(n).slice(0, 1e3), i = y(i).slice(0, 1e3), t.userStore.setUserId(e, n); var o = !a(i) && y(i).length > 0 ? y(i).slice(0, 1e3) : ""; t.userStore.setUserKey(e, o), !t.dataStore.getTrackerVds(e).idMapping && o && H("您设置了 userKey ,请初始化开启 idMapping!", "warn"), r && r !== n && t.userStore.setSessionId(e) } else F("setUserId") }, this.clearUserId = function (e) { t.userStore.setUserId(e, void 0), t.userStore.setUserKey(e, void 0) }, this.setGeneralProps = function (e, n) { return l(n) && !A(n) ? (A(t.dataStore.generalProps[e]) && (t.dataStore.generalProps[e] = {}), k(n, function (n, i) { g(t.dataStore.generalProps[e][i]) && !g(n) || (t.dataStore.generalProps[e][i] = n) }), !0) : (F("setGeneralProps"), !1) }, this.clearGeneralProps = function (e, n) { try { A(t.dataStore.generalProps[e]) || (d(n) && !A(n) ? n.forEach(function (n) { C(t.dataStore.generalProps[e], n) }) : t.dataStore.generalProps[e] = {}) } catch (e) { return F("clearGeneralProps"), !1 } }, this.track = function (e, i, r) { V(i, function () { var o, a = t.dataStore, u = a.eventContextBuilder, s = a.eventInterceptor, c = n({ eventType: "CUSTOM", eventName: i }, u(e)); c.attributes = ee(n(n({}, null !== (o = c.attributes) && void 0 !== o ? o : {}), j(n({}, l(r) && !A(r) ? r : {})))), t.plugins.gioMultipleInstances && r && r["&&sendTo"] && (c["&&sendTo"] = r["&&sendTo"]), s(c) }) }, this.trackTimerStart = function (e, n) { return t.dataStore.getTrackerVds(e).dataCollect ? V(n, function () { var i = B(); return t.dataStore.trackTimers[e] || (t.dataStore.trackTimers[e] = {}), t.dataStore.trackTimers[e][i] = { eventName: n, leng: 0, start: +Date.now() }, i }) : (H("指定实例未开启数据采集,请检查!", "error"), !1) }, this.trackTimerPause = function (e, n) { var i = t.dataStore.trackTimers[e]; if (n && i && i[n]) { var r = i[n]; return r.start && (r.leng = r.leng + (+Date.now() - r.start)), r.start = 0, !0 } return !1 }, this.trackTimerResume = function (e, n) { var i = t.dataStore.trackTimers[e]; if (n && i && i[n]) { var r = i[n]; return 0 === r.start && (r.start = +Date.now()), !0 } return !1 }, this.trackTimerEnd = function (e, i, r) { var o, a = t.dataStore.getTrackerVds(e).dataCollect, u = t.dataStore.trackTimers[e]; if (i && u && u[i]) { if (a) { var s = u[i]; if (0 !== s.start) { var c = +Date.now() - s.start; s.leng = c > 0 ? s.leng + c : 0 } var g = t.dataStore, d = g.eventContextBuilder, f = g.eventInterceptor, p = n({ eventType: "CUSTOM", eventName: s.eventName }, d(e)); return p.attributes = ee(n(n({}, null !== (o = p.attributes) && void 0 !== o ? o : {}), j(n(n({}, l(r) && !A(r) ? r : {}), { event_duration: s.leng > 864e5 ? 0 : s.leng / 1e3 })))), t.plugins.gioMultipleInstances && r && r["&&sendTo"] && (p["&&sendTo"] = r["&&sendTo"]), f(p), !0 } return H("指定实例未开启数据采集,计时器已移除,请检查!", "error"), !1 } return H("未查询到指定计时器,请检查!", "error"), !1 }, this.removeTimer = function (e, n) { var i = t.dataStore.trackTimers[e]; return n && i && i[n] ? (delete i[n], !0) : (H("未查询到指定计时器,请检查!", "error"), !1) }, this.clearTrackTimer = function (e) { t.dataStore.trackTimers[e] = {} }, this.setLocation = function (e, n, i) { A(t.dataStore.locationData[e]) && (t.dataStore.locationData[e] = {}); var r = t.dataStore.locationData[e], o = function (e) { return e >= -180 && 180 >= e }; o(n) && o(i) && (r.latitude !== n || r.longitude !== i) && (t.dataStore.locationData[e] = { latitude: n, longitude: i }) }, this.updateImpression = function () { H("updateImpression 错误! 请集成半自动埋点浏览插件后重试!", "error") }, this.getABTest = function (e, t, n) { H("获取ABTest数据错误! 请集成ABTest插件后重试!", "error"), K(n, {}) }, this.getGioInfo = function (e) { var n, i, r = t.userStore, o = r.getUid, a = r.getUserId, u = r.getUserKey, s = r.getSessionId, c = t.dataStore.getTrackerVds(e), l = c.projectId, g = c.appId, d = c.dataSourceId, f = c.dataCollect, p = c.idMapping, v = c.extraParams, h = c.ignoreFields, m = { gioappid: g, giocs1: a(e) || "", gioplatform: t.platformConfig.platform, gioprojectid: l, gios: s(e), giou: o() }; if (m.giodatacollect = f, m.giodatasourceid = d, p && (m.giouserkey = u(e)), A(v) || v.forEach(function (n) { var i; h.includes(n) || (m["gio".concat(n)] = (null !== (i = t.dataStore.lastVisitEvent[e]) && void 0 !== i ? i : {})[n]) }), e === t.trackingId) { var I = null !== (i = null === (n = t.plugins) || void 0 === n ? void 0 : n.gioEventAutoTracking) && void 0 !== i ? i : {}, y = I.circleServerUrl, S = I.circleOpen; if (y && S) { var w = re(y.split("?")[1]); w.roomId && (m.giocircleroomid = w.roomId) } } return st.stringify(m) }, this.utils = n(n(n({}, U), ue), { qs: st }), this.emitter = { all: e = e || new Map, on: function (t, n) { var i = e.get(t); i ? i.push(n) : e.set(t, [n]) }, off: function (t, n) { var i = e.get(t); i && (n ? i.splice(i.indexOf(n) >>> 0, 1) : e.set(t, [])) }, emit: function (t, n) { var i = e.get(t); i && i.slice().map(function (e) { e(n) }), (i = e.get("*")) && i.slice().map(function (e) { e(t, n) }) } }, this.gioPlatform = Z(), this.gioFramework = "uniapp", this.sdkVersion = "4.4.2"; try { "quickapp" === this.gioPlatform || g(getApp) && g(App) ? this.inPlugin = !1 : this.inPlugin = !0 } catch (e) { this.inPlugin = !0 } this.inPlugin && H("未检测到小程序实例,自动切换为插件模式!", "info"), this.platformConfig = $e, this.minipInstance = new rt(this), this.dataStore = new Ue(this), this.userStore = new ft(this), this.uploader = new dt(this), this.plugins = new ut(this), this.plugins.innerPluginInit() }, vt = function () { var e, t = arguments[0], i = "g0", r = t; if (t.indexOf(".") > -1 && (i = null !== (e = t.split(".")[0]) && void 0 !== e ? e : "g0", r = t.split(".")[1]), u(r) && ge.includes(r) && pt[r]) { var o = h(Array.from(arguments)); if ("init" === r) { var a = function (e, t) { var n = y(t[0]), i = y(t[1]), r = (4 === t.length ? t[3] : t[2]) || {}; return n && i ? e.dataStore.initializedTrackingIds.some(function (t, r) { var o = 0 === r ? e.vdsConfig : e.subInstance[t]; return o.projectId === n && o.dataSourceId === i }) ? (H("SDK初始化失败,重复初始化,请检查初始化参数!", "error"), !1) : { projectId: n, dataSourceId: i, appId: y(4 === t.length ? t[2] : ""), userOptions: r } : (H('SDK初始化失败,请使用 gdp("init", "您的GrowingIO项目 accountId", "您项目的 dataSourceId", "您的小程序 AppId(可选)", options: { serverUrl: "您的数据上报地址" }); 进行初始化!', "error"), !1) }(pt, o); if (a) { var s = a.projectId, c = a.dataSourceId, l = a.appId, g = a.userOptions; return pt.init(n(n({}, g), { projectId: s, dataSourceId: c, appId: l, trackingId: i })) } return !1 } if ("registerPlugins" === r) pt.registerPlugins(o[0]); else { if (pt.gioSDKInitialized && pt.vdsConfig) return le.includes(r) ? D(function () { return pt.handlerDistribute(i, r, o) }) : D(function () { return pt[r].apply(pt, o) }); H("SDK未初始化!", "error") } } else if (fe.includes(r)) H("方法 ".concat(y(r), " 已被弃用,请移除!"), "warn"); else { if ("canIUse" === r) return ge.includes(arguments[1]) && !!pt[arguments[1]]; H("不存在名为 ".concat(y(r), " 的方法调用!"), "error") } }; X().gdp = vt, X().gioSDKVersion = pt.sdkVersion; var ht = pt.dataStore.eventHooks, mt = ht.growingApp, It = ht.growingPage, yt = ht.growingComponent, St = ht.growingBehavior; (0, ht.initOriginalValue)(); var wt = D(function () { return null != mt ? mt : App }), _t = D(function () { return null != It ? It : Page }), Ot = D(function () { return null != yt ? yt : Component }), Pt = D(function () { return null != St ? St : Behavior }); export { wt as GioApp, Pt as GioBehavior, Ot as GioComponent, _t as GioPage, vt as default };