Analytics.ts 2.87 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();
    }
    // 用户停留30s打点
    stay(time) {
        return WXSDK.stat.stay(time)
    }
    // 关键行为
    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)
    }


}
export enum EventKey {
   
}