JSAPI

Since 9.3

setAPDataStorage(保存数据)

保存一个字符串到客户端统一存储,字符串长度不得超过200*1024

因为底层存储服务组件ios和android实现不一致,android统一存储组件不支持type=user属性,为了对前端接口一致, 当设置type=user的时候,Android底层存储的时候,会设置key=key + “_” +MD5(userId + userId + userId),然后存储。业务用客户端取的时候也要对key做相应处理

使用方法

AlipayJSBridge.call('setAPDataStorage', {
  type: "common",
  business: "customBusinessKey",
  key: "customKey",
  value: "customValue"
}, function(result) {
  alert(JSON.stringify(result));
});

代码演示

基本功能

<button id="J_saveDataBtn" class="btn">保存数据</button>
<button id="J_getDataBtn" class="btn">查看数据</button>
<button id="J_removeDataBtn" class="btn">删除数据</button>

<script>
function ready(callback) {
  // 如果jsbridge已经注入则直接调用
  if (window.AlipayJSBridge) {
    callback && callback();
  } else {
    // 如果没有注入则监听注入的事件
    document.addEventListener('AlipayJSBridgeReady', callback, false);
  }
}
ready(function() {
  document.querySelector('#J_saveDataBtn').addEventListener('click', function(e) {
    AlipayJSBridge.call('setAPDataStorage', {
      type: "common",
      business: "customBusinessKey",
      key: "customKey",
      value: "customValue"
    }, function(result) {
      alert(JSON.stringify(result));
    });
  }, false);

  document.querySelector('#J_getDataBtn').addEventListener('click', function(e) {
    AlipayJSBridge.call('getAPDataStorage', {
      type: "common",
      business: "customBusinessKey",
      key: "customKey"
    }, function(result) {
      alert(JSON.stringify(result));
    });
  }, false);

  document.querySelector('#J_removeDataBtn').addEventListener('click', function(e) {
    AlipayJSBridge.call('removeAPDataStorage', {
      type: "common",
      business: "customBusinessKey",
      key: "customKey"
    }, function(result) {
      alert(JSON.stringify(result));
    });
  }, false);
}, false);
</script>

API

AlipayJSBridge.call('setAPDataStorage', {
  type, business, key, value
});

入参

名称类型描述必选默认值版本
typestring(user/common) 用户维度存储还是公共存储,默认值commonN‘common’
businessstring自定义的业务标识,可与相应的客户端存取代码约定。默认值:”NebulaBiz”N‘’
keystring自定义数据的keyY‘’
valuestring需要存储的值,仅支持字符串类型,JSON数据需要先stringifyY‘’

出参

回调函数带入的参数result: {success}

名称类型描述
successbool是否保存成功

错误

error描述
11字符串长度超限