import { wxInfo, mpInfo, miniProgramVersion } from './getUserInfo' import { apiBehaviorLog } from '../api/md/index' export const OPERATION_TYPES = { '点击': 0, '曝光': 9 } export const PAGE_IDS = { '首页': 'mp_home', '微信一键登录': 'mp_wx_regLogin', '其他手机号登录': 'mp_other_regLogin' } export const BUTTON_IDS = { '首页-我要提额': 'wyte', '首页-去借钱': 'borrow_apply', '首页-注册登录': 'goLogin', '首页-我要还款': 'repayment', '首页-下载APP': 'download', '首页-我的客服': 'kefu', '微信一键登录-登录': 'submitLogin', '其他手机号登录-登录': 'submitLogin' } const commonData = { ENV_VERSION: '', // 小程序版本 VERSION: '', // 版本号 // DEV_ID: '', // 设备标识 DEVICE_OS: '', // 操作系统 USER_ID: '', // 用户ID UNIQUE_CODE: '' // 用户uniqueCode } // 获取用户信息 const getMdUserInfo = () => { try { const user_info = wx.getStorageSync('user_info') const unique_code = wx.getStorageSync('unique_code') commonData.USER_ID = user_info.userId || '' commonData.UNIQUE_CODE = user_info.uniqueCode || unique_code || '' } catch (e) { console.log('埋点获取用户信息catch:', e) } } // 获取微信&小程序信息 try { commonData.ENV_VERSION = mpInfo.miniProgram.envVersion commonData.VERSION = miniProgramVersion commonData.DEVICE_OS = wxInfo.platform } catch (e) { console.log('获取微信&小程序信息catch:', e) } // 获取埋点pageId、buttonId、operateType export const getParams = (type: any) => { getMdUserInfo() const [page, operate, button] = type.split('-') const buttonType = `${page}-${button}` const PAGE_ID = (PAGE_IDS as any)[page] const OPERATION_TYPE = (OPERATION_TYPES as any)[operate] const BUTTON_ID = (OPERATION_TYPE === 9 || button === '占位符') ? '' : (BUTTON_IDS as any)[buttonType] if (!PAGE_ID || BUTTON_ID === undefined || OPERATION_TYPE === undefined) { console.warn(PAGE_ID, `'${page}'在PAGE_IDS配置中没有找到,请配置`) console.warn(OPERATION_TYPE !== undefined, `'${operate}'在OPERATE_TYPES配置中没有找到,请配置`) console.warn(BUTTON_ID !== undefined, `'${buttonType}'在BUTTON_IDS配置中没有找到,请配置`) return false } const reqParam = { testName: `${page}-${operate}-${button || ''}`, PAGE_ID, BUTTON_ID, OPERATION_TYPE } apiBehaviorLog({ data: JSON.stringify(Object.assign(reqParam, commonData)), package: 'CJTG_XCX_LZ', platform: 'yijie' }) return } // 埋点直连大数据 export const onMaiDian = (type: string) => { getParams(type) }