import tools from '../util/tools';
export default class LogStore{

    logParam = {
        start : true,
        baseContextURL:'https://t224.cn-beijing.log.aliyuncs.com/',
        logStore: 'newretail',
        appParam : {},
        ignores: ['log.aliyuncs.com']
    };

    //设置log的基本信息
    setLogConfigParam(start = true,baseContextURL = 'https://t224.cn-beijing.log.aliyuncs.com/',logStore = 'newretail'){
        this.logParam.start = start;
        this.logParam.baseContextURL = baseContextURL;
        this.logParam.logStore = logStore;
    }

    //设置log的仓库
    setLogStore(logStore){
        this.logParam.logStore = logStore;
    }

    //设置应用的附加参数
    setLogAppParam(appParam = {}){
        this.logParam.appParam = appParam;
    }

    //设置忽略列表 接收数组格式  不需要上传日志
    setLogIgnore(ignores = []){
        ignores.forEach(element=>{
            if(!tools.arrayContains(this.logParam.ignores,element)){
                this.logParam.ignores.push(element);
            }
        });
    }

    //是否需要上报
    //1.判断开关参数是否开启  start
    //2.判断是否子忽略列表里
    isUpload(baseURL){
        return this.logParam.start && !this.logParam.ignores.some((ignore)=>{
            return baseURL.indexOf(ignore)>-1;
        });
    }


}