数据节点
数据节点是微应用的持久化数据存储机制,数据根据账号和应用 ID 进行隔离存储。每个微应用可以有多个数据节点,每个数据节点可以存储多个 key 对象。节点需要在配置文件中注册才能正常使用。
基本概念
- APP 级别:所有用户全局使用,适合公共配置
- USER 级别:当前登录账号专用,账号之间数据隔离
公开模式
数据节点支持设置 isPublic 属性:
isPublic: true- 公开模式下可读取isPublic: false- 仅登录用户可读写
权限说明
数据权限可以分为三种(读、写、(透传)使用),所有级别的数据节点都支持在 API 的 request 透传请求中模板替换使用,这样既保证了敏感数据不外漏在前端,还能安全使用数据节点中的敏感数据,来保证透传接口的正常调用。读、写权限请参考:
| 登录模式 / 范围 | APP (公开) | APP | USER (公开) | USER |
|---|---|---|---|---|
| 公开模式 | 读 | - | 读 | - |
| 普通账号 | 读 | - | 读、写 | 读、写 |
| 管理账号 | 读、写 | 读、写 | 读、写 | 读、写 |
配置说明
在 app.config.js 中配置数据节点:
javascript
export default {
// ... 此处已省略其他配置代码
// 需要声明 dataNode 权限
permissions: ['dataNode'],
dataNodes: {
// 城市列表 - APP级别,公开可读
cityList: {
scope: 'app',
isPublic: true
},
// 用户选择的城市 - USER级别,公开可读
userCity: {
scope: 'user',
isPublic: true
},
// API密钥 - APP级别,仅管理员可写
apiKey: {
scope: 'app',
isPublic: false
},
// 用户私有数据 - USER级别
privateData: {
scope: 'user',
isPublic: false
}
}
};配置参数
| 参数 | 类型 | 说明 |
|---|---|---|
scope | string | 数据作用域:'app' 或 'user' |
isPublic | boolean | 是否允许公开模式下读取 |
使用场景示例
以天气微应用为例:
| 数据 | 作用域 | 公开 | 说明 |
|---|---|---|---|
| 城市列表 | APP | ✅ | 所有用户查看相同数据 |
| 用户选择的城市 | USER | ✅ | 各用户独立选择 |
| API 密钥 | APP | ❌ | 仅管理员配置 |
| 用户自定义设置 | USER | ❌ | 各用户独立配置 |
TIP
如果无法确定数据范围,请完全使用 USER 级别的数据节点。
使用方法
详细 API 调用方式请参阅 平台 API - 数据节点。