0.3.4 • Published 1 year ago

smith-log v0.3.4

Weekly downloads
-
License
-
Repository
-
Last release
1 year ago

Usage

import

import {log} from 'smith-log'
Vue.use(log, {
  // 'prod' or other
  env: context.app.$config.env,
  // app router
  router: context.app.router,
  // core send method, must return a promise
  send: (data, headers) => {
    return api.post(data, {
      headers
    })
  },
  
  // optional: console or online, default 'dev'
  output: context.app.$config.env === 'dev' ? 'console' : 'online',
  // optional: store just for user state, can be null if user doesn't login
  store: context.app.store,
  // optional: get config from server, return a promise, defualt set to server.js
  config: () => Promise().then(res),
})

PV and PD

$route.meta.log

rely on @nuxt-route-meta module

pageId is required in meta.log. e.g.

meta: {
    log: {
      pageId: 'p_re_loginweb',
      commonExtra: {},  
      extra: {}  
    }
}

then

import {logMixin} from 'smith-log';
mixins: [logMixin],

Sometimes a page is not compatible with a route component. A component can contain unlimited page. We can use directive instead:

<div v-log.pageview:p_re_profile_detail = 'extra'></div>

Dynamic pageId

PageId can be dynamically in reused component.

meta example:

meta: {
    log: {
      pageId: 'dynamicPageId',
      dynamic: true  
    }
}

use this.dynamicPageId as pageId

directive example:

<div v-log.pageview = '{page_id: () => dynamicPageId, extra: () => value}'></div>

pd

auto

MC

<div v-log.click:e_re_info_flow_profile_card = 'extra'></div>

dynamic modular_id

<div v-log.click = '{modular_id: () => modularId, extra: () => extra}'></div>

MV

<div v-log.view:e_re_info_flow_profile_card = 'extra'></div>

dynamic modular_id

<div v-log.view = '{modular_id: () => modularId, extra: () => extra}'></div>

Dynamic value

All event's (PV,MV,MC) value can be dynamically set with a function. Value will be calculated when event is triggered.

e.g.

<div v-log.pageview:p_re_profile_detail = '() => extra'></div>

dynamic e.g.

<div v-log.pageview = '{page_id: () => pageId,extra: () => extra}'></div>

other

manual log

import {triggerPV, triggerPD, send} from 'smith-log'

triggerPV: pv

triggerPD: pd

send: function (log_type, modular_id, exter) {}

encode

import {encode} from 'smith-log'
0.3.0

1 year ago

0.2.9-beta.1

1 year ago

0.2.9-beta.0

1 year ago

0.2.9

1 year ago

0.2.9-beta.3

1 year ago

0.2.9-beta.2

1 year ago

0.2.8

1 year ago

0.3.2

1 year ago

0.3.1

1 year ago

0.2.9-beta.4

1 year ago

0.3.4

1 year ago

0.3.3

1 year ago

0.2.7

1 year ago

0.2.6

2 years ago

0.2.5

2 years ago

0.2.3

2 years ago