本地存储

获取/设置本地数据

介绍#

mk.Storage 是用于将数据保存到本地所使用的存储器。例如玩家的账号,上次选择的角色, 不可能每次进入游戏都要重新输出一次,所以我们需要本地存储器

提示:

mk.Storage 是一个类型,你可以创建单个或多个 storage 对象使用。 你可以只创建一个 storage 用于全局使用,但像游戏中的多账号多角色,以及多人开发解耦只有多个 storage 才更适合

创建#

class StorageData {
    /** 测试数据 */
    testStr = '';
}

let storage = new mk.Storage({
    nameStr: '存储器名字',
    data: new StorageData(),
});

初始化参数如下

属性描述
nameStr存储器名(可选),用于在存储时区分不同存储器,不存在时数据则暂时存储在内存中而非本地
data初始数据,如果你想要首次获取数据时就存在对应的值,就得传递对应的初始数据
codec编解码器(可选),用于对存储数据加密/解密
writeIntervalMsNum写入间隔时间(可选,单位毫秒),每次存储都会等待间隔时间,防止过于频繁的存储导致卡顿

属性#

key#

数据键,你可以通过 key 属性获取到所有的存储键,可让编辑器自动提示且方便同步修改键名

示例#

storage.key


方法#

get#

获取数据,如果数据不存在,则会返回构造参数中的 data 中对应的值,如果数据仍然不存在则返回 null

示例#

storage.get(storage.key.testStr)


set#

存储数据,以 Json 的格式存储到本地,如果不存在 nameStr 则暂时存储在缓存中,设置 nameStr 后自动转移到本地


del#

删除数据,如果你想要删除本地数据时则调用这个接口,如果不存在 nameStr 则只会清理缓存数据

示例#

storage.del(storage.key.testStr)


clear#

清空当前存储器数据,del 是删除指定 key 的数据,clear 就是删除所有数据,同样如果不存在 nameStr 则只会清理缓存数据

示例#

storage.clear()