交换数据 1050+

接口声明

提供了一个不同快应用间数据交互的方式。快应用可以利用它发布数据,或从其他快应用获取数据。 数据交互有两个数据空间,分别是应用空间(application)和全局空间(global)。 application:数据发布在应用空间,读取时需同时指定发布方的包名和签名,并且需要发布方授权。 global:数据发布在全局空间,多个应用的写操作会相互覆盖,读取时不能指定发布方的包名和签名,不需要发布方授权。 备注:global 数据仅支持 set、get 操作,remove、clear、grantPermission、revokePermission 等操作均不支持

  1. { "name": "service.exchange" }

导入模块

  1. import exchange from '@service.exchange' const exchange = require('@service.exchange')

接口定义

exchange.get (OBJECT)

读取数据

参数

参数名类型必填说明
packageString数据发布方的包名,scope 为 application 时必须提供,为 global 时必须为空
signString数据发布方签名的 SHA-256,scope 为 application 时必须提供,为 global 时必须为空
scopeString数据发布的空间类型,支持 application 和 global,默认为 application
keyString数据的 key
successFunction成功回调
failFunction失败回调
completeFunction执行结束后的回调(调用成功、失败都会执行)

返回值:

参数名类型说明
valueString数据的值
fail 返回错误代码:
错误码说明
202参数错误
1000没有权限

示例

  1. exchange.get({
  2. package: 'com.example',
  3. sign: '7a12ec1d66233f20a20141035b1f7937',
  4. key: 'token',
  5. success: function(ret) {
  6. console.log(`handling success, value = ${ret.value}`)
  7. },
  8. fail: function(data, code) {
  9. console.log(`handling fail, code = ${code}`)
  10. }
  11. })

exchange.set (OBJECT)

发布数据到快应用平台

参数

参数名类型必填说明
keyString数据的 key
valueString数据的值
scopeString数据发布的空间类型,支持 application,global,默认为 application
successFunction成功回调
failFunction失败回调
completeFunction执行结束后的回调(调用成功、失败都会执行)
fail 返回错误代码:
错误码说明
202参数错误

示例

  1. exchange.set({
  2. key: 'token',
  3. value: '12347979',
  4. success: function() {
  5. console.log(`handling success`)
  6. },
  7. fail: function(data, code) {
  8. console.log(`handling fail, code = ${code}`)
  9. }
  10. })

exchange.remove (OBJECT)

从快应用平台删除数据

参数

参数名类型必填说明
keyString数据的 key
successFunction成功回调
failFunction失败回调
completeFunction执行结束后的回调(调用成功、失败都会执行)
fail 返回错误代码:
错误码说明
202参数错误

示例

  1. exchange.remove({
  2. key: 'token',
  3. success: function() {
  4. console.log(`handling success`)
  5. },
  6. fail: function(data, code) {
  7. console.log(`handling fail, code = ${code}`)
  8. }
  9. })

exchange.clear (OBJECT)

从快应用平台清除数据

参数

参数名类型必填说明
successFunction成功回调
failFunction失败回调
completeFunction执行结束后的回调(调用成功、失败都会执行)

示例

  1. exchange.clear({
  2. success: function() {
  3. console.log(`handling success`)
  4. },
  5. fail: function(data, code) {
  6. console.log(`handling fail, code = ${code}`)
  7. }
  8. })

exchange.grantPermission (OBJECT)

授权应用获取数据。同签名的应用不用授权,默认有读取权限

参数

参数名类型必填说明
packageString授权应用的包名
signString授权应用的签名 SHA-256
keyString数据的 key。如果为空,则授权当前所有 key 的读取权限
successFunction成功回调
failFunction失败回调
completeFunction执行结束后的回调(调用成功、失败都会执行)

应用的签名的 SHA-256 可通过 快应用调试器 进行获取。

fail 返回错误代码:
错误码说明
202参数错误

示例

  1. exchange.grantPermission({
  2. sign: '7a12ec1d66233f20a20141035b1f7937',
  3. package: 'com.example',
  4. success: function() {
  5. console.log(`handling success`)
  6. },
  7. fail: function(data, code) {
  8. console.log(`handling fail, code = ${code}`)
  9. }
  10. })

exchange.revokePermission (OBJECT)

取消授权应用获取数据。不能取消同签名应用的读取授权

参数

参数名类型必填说明
packageString取消授权的应用包名
keyString数据的 key。如果为空,则取消当前所有 key 的授权
successFunction成功回调
failFunction失败回调
completeFunction执行结束后的回调(调用成功、失败都会执行)
fail 返回错误代码:
错误码说明
202参数错误

示例

  1. exchange.revokePermission({
  2. package: 'com.example',
  3. success: function() {
  4. console.log(`handling success`)
  5. },
  6. fail: function(data, code) {
  7. console.log(`handling fail, code = ${code}`)
  8. }
  9. })

后台运行限制

无限制。后台运行详细用法参见后台运行 脚本