小游戏聚合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方法
}
日志打印
日志打印需要满足的需求:
- 统一增加 tag 和日期。
- 部分日志在 debug 模式下输出方便 CP 调试,但是在线上环境时需要关闭。
- 日志区分级别。
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)!