@hirect/log

0.2.4 • Public • Published

Usage

import

import {log} from '@hirect/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

Mask pageId in meta.log. e.g.

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

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 '@hirect/log'

triggerPV: pv

triggerPD: pd

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

encode

import {encode} from '@hirect/log'

Readme

Keywords

none

Package Sidebar

Install

npm i @hirect/log

Weekly Downloads

8

Version

0.2.4

License

none

Unpacked Size

67.1 kB

Total Files

29

Last publish

Collaborators

  • marsprince