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:
@@ -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 提供的两个方法, 总共只需要多写十几行代码。
|
||||||
|
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
080facc2ab1ba35272b9f62ff92efc9a31687b86
|
78fa73fc382c9d9c7950f10e3a5b7b7064f647b6
|
||||||
@@ -30,16 +30,15 @@ function pathInit ({
|
|||||||
|
|
||||||
export default {
|
export default {
|
||||||
namespaced: true,
|
namespaced: true,
|
||||||
mutations: {
|
actions: {
|
||||||
/**
|
/**
|
||||||
* @description 将数据存储到指定位置 | 路径不存在会自动初始化
|
* @description 将数据存储到指定位置 | 路径不存在会自动初始化
|
||||||
* @description 效果类似于取值 dbName.path = value
|
* @description 效果类似于取值 dbName.path = value
|
||||||
* @param {Object} state vuex state
|
|
||||||
* @param {Object} param dbName {String} 数据库名称
|
* @param {Object} param dbName {String} 数据库名称
|
||||||
* @param {Object} param path {String} 存储路径
|
* @param {Object} param path {String} 存储路径
|
||||||
* @param {Object} param value {*} 需要存储的值
|
* @param {Object} param value {*} 需要存储的值
|
||||||
*/
|
*/
|
||||||
set (state, {
|
set (context, {
|
||||||
dbName = 'database',
|
dbName = 'database',
|
||||||
path = '',
|
path = '',
|
||||||
value = ''
|
value = ''
|
||||||
@@ -53,12 +52,11 @@ export default {
|
|||||||
/**
|
/**
|
||||||
* @description 将数据存储到指定位置 | 路径不存在会自动初始化 [ 区分用户 ]
|
* @description 将数据存储到指定位置 | 路径不存在会自动初始化 [ 区分用户 ]
|
||||||
* @description 效果类似于取值 dbName.path[user] = value
|
* @description 效果类似于取值 dbName.path[user] = value
|
||||||
* @param {Object} state vuex state
|
|
||||||
* @param {Object} param dbName {String} 数据库名称
|
* @param {Object} param dbName {String} 数据库名称
|
||||||
* @param {Object} param path {String} 存储路径
|
* @param {Object} param path {String} 存储路径
|
||||||
* @param {Object} param value {*} 需要存储的值
|
* @param {Object} param value {*} 需要存储的值
|
||||||
*/
|
*/
|
||||||
setByUser (state, {
|
setByUser (context, {
|
||||||
dbName = 'database',
|
dbName = 'database',
|
||||||
path = '',
|
path = '',
|
||||||
value = ''
|
value = ''
|
||||||
@@ -67,13 +65,10 @@ export default {
|
|||||||
dbName,
|
dbName,
|
||||||
path
|
path
|
||||||
}), value).write()
|
}), value).write()
|
||||||
}
|
},
|
||||||
},
|
|
||||||
actions: {
|
|
||||||
/**
|
/**
|
||||||
* @description 获取数据
|
* @description 获取数据
|
||||||
* @description 效果类似于取值 dbName.path || defaultValue
|
* @description 效果类似于取值 dbName.path || defaultValue
|
||||||
* @param {Object} state vuex state
|
|
||||||
* @param {Object} param dbName {String} 数据库名称
|
* @param {Object} param dbName {String} 数据库名称
|
||||||
* @param {Object} param path {String} 存储路径
|
* @param {Object} param path {String} 存储路径
|
||||||
* @param {Object} param defaultValue {*} 取值失败的默认值
|
* @param {Object} param defaultValue {*} 取值失败的默认值
|
||||||
@@ -95,7 +90,6 @@ export default {
|
|||||||
/**
|
/**
|
||||||
* @description 获取数据 [ 区分用户 ]
|
* @description 获取数据 [ 区分用户 ]
|
||||||
* @description 效果类似于取值 dbName.path[user] || defaultValue
|
* @description 效果类似于取值 dbName.path[user] || defaultValue
|
||||||
* @param {Object} state vuex state
|
|
||||||
* @param {Object} param dbName {String} 数据库名称
|
* @param {Object} param dbName {String} 数据库名称
|
||||||
* @param {Object} param path {String} 存储路径
|
* @param {Object} param path {String} 存储路径
|
||||||
* @param {Object} param defaultValue {*} 取值失败的默认值
|
* @param {Object} param defaultValue {*} 取值失败的默认值
|
||||||
|
|||||||
@@ -39,7 +39,7 @@ export default {
|
|||||||
// store 赋值
|
// store 赋值
|
||||||
state.asideCollapse = collapse
|
state.asideCollapse = collapse
|
||||||
// 持久化
|
// 持久化
|
||||||
this.commit('d2admin/db/setByUser', {
|
this.dispatch('d2admin/db/setByUser', {
|
||||||
dbName: 'sys',
|
dbName: 'sys',
|
||||||
path: 'menu.asideCollapse',
|
path: 'menu.asideCollapse',
|
||||||
value: state.asideCollapse
|
value: state.asideCollapse
|
||||||
@@ -53,7 +53,7 @@ export default {
|
|||||||
// store 赋值
|
// store 赋值
|
||||||
state.asideCollapse = !state.asideCollapse
|
state.asideCollapse = !state.asideCollapse
|
||||||
// 持久化
|
// 持久化
|
||||||
this.commit('d2admin/db/setByUser', {
|
this.dispatch('d2admin/db/setByUser', {
|
||||||
dbName: 'sys',
|
dbName: 'sys',
|
||||||
path: 'menu.asideCollapse',
|
path: 'menu.asideCollapse',
|
||||||
value: state.asideCollapse
|
value: state.asideCollapse
|
||||||
|
|||||||
@@ -93,7 +93,7 @@ export default {
|
|||||||
* @param {Object} state vuex state
|
* @param {Object} state vuex state
|
||||||
*/
|
*/
|
||||||
opend2db (state) {
|
opend2db (state) {
|
||||||
this.commit('d2admin/db/setByUser', {
|
this.dispatch('d2admin/db/setByUser', {
|
||||||
dbName: 'sys',
|
dbName: 'sys',
|
||||||
path: 'page.opened',
|
path: 'page.opened',
|
||||||
value: state.opened
|
value: state.opened
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ export default {
|
|||||||
// 将 vuex 中的主题应用到 dom
|
// 将 vuex 中的主题应用到 dom
|
||||||
this.commit('d2admin/theme/dom')
|
this.commit('d2admin/theme/dom')
|
||||||
// 持久化
|
// 持久化
|
||||||
this.commit('d2admin/db/setByUser', {
|
this.dispatch('d2admin/db/setByUser', {
|
||||||
dbName: 'sys',
|
dbName: 'sys',
|
||||||
path: 'theme.activeName',
|
path: 'theme.activeName',
|
||||||
value: state.activeName
|
value: state.activeName
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ export default {
|
|||||||
// store 赋值
|
// store 赋值
|
||||||
state.active = active
|
state.active = active
|
||||||
// 持久化
|
// 持久化
|
||||||
this.commit('d2admin/db/setByUser', {
|
this.dispatch('d2admin/db/setByUser', {
|
||||||
dbName: 'sys',
|
dbName: 'sys',
|
||||||
path: 'transition.active',
|
path: 'transition.active',
|
||||||
value: state.active
|
value: state.active
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ export default {
|
|||||||
// store 赋值
|
// store 赋值
|
||||||
state.info = info
|
state.info = info
|
||||||
// 持久化
|
// 持久化
|
||||||
this.commit('d2admin/db/setByUser', {
|
this.dispatch('d2admin/db/setByUser', {
|
||||||
dbName: 'sys',
|
dbName: 'sys',
|
||||||
path: 'user.info',
|
path: 'user.info',
|
||||||
value: info
|
value: info
|
||||||
|
|||||||
Reference in New Issue
Block a user