Analytics.ts 3.73 KB
import { LogLevel } from "../wxsdk/service/LogService";
import WXSDK from "../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') return
        // wx.aldSendEvent(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 = LogLevel.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)
    }


}
export enum EventKey {
    toggleScene = 'toggleScene',
    recoverGame = 'recoverGame',
    replayGame = 'replayGame',
    settingClose = 'settingClose',
    updateLvUI = 'updateLvUI',
}