import { DataManager } from './../manager/DataManager';
import { IExposureData } from '../data/common/IExposureData';
// import { IExposureData } from '..';

export class Buried {
    public static appId: number;
    //public static consumerId: number;
    public static oaId: string;

    public static channelLittle:any;

    /**
     * 初始化
     */
    public static init(): void {
    }

    /**
     * 创建dpm埋点数据
     * @param {string} dpm 点击埋点
     * @param {string} dcm 曝光埋点
     * @param {string} embedDomain 埋点域名
     */
    public static createExposure(dpm: string, dcm: string,dom: string, embedDomain = '//embedlog.duiba.com.cn'): IExposureData {
        const exposure: IExposureData = {
            dpm: dpm,
            dcm: dcm,
            dom: dom,
            appId: Buried.appId,
            domain: embedDomain
        };
        return exposure;
    }

    /**
     * dpm拼接
     * @param pageId 页面ID 
     * @param area 区域
     * @param dpm 埋点号
     * @returns {string}
     */
    public static connectDpm(pageId: number, area: number, dpm: number): string {
        return Buried.appId + '.' + pageId + '.' + area + '.' + dpm;
    }

    /**
     * dcm拼接
     * @param typeId 类型ID
     * @param contentInfo 内容信息
     * @param dcm 埋点号
     * @returns {string}
     */
    public static connectDcm(typeId: number, contentInfo: number, dcm: number): string {
        return typeId + '.' + Buried.oaId + '.' + contentInfo + '.' + dcm;
    }

    /**
     * 插件dcm拼接
     * @param plugId 插件ID
     * @param type 1 活动工具 2 主会场 4 楼层 5 游戏 7 子页面
     * @returns {string}
     */
    public static connectPlugDcm(plugId: number, type: number): string {
        return 212 + '.' + plugId + '.' + type + '.' + Buried.oaId;
    }

    /**
     * 活动dcm拼接
     * @param type 1 活动工具 2 主会场 4 楼层 5 游戏 7 子页面
     * @returns {string}
     */
    public static connectActivityDcm(type: number): string {
        return 202 + '.' + Buried.oaId + '.' + type + '.' + Buried.oaId;
    }
    public static connectDom(domMain: number, a2: number=0,a3:number=0): string {
        return domMain + '.' + Buried.channelLittle + '.' + a2 + '.' + a3;
    }
}
