交换数据 1050+
接口声明
提供了一个不同快应用间数据交互的方式。快应用可以利用它发布数据,或从其他快应用获取数据。 数据交互有两个数据空间,分别是应用空间(application)和全局空间(global)。 application:数据发布在应用空间,读取时需同时指定发布方的包名和签名,并且需要发布方授权。 global:数据发布在全局空间,多个应用的写操作会相互覆盖,读取时不能指定发布方的包名和签名,不需要发布方授权。 备注:global 数据仅支持 set、get 操作,remove、clear、grantPermission、revokePermission 等操作均不支持
{ "name": "service.exchange" }
导入模块
import exchange from '@service.exchange' 或 const exchange = require('@service.exchange')
接口定义
exchange.get (OBJECT)
读取数据
参数
参数名 | 类型 | 必填 | 说明 |
---|
package | String | 否 | 数据发布方的包名,scope 为 application 时必须提供,为 global 时必须为空 |
sign | String | 否 | 数据发布方签名的 SHA-256,scope 为 application 时必须提供,为 global 时必须为空 |
scope | String | 否 | 数据发布的空间类型,支持 application 和 global,默认为 application |
key | String | 是 | 数据的 key |
success | Function | 否 | 成功回调 |
fail | Function | 否 | 失败回调 |
complete | Function | 否 | 执行结束后的回调(调用成功、失败都会执行) |
返回值:
fail 返回错误代码:
示例
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.set (OBJECT)
发布数据到快应用平台
参数
参数名 | 类型 | 必填 | 说明 |
---|
key | String | 是 | 数据的 key |
value | String | 是 | 数据的值 |
scope | String | 否 | 数据发布的空间类型,支持 application,global,默认为 application |
success | Function | 否 | 成功回调 |
fail | Function | 否 | 失败回调 |
complete | Function | 否 | 执行结束后的回调(调用成功、失败都会执行) |
fail 返回错误代码:
示例
exchange.set({
key: 'token',
value: '12347979',
success: function() {
console.log(`handling success`)
},
fail: function(data, code) {
console.log(`handling fail, code = ${code}`)
}
})
exchange.remove (OBJECT)
从快应用平台删除数据
参数
参数名 | 类型 | 必填 | 说明 |
---|
key | String | 是 | 数据的 key |
success | Function | 否 | 成功回调 |
fail | Function | 否 | 失败回调 |
complete | Function | 否 | 执行结束后的回调(调用成功、失败都会执行) |
fail 返回错误代码:
示例
exchange.remove({
key: 'token',
success: function() {
console.log(`handling success`)
},
fail: function(data, code) {
console.log(`handling fail, code = ${code}`)
}
})
exchange.clear (OBJECT)
从快应用平台清除数据
参数
参数名 | 类型 | 必填 | 说明 |
---|
success | Function | 否 | 成功回调 |
fail | Function | 否 | 失败回调 |
complete | Function | 否 | 执行结束后的回调(调用成功、失败都会执行) |
示例
exchange.clear({
success: function() {
console.log(`handling success`)
},
fail: function(data, code) {
console.log(`handling fail, code = ${code}`)
}
})
exchange.grantPermission (OBJECT)
授权应用获取数据。同签名的应用不用授权,默认有读取权限
参数
参数名 | 类型 | 必填 | 说明 |
---|
package | String | 是 | 授权应用的包名 |
sign | String | 是 | 授权应用的签名 SHA-256 |
key | String | 否 | 数据的 key。如果为空,则授权当前所有 key 的读取权限 |
success | Function | 否 | 成功回调 |
fail | Function | 否 | 失败回调 |
complete | Function | 否 | 执行结束后的回调(调用成功、失败都会执行) |
应用的签名的 SHA-256 可通过 快应用调试器
进行获取。
fail 返回错误代码:
示例
exchange.grantPermission({
sign: '7a12ec1d66233f20a20141035b1f7937',
package: 'com.example',
success: function() {
console.log(`handling success`)
},
fail: function(data, code) {
console.log(`handling fail, code = ${code}`)
}
})
exchange.revokePermission (OBJECT)
取消授权应用获取数据。不能取消同签名应用的读取授权
参数
参数名 | 类型 | 必填 | 说明 |
---|
package | String | 是 | 取消授权的应用包名 |
key | String | 否 | 数据的 key。如果为空,则取消当前所有 key 的授权 |
success | Function | 否 | 成功回调 |
fail | Function | 否 | 失败回调 |
complete | Function | 否 | 执行结束后的回调(调用成功、失败都会执行) |
fail 返回错误代码:
示例
exchange.revokePermission({
package: 'com.example',
success: function() {
console.log(`handling success`)
},
fail: function(data, code) {
console.log(`handling fail, code = ${code}`)
}
})
后台运行限制
无限制。后台运行详细用法参见后台运行 脚本。