import tabLeftArr, { routerSon } from '@/pages/Layout/data'
import { getTokenInfo } from '@/utils/storage'

const userInfo = getTokenInfo().user || {}

function setMd(page_id: string, page_name: string, page_url: string) {
  // 用户信息埋点----------------------------------------
  // 单页应用 或 “单个页面”需异步补充PV日志参数还需进行如下埋点 ------
  aplus_queue.push({
    action: 'aplus.setMetaInfo',
    arguments: ['aplus-waiting', 'MAN']
  })
  aplus_queue.push({
    action: 'aplus.sendPV',
    arguments: [
      {
        is_auto: false
      },
      {
        // 当前你的应用信息，此两行按应用实际参数修改，不可自定义。
        sapp_id: '51395',
        sapp_name: 'YWBWGGCXT',
        page_id: page_id, // 可以用this.$route.meta.pagePath代替
        page_name: page_name, // 可以用this.$route.meta.name代替
        page_url: page_url // 可以用this.$route.meta.pagePath代替
      }
    ]
  })
  aplus_queue.push({
    action: 'aplus.setMetaInfo',
    arguments: ['_hold', 'BLOCK']
  })
  // 设置会员昵称
  aplus_queue.push({
    action: 'aplus.setMetaInfo',
    arguments: ['_user_nick', userInfo.realName || userInfo.userName || '匿名']
  })

  // 设置会员ID
  aplus_queue.push({
    action: 'aplus.setMetaInfo',
    arguments: ['_user_id', userInfo.accountId || '888708'] // 当前登录的浙政钉用户id，传参示例：uni.getStorageSync('userInfo').employeeCode)
  })

  // 如采集用户信息是异步行为，需要先设置完用户信息后再执行这个START埋点
  // 此时被block住的日志会携带上用户信息逐条发出
  aplus_queue.push({
    action: 'aplus.setMetaInfo',
    arguments: ['_hold', 'START']
  })
}

export const maiDianFu = (page_id: string) => {
  const arr = page_id.split('/')
  let page_name = ''

  routerSon.forEach(v => {
    const arr2 = v.path.split('/')
    if (arr[1] === arr2[1]) page_name = v.name
  })

  if (!page_name) {
    if (arr[1]) {
      tabLeftArr.forEach(v1 => {
        if (v1.son && v1.son.length) {
          v1.son.forEach(v2 => {
            const arr2 = v2.path.split('/')
            if (arr[1] === arr2[1]) page_name = v2.name
          })
        }
      })
    } else page_name = '数据统计'
  }

  setMd(page_id, page_name, page_id)
}
