db actions

Former-commit-id: 2b09617e93a7a76be76112f361e0c6635bde8c46 [formerly cb21cb6d38ce7168283da2facecd72ff55dd8062] [formerly 2b09617e93a7a76be76112f361e0c6635bde8c46 [formerly cb21cb6d38ce7168283da2facecd72ff55dd8062] [formerly 2b09617e93a7a76be76112f361e0c6635bde8c46 [formerly cb21cb6d38ce7168283da2facecd72ff55dd8062] [formerly cb21cb6d38ce7168283da2facecd72ff55dd8062 [formerly d94a48297dc50b082165969ec72f6dafb49bf694 [formerly 50cc227c8b86ecdf64c7dff28e089b6963a6a5c3]]]]]
Former-commit-id: d5d61acd1aa0e9335fcac37900dfb18cf7d9a3d8
Former-commit-id: a490c1d36c2631b316a9af2596a89887321b7d93
Former-commit-id: b3012f888349f0cdad641e0988e0de21df928955 [formerly 8a4be822b9526059131f28530c2ad89d945258cd]
Former-commit-id: a24c1f17605c335c9b504a954c5c3b0a23bc6a84
Former-commit-id: 03bff2a157c90e3a306d09bd4aded713d9b78f23
Former-commit-id: 38569629e15a50051e3b687f4e650cf77c391b63
Former-commit-id: 22bfdd418b736df02d3b4d4717a760cbc8c948e9
Former-commit-id: ea7774773cb467e890c1fb456ad6f076815a44b1
This commit is contained in:
liyang
2018-08-20 22:59:19 +08:00
parent 71e22e1543
commit 1907fcf7b2
8 changed files with 14 additions and 26 deletions

View File

@@ -4,14 +4,7 @@ sidebar: auto
# 数据持久化
D2Admin 对数据持久化做了更贴心的包装
数据持久化在 D2Admin 中主要体现在两个方面:
* 系统设置持久化
* 用户数据持久化
系统设置持久化已经在核心模块中写好,这里主要介绍用户数据持久化。
D2Admin 对数据持久化做了更清晰的包装,您可以通过
## 公用存储
@@ -59,4 +52,5 @@ await this.$store.dispatch('d2admin/db/databasePage', { vm: this, user: true })
## 私有路由快照
私有路由快照相当于私有路由存储一种快捷操作, 会将传入 vm 实例的 $data 全部根据用户区分持久化, 下面的表单来自 Element 的表单示例, 在 D2Admin 的本页示例中你可以随意填写这个表单, 表单内容会自动实时持久化, 无论是切换标签页、重新打开标签页、刷新浏览器、重开浏览器、重开浏览器标签页等, 该页面数据都会自动恢复到上次填写的状态, 这些都只需要你使用 D2Admin 提供的两个方法, 总共只需要多写十几行代码。
私有路由快照相当于私有路由存储一种快捷操作, 会将传入 vm 实例的 $data 全部根据用户区分持久化, 下面的表单来自 Element 的表单示例, 在 D2Admin 的本页示例中你可以随意填写这个表单, 表单内容会自动实时持久化, 无论是切换标签页、重新打开标签页、刷新浏览器、重开浏览器、重开浏览器标签页等, 该页面数据都会自动恢复到上次填写的状态, 这些都只需要你使用 D2Admin 提供的两个方法, 总共只需要多写十几行代码。

View File

@@ -1 +1 @@
080facc2ab1ba35272b9f62ff92efc9a31687b86
78fa73fc382c9d9c7950f10e3a5b7b7064f647b6

View File

@@ -30,16 +30,15 @@ function pathInit ({
export default {
namespaced: true,
mutations: {
actions: {
/**
* @description 将数据存储到指定位置 | 路径不存在会自动初始化
* @description 效果类似于取值 dbName.path = value
* @param {Object} state vuex state
* @param {Object} param dbName {String} 数据库名称
* @param {Object} param path {String} 存储路径
* @param {Object} param value {*} 需要存储的值
*/
set (state, {
set (context, {
dbName = 'database',
path = '',
value = ''
@@ -53,12 +52,11 @@ export default {
/**
* @description 将数据存储到指定位置 | 路径不存在会自动初始化 [ 区分用户 ]
* @description 效果类似于取值 dbName.path[user] = value
* @param {Object} state vuex state
* @param {Object} param dbName {String} 数据库名称
* @param {Object} param path {String} 存储路径
* @param {Object} param value {*} 需要存储的值
*/
setByUser (state, {
setByUser (context, {
dbName = 'database',
path = '',
value = ''
@@ -67,13 +65,10 @@ export default {
dbName,
path
}), value).write()
}
},
actions: {
},
/**
* @description 获取数据
* @description 效果类似于取值 dbName.path || defaultValue
* @param {Object} state vuex state
* @param {Object} param dbName {String} 数据库名称
* @param {Object} param path {String} 存储路径
* @param {Object} param defaultValue {*} 取值失败的默认值
@@ -95,7 +90,6 @@ export default {
/**
* @description 获取数据 [ 区分用户 ]
* @description 效果类似于取值 dbName.path[user] || defaultValue
* @param {Object} state vuex state
* @param {Object} param dbName {String} 数据库名称
* @param {Object} param path {String} 存储路径
* @param {Object} param defaultValue {*} 取值失败的默认值

View File

@@ -39,7 +39,7 @@ export default {
// store 赋值
state.asideCollapse = collapse
// 持久化
this.commit('d2admin/db/setByUser', {
this.dispatch('d2admin/db/setByUser', {
dbName: 'sys',
path: 'menu.asideCollapse',
value: state.asideCollapse
@@ -53,7 +53,7 @@ export default {
// store 赋值
state.asideCollapse = !state.asideCollapse
// 持久化
this.commit('d2admin/db/setByUser', {
this.dispatch('d2admin/db/setByUser', {
dbName: 'sys',
path: 'menu.asideCollapse',
value: state.asideCollapse

View File

@@ -93,7 +93,7 @@ export default {
* @param {Object} state vuex state
*/
opend2db (state) {
this.commit('d2admin/db/setByUser', {
this.dispatch('d2admin/db/setByUser', {
dbName: 'sys',
path: 'page.opened',
value: state.opened

View File

@@ -30,7 +30,7 @@ export default {
// 将 vuex 中的主题应用到 dom
this.commit('d2admin/theme/dom')
// 持久化
this.commit('d2admin/db/setByUser', {
this.dispatch('d2admin/db/setByUser', {
dbName: 'sys',
path: 'theme.activeName',
value: state.activeName

View File

@@ -17,7 +17,7 @@ export default {
// store 赋值
state.active = active
// 持久化
this.commit('d2admin/db/setByUser', {
this.dispatch('d2admin/db/setByUser', {
dbName: 'sys',
path: 'transition.active',
value: state.active

View File

@@ -17,7 +17,7 @@ export default {
// store 赋值
state.info = info
// 持久化
this.commit('d2admin/db/setByUser', {
this.dispatch('d2admin/db/setByUser', {
dbName: 'sys',
path: 'user.info',
value: info