Files
mes-ui-d2/docs/zh/sys-db/README.md
liyang 2e53668236 db
Former-commit-id: f49fd649e8112762da16c19cc47096a1ee4df915 [formerly f49fd649e8112762da16c19cc47096a1ee4df915 [formerly f49fd649e8112762da16c19cc47096a1ee4df915 [formerly f49fd649e8112762da16c19cc47096a1ee4df915 [formerly e823cb5704053a752c459a73df46bc8e7f84499b [formerly 2e0a028ed58db71cd881a04674c9f40528a3d519]]]]]
Former-commit-id: 099414d526aaef2ffe6ccf8b4cd80b2f82617a00
Former-commit-id: e767cab4e22f02b67a613cc52b6a6ca6b2d2ecd0
Former-commit-id: 0b903e8fd6908a000c132c633c3d78edbb976b63 [formerly 84cb3b3748ee30c4add1ca4b54d08c1c7e789e24]
Former-commit-id: 70e4e52abfcd456d1e07beac5021284c94c67806
Former-commit-id: c6171ff60f2ebd06268a7622a01dc3053326095b
Former-commit-id: 4be56a352dca28edf92dd4822c76c03f1366bed6
Former-commit-id: 4ac03030ea453be384ec095aea4ba856d34759b3
Former-commit-id: 9111882dabfcc04b5557461844df46578fa3f156
2018-08-20 16:58:35 +08:00

62 lines
2.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
sidebar: auto
---
# 数据持久化
D2Admin 对数据持久化做了更贴心的包装。
数据持久化在 D2Admin 中主要体现在两个方面:
* 系统设置持久化
* 用户数据持久化
系统设置持久化已经在核心模块中写好,这里主要介绍用户数据持久化。
## 公用存储
公用存储指所有用户共用的存储区域, 使用
``` js
await this.$store.dispatch('d2admin/db/database')
```
获得存储实例进行操作。
## 私有存储
私有存储指当前用户专用的存储区域, 不同用户之间存储不会相互干扰, 使用
``` js
await this.$store.dispatch('d2admin/db/database', { user: true })
```
获得存储实例进行操作, 不同用户条件下获取的存储实例指向位置不同。
## 路由存储
路由存储指当前路由的存储区域, 不同路由之间存储不会相互干扰, 使用
``` js
await this.$store.dispatch('d2admin/db/databasePage', { vm: this })
```
获得存储实例进行操作, 不同路由条件下获取的存储实例指向位置不同, 可以指定路由区分依据 name | path | fullPath 默认根据路由的 name 区分不同的路由。
## 私有路由存储
私有路由存储指当前路由的存储区域, 并且同时还根据用户区分, 相当于结合了 “路由存储” 和 “私有存储”, 不同路由以及不同用户之间存储不会相互干扰, 使用
``` js
await this.$store.dispatch('d2admin/db/databasePage', { vm: this, user: true })
```
获得存储实例进行操作, 不同路由和用户条件下获取的存储实例指向位置不同, 可以指定路由区分依据 name | path | fullPath 默认根据路由的 name 区分不同的路由。
## 路由快照
路由快照相当于路由存储一种快捷操作, 会将传入 vm 实例的 $data 全部持久化, 下面的表单来自 Element 的表单示例, 在 D2Admin 的本页示例中你可以随意填写这个表单, 表单内容会自动实时持久化, 无论是切换标签页、重新打开标签页、刷新浏览器、重开浏览器、重开浏览器标签页等, 该页面数据都会自动恢复到上次填写的状态, 这些都只需要你使用 D2Admin 提供的两个方法, 总共只需要多写十几行代码。
## 私有路由快照
私有路由快照相当于私有路由存储一种快捷操作, 会将传入 vm 实例的 $data 全部根据用户区分持久化, 下面的表单来自 Element 的表单示例, 在 D2Admin 的本页示例中你可以随意填写这个表单, 表单内容会自动实时持久化, 无论是切换标签页、重新打开标签页、刷新浏览器、重开浏览器、重开浏览器标签页等, 该页面数据都会自动恢复到上次填写的状态, 这些都只需要你使用 D2Admin 提供的两个方法, 总共只需要多写十几行代码。