@vestigemetrics/vue 1.0.1 → 1.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +97 -4
- package/dist/index.js +21 -2
- package/dist/index.js.map +3 -3
- package/dist/tag/internal/infrastructure.d.ts +13 -0
- package/dist/{createVestige.d.ts → vue/createVestige.d.ts} +1 -1
- package/package.json +5 -2
- /package/dist/{index.d.ts → vue/index.d.ts} +0 -0
- /package/dist/{useVestige.d.ts → vue/useVestige.d.ts} +0 -0
package/README.md
CHANGED
|
@@ -2,24 +2,117 @@
|
|
|
2
2
|
|
|
3
3
|
Adapter Vue para a tag compilada do Vestige Metrics.
|
|
4
4
|
|
|
5
|
+
- [Documentação da plataforma](https://docs.vestigemetrics.com.br/)
|
|
6
|
+
- [Site do Vestige Metrics](https://vestigemetrics.com.br/)
|
|
7
|
+
|
|
8
|
+
O pacote carrega automaticamente a tag da conta informada:
|
|
9
|
+
|
|
10
|
+
```text
|
|
11
|
+
//tag.ltrck.com.br/lt{ACCOUNT_ID}.js
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
## Instalação
|
|
15
|
+
|
|
5
16
|
```bash
|
|
6
17
|
yarn add @vestigemetrics/vue
|
|
7
18
|
```
|
|
8
19
|
|
|
20
|
+
## Instalação no Vue
|
|
21
|
+
|
|
22
|
+
O valor de `init` deve ser copiado diretamente do painel do Vestige Metrics, no código de instalação da conta. Não informe apenas o número da conta: o adapter precisa do código completo, como `a-0`.
|
|
23
|
+
|
|
9
24
|
```ts
|
|
25
|
+
import { createApp } from 'vue';
|
|
26
|
+
import { createVestige } from '@vestigemetrics/vue';
|
|
27
|
+
import App from './App.vue';
|
|
28
|
+
|
|
29
|
+
const app = createApp(App);
|
|
30
|
+
|
|
10
31
|
app.use(createVestige({
|
|
11
|
-
|
|
32
|
+
init: '5-0'
|
|
33
|
+
}));
|
|
34
|
+
|
|
35
|
+
app.mount('#app');
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
## Vue Router
|
|
39
|
+
|
|
40
|
+
Quando um router é informado, o adapter cria um novo pageview na rota inicial e em cada navegação.
|
|
41
|
+
|
|
42
|
+
```ts
|
|
43
|
+
app.use(createVestige({
|
|
44
|
+
init: '5-0',
|
|
12
45
|
router,
|
|
13
46
|
preset: 'auto'
|
|
14
47
|
}));
|
|
15
48
|
```
|
|
16
49
|
|
|
17
|
-
|
|
50
|
+
No modo `auto`, o pageview é construído e registrado automaticamente. Nesse modo, chamar `registerPageview()` manualmente gera erro.
|
|
51
|
+
|
|
52
|
+
## Modo manual
|
|
53
|
+
|
|
54
|
+
Com router, o adapter constrói o pageview, mas deixa o registro sob controle da aplicação:
|
|
18
55
|
|
|
19
56
|
```ts
|
|
57
|
+
app.use(createVestige({
|
|
58
|
+
init: '5-0',
|
|
59
|
+
router,
|
|
60
|
+
preset: 'manual'
|
|
61
|
+
}));
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
```ts
|
|
65
|
+
import { useVestige } from '@vestigemetrics/vue';
|
|
66
|
+
|
|
67
|
+
const vestige = useVestige();
|
|
68
|
+
|
|
69
|
+
await vestige.registerPageview();
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
Sem router, a aplicação pode construir e registrar o pageview manualmente:
|
|
73
|
+
|
|
74
|
+
```ts
|
|
75
|
+
const context = await vestige.buildPageview({
|
|
76
|
+
url: '/checkout',
|
|
77
|
+
referrer: document.referrer
|
|
78
|
+
});
|
|
79
|
+
|
|
80
|
+
await vestige.registerPageview();
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
Quando um router é configurado, chamar `buildPageview()` manualmente gera erro.
|
|
84
|
+
|
|
85
|
+
## Eventos e leads
|
|
86
|
+
|
|
87
|
+
```ts
|
|
88
|
+
await vestige.event({
|
|
89
|
+
name: 'checkout_started'
|
|
90
|
+
});
|
|
91
|
+
|
|
20
92
|
await vestige.identifyLead('EMAIL', 'user@example.com');
|
|
21
93
|
await vestige.identifyLead('PHONE', '5511999999999');
|
|
22
94
|
```
|
|
23
95
|
|
|
24
|
-
|
|
25
|
-
|
|
96
|
+
## VDA
|
|
97
|
+
|
|
98
|
+
```ts
|
|
99
|
+
const code = await vestige.getVdaCode();
|
|
100
|
+
|
|
101
|
+
await vestige.updateElementWithVda(
|
|
102
|
+
document.querySelector('#checkout')!,
|
|
103
|
+
'sck',
|
|
104
|
+
'pay.hotmart'
|
|
105
|
+
);
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
## API
|
|
109
|
+
|
|
110
|
+
- `buildPageview(data)`
|
|
111
|
+
- `registerPageview()`
|
|
112
|
+
- `pageview(data)`
|
|
113
|
+
- `event(data)`
|
|
114
|
+
- `identifyLead(type, value)`
|
|
115
|
+
- `getVdaCode()`
|
|
116
|
+
- `updateElementWithVda(element, parameter, urlPattern)`
|
|
117
|
+
|
|
118
|
+
Todos os métodos do adapter retornam `Promise` porque aguardam o carregamento da tag compilada da conta.
|
package/dist/index.js
CHANGED
|
@@ -7,6 +7,23 @@ function useVestige() {
|
|
|
7
7
|
return tag;
|
|
8
8
|
}
|
|
9
9
|
|
|
10
|
+
// src/tag/internal/infrastructure.ts
|
|
11
|
+
var base62 = {
|
|
12
|
+
charset: "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ".split(""),
|
|
13
|
+
encode(value) {
|
|
14
|
+
if (value === 0) return 0;
|
|
15
|
+
const result = [];
|
|
16
|
+
while (value > 0) {
|
|
17
|
+
result.unshift(this.charset[value % 62]);
|
|
18
|
+
value = Math.floor(value / 62);
|
|
19
|
+
}
|
|
20
|
+
return result.join("");
|
|
21
|
+
},
|
|
22
|
+
decode(value) {
|
|
23
|
+
return value.split("").reverse().reduce((result, char, index) => result + this.charset.indexOf(char) * 62 ** index, 0);
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
|
|
10
27
|
// src/vue/createVestige.ts
|
|
11
28
|
function loadScript(documentRef, url) {
|
|
12
29
|
return new Promise((resolve, reject) => {
|
|
@@ -28,7 +45,9 @@ function loadScript(documentRef, url) {
|
|
|
28
45
|
function loadVestigeTag(options) {
|
|
29
46
|
var _a;
|
|
30
47
|
const browserWindow = window;
|
|
31
|
-
const
|
|
48
|
+
const encodedAccount = options.init.split("-")[0];
|
|
49
|
+
const accountId = Number(base62.decode(encodedAccount));
|
|
50
|
+
const scriptUrl = (_a = options.scriptUrl) != null ? _a : `//tag.ltrck.com.br/lt${accountId}.js`;
|
|
32
51
|
if (!browserWindow.lt) browserWindow.lt = { _c: [] };
|
|
33
52
|
if (!browserWindow.lt._c) browserWindow.lt._c = [];
|
|
34
53
|
if (options.preset) browserWindow.lt._c.push(["tag_config", { preset: options.preset }]);
|
|
@@ -37,7 +56,7 @@ function loadVestigeTag(options) {
|
|
|
37
56
|
if (!((_a2 = browserWindow.lt) == null ? void 0 : _a2.tag)) await loadScript(document, scriptUrl);
|
|
38
57
|
const tag = (_b = browserWindow.lt) == null ? void 0 : _b.tag;
|
|
39
58
|
if (!tag) throw new Error("Vestige tag loaded without exposing window.lt.tag");
|
|
40
|
-
tag.init(options.
|
|
59
|
+
tag.init(options.init);
|
|
41
60
|
return tag;
|
|
42
61
|
})();
|
|
43
62
|
const call = async (method, ...args) => {
|
package/dist/index.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../../../src/vue/useVestige.ts", "../../../src/vue/createVestige.ts"],
|
|
4
|
-
"sourcesContent": ["import { inject } from 'vue';\nimport type { VestigeVueClient } from './createVestige';\n\nexport const VESTIGE_INJECTION_KEY = Symbol('vestige');\n\nexport function useVestige(): VestigeVueClient {\n const tag = inject<VestigeVueClient>(VESTIGE_INJECTION_KEY);\n if (!tag) throw new Error('VestigeTag has not been installed');\n return tag;\n}\n", "import type { App, Plugin } from 'vue';\nimport { VESTIGE_INJECTION_KEY } from './useVestige';\n\nexport interface VestigeBrowserTag {\n init(accountId: string): void;\n buildPageview(data?: { url?: string; referrer?: string }): unknown;\n registerPageview(context?: unknown): void;\n pageview(data?: { url?: string; referrer?: string }): void;\n event(data: string | Record<string, unknown>): void;\n identifyLead(type: 'EMAIL' | 'PHONE', value: string): void;\n getVdaCode(): string | null;\n updateElementWithVda(element?: Element, parameter?: string, urlPattern?: string): void;\n}\n\ninterface BrowserWindow extends Window {\n lt?: { tag?: VestigeBrowserTag; _c?: Array<[string, unknown]> };\n}\n\nexport interface VestigeRouter {\n currentRoute: { value: { fullPath: string } };\n afterEach(callback: (to: { fullPath: string }) => void): void;\n}\n\nexport interface VestigeVueOptions {\n
|
|
5
|
-
"mappings": ";AAAA,SAAS,cAAc;AAGhB,IAAM,wBAAwB,OAAO,SAAS;AAE9C,SAAS,aAA+B;AAC7C,QAAM,MAAM,OAAyB,qBAAqB;AAC1D,MAAI,CAAC,IAAK,OAAM,IAAI,MAAM,mCAAmC;AAC7D,SAAO;AACT;;;
|
|
3
|
+
"sources": ["../../../src/vue/useVestige.ts", "../../../src/tag/internal/infrastructure.ts", "../../../src/vue/createVestige.ts"],
|
|
4
|
+
"sourcesContent": ["import { inject } from 'vue';\nimport type { VestigeVueClient } from './createVestige';\n\nexport const VESTIGE_INJECTION_KEY = Symbol('vestige');\n\nexport function useVestige(): VestigeVueClient {\n const tag = inject<VestigeVueClient>(VESTIGE_INJECTION_KEY);\n if (!tag) throw new Error('VestigeTag has not been installed');\n return tag;\n}\n", "export interface VestigeDocument extends Document {\n cookie: string;\n}\n\nexport function getCookie(documentRef: VestigeDocument, name: string): string {\n const prefix = `${name}=`;\n const entry = documentRef.cookie.split(';').map((item) => item.trim()).find((item) => item.startsWith(prefix));\n return entry ? unescape(entry.slice(prefix.length)) : '';\n}\n\nexport function setCookie(documentRef: VestigeDocument, domain: string, name: string, value: string | number, ttlMinutes = 365 * 24 * 60): void {\n const expires = new Date(Date.now() + ttlMinutes * 60 * 1000).toUTCString();\n documentRef.cookie = `${name}=${value};expires=${expires};path=/;domain=${domain}`;\n}\n\nexport function includeScript(documentRef: Document, src: string, callback?: () => void): void {\n const script = documentRef.createElement('script');\n script.type = 'text/javascript';\n script.src = src;\n if (callback) script.onload = callback;\n const firstScript = documentRef.getElementsByTagName('script')[0];\n firstScript?.parentNode?.insertBefore(script, firstScript);\n}\n\nexport function getUrlParams(locationRef: Location): Record<string, string> {\n const params: Record<string, string> = {};\n new URLSearchParams(locationRef.search).forEach((value, key) => { params[key] = value; });\n return params;\n}\n\nexport function getTld(documentRef: VestigeDocument, locationRef: Location, storage: Storage): string {\n const key = 'ltTLD';\n const saved = storage.getItem(key);\n if (saved) return saved;\n const parts = locationRef.hostname.split('.');\n let partial = '';\n for (let index = parts.length - 1; index > 0; index--) {\n partial = `.${parts[index]}${partial}`;\n setCookie(documentRef, partial, key, Date.now(), 5 / 60);\n if (getCookie(documentRef, key)) {\n storage.setItem(key, partial);\n return partial;\n }\n }\n return `.${locationRef.hostname}`;\n}\n\nexport const base62 = {\n charset: '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'.split(''),\n encode(value: number): string | number {\n if (value === 0) return 0;\n const result: string[] = [];\n while (value > 0) {\n result.unshift(this.charset[value % 62]);\n value = Math.floor(value / 62);\n }\n return result.join('');\n },\n decode(value: string): number {\n return value.split('').reverse().reduce((result, char, index) => result + this.charset.indexOf(char) * (62 ** index), 0);\n }\n};\n", "import type { App, Plugin } from 'vue';\nimport { VESTIGE_INJECTION_KEY } from './useVestige';\nimport { base62 } from '../tag/internal/infrastructure';\n\nexport interface VestigeBrowserTag {\n init(accountId: string): void;\n buildPageview(data?: { url?: string; referrer?: string }): unknown;\n registerPageview(context?: unknown): void;\n pageview(data?: { url?: string; referrer?: string }): void;\n event(data: string | Record<string, unknown>): void;\n identifyLead(type: 'EMAIL' | 'PHONE', value: string): void;\n getVdaCode(): string | null;\n updateElementWithVda(element?: Element, parameter?: string, urlPattern?: string): void;\n}\n\ninterface BrowserWindow extends Window {\n lt?: { tag?: VestigeBrowserTag; _c?: Array<[string, unknown]> };\n}\n\nexport interface VestigeRouter {\n currentRoute: { value: { fullPath: string } };\n afterEach(callback: (to: { fullPath: string }) => void): void;\n}\n\nexport interface VestigeVueOptions {\n init: string;\n scriptUrl?: string;\n preset?: 'auto' | 'manual';\n router?: VestigeRouter;\n}\n\nexport interface VestigeVueClient {\n readonly ready: Promise<VestigeBrowserTag>;\n buildPageview(data?: { url?: string; referrer?: string }): Promise<unknown>;\n registerPageview(): Promise<void>;\n pageview(data?: { url?: string; referrer?: string }): Promise<void>;\n event(data: string | Record<string, unknown>): Promise<void>;\n identifyLead(type: 'EMAIL' | 'PHONE', value: string): Promise<void>;\n getVdaCode(): Promise<string | null>;\n updateElementWithVda(element?: Element, parameter?: string, urlPattern?: string): Promise<void>;\n}\n\nfunction loadScript(documentRef: Document, url: string): Promise<void> {\n return new Promise((resolve, reject) => {\n const existing = documentRef.querySelector(`script[src=\"${url}\"]`);\n if (existing) {\n existing.addEventListener('load', () => resolve(), { once: true });\n if ((window as BrowserWindow).lt?.tag) resolve();\n return;\n }\n const script = documentRef.createElement('script');\n script.async = true;\n script.src = url;\n script.onload = () => resolve();\n script.onerror = () => reject(new Error(`Unable to load Vestige tag: ${url}`));\n documentRef.head.appendChild(script);\n });\n}\n\nexport function loadVestigeTag(options: VestigeVueOptions): VestigeVueClient {\n const browserWindow = window as BrowserWindow;\n const encodedAccount = options.init.split('-')[0];\n const accountId = Number(base62.decode(encodedAccount));\n const scriptUrl = options.scriptUrl ?? `//tag.ltrck.com.br/lt${accountId}.js`;\n if (!browserWindow.lt) browserWindow.lt = { _c: [] };\n if (!browserWindow.lt._c) browserWindow.lt._c = [];\n if (options.preset) browserWindow.lt._c.push(['tag_config', { preset: options.preset }]);\n const ready = (async () => {\n if (!browserWindow.lt?.tag) await loadScript(document, scriptUrl);\n const tag = browserWindow.lt?.tag;\n if (!tag) throw new Error('Vestige tag loaded without exposing window.lt.tag');\n tag.init(options.init);\n return tag;\n })();\n\n const call = async <K extends keyof VestigeBrowserTag>(method: K, ...args: Parameters<NonNullable<VestigeBrowserTag[K]>>): Promise<ReturnType<NonNullable<VestigeBrowserTag[K]>>> => {\n const tag = await ready;\n const fn = tag[method] as (...values: Parameters<NonNullable<VestigeBrowserTag[K]>>) => ReturnType<NonNullable<VestigeBrowserTag[K]>>;\n return fn.apply(tag, args);\n };\n\n let currentPageview: unknown;\n\n const client: VestigeVueClient = {\n ready,\n buildPageview: (data) => {\n if (options.router) return Promise.reject(new Error('buildPageview() \u00E9 controlado pelo router configurado.'));\n return call('buildPageview', data).then((context) => {\n currentPageview = context;\n return context;\n });\n },\n registerPageview: () => {\n if (options.preset !== 'manual') return Promise.reject(new Error('registerPageview() s\u00F3 pode ser chamado no preset manual.'));\n return call('registerPageview', currentPageview);\n },\n pageview: (data) => call('pageview', data),\n event: (data) => call('event', data),\n identifyLead: (type, value) => call('identifyLead', type, value),\n getVdaCode: () => call('getVdaCode'),\n updateElementWithVda: (element, parameter, urlPattern) => call('updateElementWithVda', element, parameter, urlPattern)\n };\n\n if (options.router) {\n ready.then((tag) => {\n const buildAndMaybeRegister = (url: string): void => {\n const context = tag.buildPageview({ url });\n currentPageview = context;\n if (options.preset !== 'manual') tag.registerPageview(context);\n };\n buildAndMaybeRegister(options.router!.currentRoute.value.fullPath);\n options.router!.afterEach((to) => buildAndMaybeRegister(to.fullPath));\n });\n }\n\n return client;\n}\n\nexport function createVestige(options: VestigeVueOptions): Plugin {\n const client = loadVestigeTag(options);\n return {\n install(app: App) {\n app.provide(VESTIGE_INJECTION_KEY, client);\n }\n };\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["_a"]
|
|
7
7
|
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export interface VestigeDocument extends Document {
|
|
2
|
+
cookie: string;
|
|
3
|
+
}
|
|
4
|
+
export declare function getCookie(documentRef: VestigeDocument, name: string): string;
|
|
5
|
+
export declare function setCookie(documentRef: VestigeDocument, domain: string, name: string, value: string | number, ttlMinutes?: number): void;
|
|
6
|
+
export declare function includeScript(documentRef: Document, src: string, callback?: () => void): void;
|
|
7
|
+
export declare function getUrlParams(locationRef: Location): Record<string, string>;
|
|
8
|
+
export declare function getTld(documentRef: VestigeDocument, locationRef: Location, storage: Storage): string;
|
|
9
|
+
export declare const base62: {
|
|
10
|
+
charset: string[];
|
|
11
|
+
encode(value: number): string | number;
|
|
12
|
+
decode(value: string): number;
|
|
13
|
+
};
|
package/package.json
CHANGED
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vestigemetrics/vue",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.3",
|
|
4
4
|
"description": "Vue adapter for Vestige Metrics compiled tags",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
7
7
|
"module": "./dist/index.js",
|
|
8
8
|
"types": "./dist/index.d.ts",
|
|
9
|
-
"files": [
|
|
9
|
+
"files": [
|
|
10
|
+
"dist",
|
|
11
|
+
"README.md"
|
|
12
|
+
],
|
|
10
13
|
"scripts": {
|
|
11
14
|
"build": "node ../../scripts/build-vue-package.mjs"
|
|
12
15
|
},
|
|
File without changes
|
|
File without changes
|