自学内容网 自学内容网

小游戏聚合SDK的工具类封装

前言

之前的文章写了如何开发小游戏聚合SDK,既然是聚合SDK,工具类的封装也比较重要,做好基础搭建后续在接入其他渠道的时候能大大减少工作量。

工具类

单例

初始化的配置信息,比如应用ID 、渠道ID等需要全局使用,而且初始化之后不会改变。使用一个单例保存比较合适。

// 创建一个全局的 config 对象
let globalConfig = {
    evn: 'prod', // 中台环境,默认正式服
    appId: '', // 平台 AppId
    channelId: '', // 平台渠道ID
  //····
};

// 可以定义其他对象,全局唯一的

const ConfigSingleton = {
 setGlobalConfig(config = {}) {
        globalConfig = config
        // Object.assign(globalConfig, config); // 合并传入的配置到已有的 globalConfig
    },
    
      getGlobalConfig() {
        return this.globalConfig
    },
    
    // 追加其他对象的set\get方法
}

日志打印

日志打印需要满足的需求:

  1. 统一增加 tag 和日期。
  2. 部分日志在 debug 模式下输出方便 CP 调试,但是在线上环境时需要关闭。
  3. 日志区分级别。
export const Logger = (() => {
    const tag = "[tag]"

    let debugMode = false
    // 日志级别方法映射
    const levels = {
        info:console.info,
        log: console.log,
        error: console.error
    }

    function setDebugMode(mode) {
        debugMode = mode
    }
    /**
     * debug 模式下才输出 info 级别日志,否则 输出 log 和 error 日志(因为debug不好使,所以使用 info 级别输出敏感日志)
     * @param {string} level 
     * @param  {...any} args 

原文地址:https://blog.csdn.net/MarinaTsang/article/details/144116676

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!