数据共享

更新时间:

接口声明

提供了一个不同蓝河应用间数据交互的方式。蓝河应用可以利用它发布数据,或从其他蓝河应用获取数据

数据交互有三个数据空间,分别是应用空间(application)、应用开发商空间(vendor)和全局空间(global)

application:数据发布在应用空间,读取、修改、删除 时需同时指定发布方的包名和签名,并且需要发布方授权

vendor:数据发布在应用开发商空间,同签名的多个应用的写操作会相互覆盖,读取时不能指定发布方的包名和签名,不需要发布方授权

global:数据发布在全局空间,多个应用的写操作会相互覆盖,读取时不能指定发布方的包名和签名,不需要发布方授权

注意

1、set、get 操作支持在 applicationvendorglobal 空间上操作数据。 2、exchange 的数据不做持久化处理,系统重启后数据会丢失。

{ "name": "blueos.storage.exchange" }
复制代码

导入模块

import exchange from '@blueos.storage.exchange'const exchange = require('@blueos.storage.exchange')
复制代码

接口定义

exchange.get(OBJECT)

读取蓝河应用平台数据,可获取到应用空间(application)、应用开发商空间(vendor )或全局空间(global)的数据

参数

参数名 类型 必填 说明
package String 数据发布方的包名,scope 为 application 时必须提供,为 vendorglobal 时必须为空
sign String 数据发布方签名的 SHA-256,scope 为 application 时必须提供,为 vendorglobal 时必须为空
scope String 数据发布的空间类型,支持 application、vendor 和 global,默认为 application
key String 数据的 key
success Function 成功回调
fail Function 失败回调
complete Function 执行结束后的回调(调用成功、失败都会执行)

返回值:

参数名 类型 说明
value String | Boolean | Number | Object | Array 数据的值,与 set 设置的类型一致
fail 返回错误代码:
错误码 说明
202 参数错误
1000 没有权限

示例

exchange.get({
  package: 'com.example',
  sign: '7a12ec1d66233f20a20141035b1f7937',
  key: 'token',
  success: function (ret) {
    console.log(`handling success, value = ${ret.value}`)
  },
  fail: function (data, code) {
    console.log(`handling fail, code = ${code}`)
  },
})
复制代码

exchange.getSync(Object)

同步读取蓝河应用平台数据,可获取到应用空间(application)、应用开发商空间(vendor )或全局空间(global)的数据

参数

参数名 类型 必填 说明
package String 数据发布方的包名,scope 为 application 时必须提供,为 vendorglobal 时必须为空
sign String 数据发布方签名的 SHA-256,scope 为 application 时必须提供,为 vendorglobal 时必须为空
scope String 数据发布的空间类型,支持 application、vendor 和 global,默认为 application
key String 数据的 key

返回值

参数值 类型 说明
value String | Boolean | Number | Object | Array 数据的值,与 set 设置的类型一致

示例

const value = exchange.getSync({
  package: 'com.example',
  sign: '7a12ec1d66233f20a20141035b1f7937',
  key: 'token',
})
复制代码

exchange.set(OBJECT)

发布数据到蓝河应用平台,可发布到应用空间(application)、应用开发商空间全局空间(global)

参数

参数名 类型 必填 说明
key String 数据的 key
value String | Boolean | Number | Object | Array 数据的值
scope String 数据发布的空间类型,支持 application、vendor 和 global,默认为 application
success Function 成功回调
fail Function 失败回调
complete Function 执行结束后的回调(调用成功、失败都会执行)
package String 配置需要写入数据到某蓝河应用的应用空间时某蓝河应用的包名,仅在scope参数不设置或设置为application时生效,在scopevendorglobal时必须设为空值
sign String 配置需要写入数据到某蓝河应用的应用空间时某蓝河应用的签名的 SHA-256,仅在scope参数不设置或设置为application时生效,在scopevendorglobal 时必须设为空值
fail 返回错误代码:
错误码 说明
202 参数错误

示例

exchange.set({
  key: 'token',
  value: '12347979',
  success: function () {
    console.log(`handling success`)
  },
  fail: function (data, code) {
    console.log(`handling fail, code = ${code}`)
  },
})
复制代码

示例

exchange.set({
  key: 'token',
  value: false,
  success: function () {
    console.log(`handling success`)
  },
  fail: function (data, code) {
    console.log(`handling fail, code = ${code}`)
  },
})
复制代码

示例

exchange.set({
  key: 'token',
  value: 10,
  success: function () {
    console.log(`handling success`)
  },
  fail: function (data, code) {
    console.log(`handling fail, code = ${code}`)
  },
})
复制代码

示例

exchange.set({
  key: 'token',
  value: { name: '张三', age: 18 },
  success: function () {
    console.log(`handling success`)
  },
  fail: function (data, code) {
    console.log(`handling fail, code = ${code}`)
  },
})
复制代码

示例

exchange.set({
  key: 'token',
  value: [2, 3, 4],
  success: function () {
    console.log(`handling success`)
  },
  fail: function (data, code) {
    console.log(`handling fail, code = ${code}`)
  },
})
复制代码
上一篇
文件存储
下一篇
电话能力
以上内容对您是否有帮助?
  • 毫无帮助
  • 帮助不大
  • 一般
  • 很好
  • 非常好
意见反馈