Analytics.ts 4.05 KB
import TAMgr from "../../framework/ta/TAMgr";
import { SDKLogLevel } from "../../framework/wxsdk/service/LogService";
import WXSDK from "../../framework/wxsdk/WXSDK";



export class Analytics {
    private static _instance: Analytics;
    private systemType: number;
    static get I(): Analytics {
        return this._instance || (this._instance = new Analytics);
    }

    private static IGNORE_LOGGER = false;

    constructor() {
    }

    private get isSupported() {
        return typeof WXSDK === 'object';
    }

    // 游戏打点
    dot(dot_type: string, data: any = {}) {
        if (typeof wx == 'undefined'&&typeof my == 'undefined') {
            console.log("dot", dot_type, data);
            return
        }
        // 数数
        if (['receive_reward', 'button','merge_item','addToTempStore','talk','fund','mail','milktea','mail','activity_welcome','activity_raffle','activity_bp','piggy','invite','apple_tree','energy_cost','gem_cost','gold_cost','dress_cost','gem_output','gold_output','energy_output','exp_output','dress_output'].indexOf(dot_type) == -1) {// 排除部分key
            TAMgr.Ins.dot(dot_type, data);
        }
        return WXSDK.stat.dot(dot_type, data);
    }

    // loading完成
    loadingFinish() {
        return WXSDK.stat.loadingFinish();
    }
    // 关键行为
    behaviors() {
        return WXSDK.stat.behaviors()
    }
    // 导出打点
    jumps(id, type) {
        return WXSDK.stat.jumps(id, type)
    }

    /**
     * 关卡开始
     * @param stageid 关卡ID, 必须1.1、12.2  “.”前面代表模式 后面代表关卡
     * @param stagename 关卡名称,格式:"xx模式-第x关"
     * @param pattern 模式名称,格式:"xx模式"
     */
    levelStart(stageid, stagename, pattern) {
        return WXSDK.stat.levelStart(stageid, stagename, pattern)
    }
    /**
     * 关卡进行中
     * @param stageid 关卡ID, 必须1.1、12.2  “.”前面代表模式 后面代表关卡
     * @param stagename 关卡名称,格式:"xx模式-第x关"
     * @param pattern 模式名称,格式:"xx模式"
     * @param event 事件 tools:使用道具 award:奖励
     * @param params_id 道具ID
     * @param params_name 道具名称
     * @param params_count 道具数量
     * @param params_desc 道具描述
     */
    levelRunning(stageid, stagename, pattern, event, params_id, params_name, params_count, params_desc?) {
        return WXSDK.stat.levelRunning(stageid, stagename, pattern, event, params_id, params_name, params_count, params_desc)
    }
    /**
    * 关卡结束
    * @param stageid 关卡ID, 必须1.1、12.2  “.”前面代表模式 后面代表关卡
    * @param stagename 关卡名称,格式:"xx模式-第x关"
     * @param pattern 模式名称,格式:"xx模式"
    * @param event complete:成功 fail:失败
    * @param times 时间
    * @param perc 失败时的完成进度 (浮点数)
    */
    async levelEnd(stageid, stagename, pattern, event, times, perc?) {
        return WXSDK.stat.levelEnd(stageid, stagename, pattern, event, times, perc)
    }



    /**
     * 客户端日志
     * @param content 内容
     * @param level 日志等级
     * @returns 
     */
    clientLog(content, level = SDKLogLevel.debug) {
        return WXSDK.stat.clientLog(content, level)
    }
    /**
     * 资源上报
     * @param id 1体力 2经验 3钻石
     * @param typ 1增加 2减少
     * @param nums 增加或减少的数量
     * @param gsne 消耗场景
     */
    consume(id: number, typ: number, nums: number, gsne: string) {
        return WXSDK.stat.consume(id, typ, nums, gsne)
    }
    /**
     * loading上报
     * @param typ 1开始加载、2加载进行中、3加载结束
     * @param stageid 加载id
     * @param stagename 加载内容
     * @param event complete:成功 fail:失败
     * @param times 加载消耗时间 单位毫秒
     * @param perc 完成度
     */
    loading(typ: string, stageid: string, stagename: string, event: string, times: string, perc?: number) {
        return WXSDK.stat.loading(typ, stageid, stagename, event, times, perc)
    }


}