Storage
用于native和crn之间打通数据的基于Key/Value的存储。
接口都有携带域参数 用来区分多业务数据 (如果传空,默认的域为 common)
native 存取数据的相关类为:
android : KeyValueDBSupplier
iOS : CTStorage
+ (instancetype)sharedInstance;
- (NSString *)objectForKey:(NSString *)key inDomain:(NSString *)domain;
- (void)setObject:(NSString *)object forKey:(NSString *)key inDomain:(NSString *)domain;
- (void)setObject:(NSString *)object forKey:(NSString *)key inDomain:(NSString *)domain withExpires:(double)timeInterval;
- (void)removeObjectForKey:(NSString *)key inDomain:(NSString *)domain;
native端调用以上接口和rn端调用Storage的接口存取数据在相同区域,可打通数据
接口说明:
1. 保存数据
<
div class="props"
>
<
div class="prop"
>
<
h4 class="propTitle"
>
<
a class="anchor" name="save"
>
<
/a
>
<
span class="propType"
>
static
<
/span
>
save
<
span class="propType"
>
(params)
<
/span
>
<
a class="hash-link" href="#save"
>
#
<
/a
>
<
/h4
>
<
/div
>
<
/div
>
参数
params 包含以下字段:
* key: {String} 存储的key
<
br/
>
* value: {String} key对应的value
<
br/
>
* domain: {String} 可选,数据存储的域,传入bu名,防止各个bu间存了相同key的数据时错乱,不传则默认存在 common 区域
<
br/
>
* expires: {number} 可选,存储数据的有效期,单位为秒,如果过了有效期则数据取到为空,默认有效期永久,除非用户手动清除了缓存
<
br/
>
示例:
Storage.save({key:"abckey", value:"abcvalue", domain:"hotel"});
2. 获取数据
<
div class="props"
>
<
div class="prop"
>
<
h4 class="propTitle"
>
<
a class="anchor" name="load"
>
<
/a
>
<
span class="propType"
>
static
<
/span
>
load
<
span class="propType"
>
(params,callback)
<
/span
>
<
a class="hash-link" href="#load"
>
#
<
/a
>
<
/h4
>
<
/div
>
<
/div
>
参数
* params 包含以下字段:
* key: {String} 存储的key
<
br/
>
* domain: {String} 数据存储的域,传入bu名,防止各个bu间存了相同key的数据时错乱,不传则默认存在 common 区域
<
br/
>
* @param callback: 取到value的回调 (value)=
>
{}
示例:
Storage.load({key:"abc", domain:"hotel"}, (value)=
>
{alert(value)});
3. 删除数据
<
div class="props"
>
<
div class="prop"
>
<
h4 class="propTitle"
>
<
a class="anchor" name="remove"
>
<
/a
>
<
span class="propType"
>
static
<
/span
>
remove
<
span class="propType"
>
(params)
<
/span
>
<
a class="hash-link" href="#remove"
>
#
<
/a
>
<
/h4
>
<
/div
>
<
/div
>
参数
* key: {String} 存储的key
<
br/
>
* domain: {String} 数据存储的域,传入bu名,防止各个bu间存了相同key的数据时错乱,不传则默认存在 common 区域
<
br/
>
示例:
Storage.remove({key:"abckey", domain:"hotel"});