import { MitoVue } from '@/Vue/index'
import {
  SDK_VERSION,
  SDK_NAME,
  init as setUp,
  log,
  beforePushBreadcrumb,
  manualInit,
  includeHttpUrlTraceIdRegExp,
  maxBreadcrumbs,
  enableTraceId,
  backTrackerId
} from './wxBase'

function init({ apikey, customTag }) {
  if (apikey) {
    manualInit(() => {
      setUp({
        apikey,
        dsn: 'https://trycatch-end.qa.91jkys.com/errors/upload',
        silentConsole: true,
        includeHttpUrlTraceIdRegExp,
        maxBreadcrumbs,
        enableTraceId,
        beforePushBreadcrumb(breadcrumb, cruBreadcrumbData) {
          return beforePushBreadcrumb(breadcrumb, cruBreadcrumbData)
        },
        backTrackerId
      })
    }, true)
    Object.assign(wx, { mitoLog: log })
  }
}

export default { SDK_VERSION, SDK_NAME, init, MitoVue }
