页面持久化大体功能实现
Former-commit-id: 6de284ac144ef2dc9add34aa16502109485a16d2 [formerly 6de284ac144ef2dc9add34aa16502109485a16d2 [formerly 6de284ac144ef2dc9add34aa16502109485a16d2 [formerly 6de284ac144ef2dc9add34aa16502109485a16d2 [formerly 99351410cdef9041c1acbcd105ab7f02e23c4db1 [formerly d70ea9b6ea91dec0463c7e925a8eaab9c1990a6d]]]]] Former-commit-id: 88212ee98bd64a47532ce9dac84a572f55248a87 Former-commit-id: 017b329b1b91a670b85398e771d34504cc027f26 Former-commit-id: 9d4254f31c10c6e1cc65c65b42847d91e3645566 [formerly b0c0b3fa63225f698741d26af019cee2c9e9258c] Former-commit-id: 4a4e25525dd02ec2f4a566716a04d5751dc836f8 Former-commit-id: 32994d19e44dd945d144c72134c4aec7b0bc5b13 Former-commit-id: 625b25670c37b0fd33826ddfa845802f1a8e5533 Former-commit-id: ac609aa4a8a3284e927f6b704ccda7786c7df8a6 Former-commit-id: 47d02c0e39e0a6fcba7dfdc98782045193e40c6b
This commit is contained in:
@@ -51,7 +51,7 @@ export default {
|
||||
}), value).write()
|
||||
},
|
||||
/**
|
||||
* @description 将数据存储到指定位置 | 路径不存在会自动初始化 [区分用户]
|
||||
* @description 将数据存储到指定位置 | 路径不存在会自动初始化 [ 区分用户 ]
|
||||
* @description 效果类似于 dbName.path[user] = value
|
||||
* @param {Object} state vuex state
|
||||
* @param {Object} param dbName {String} 数据库名称
|
||||
@@ -72,53 +72,142 @@ export default {
|
||||
actions: {
|
||||
/**
|
||||
* @description 获取存储数据库对象
|
||||
* @param {Object} context context
|
||||
* @param {Object} param user {Boolean} 是否区分用户
|
||||
*/
|
||||
database () {
|
||||
database (context, {
|
||||
user = false
|
||||
} = {}) {
|
||||
return new Promise(resolve => {
|
||||
resolve(db.get(pathInit({
|
||||
dbName: 'database',
|
||||
path: '',
|
||||
user: false,
|
||||
user,
|
||||
defaultValue: {}
|
||||
})))
|
||||
})
|
||||
},
|
||||
/**
|
||||
* @description 清空存储数据库对象
|
||||
* @param {Object} context context
|
||||
* @param {Object} param user {Boolean} 是否区分用户
|
||||
*/
|
||||
databaseClear () {
|
||||
databaseClear (context, {
|
||||
user = false
|
||||
} = {}) {
|
||||
return new Promise(resolve => {
|
||||
resolve(db.get(pathInit({
|
||||
dbName: 'database',
|
||||
path: '',
|
||||
user: false,
|
||||
user,
|
||||
validator: () => false,
|
||||
defaultValue: {}
|
||||
})))
|
||||
})
|
||||
},
|
||||
/**
|
||||
* @description 获取存储数据库对象 [区分用户]
|
||||
* @description 获取存储数据库对象 [ 区分页面 ]
|
||||
* @param {Object} context context
|
||||
* @param {Object} param vm {Object} vue
|
||||
* @param {Object} param basis {String} 页面区分依据 [ name | path | fullPath ]
|
||||
* @param {Object} param user {Boolean} 是否区分用户
|
||||
*/
|
||||
databaseByUser () {
|
||||
databasePage (context, {
|
||||
vm,
|
||||
basis = 'name',
|
||||
user = false
|
||||
} = {}) {
|
||||
return new Promise(resolve => {
|
||||
resolve(db.get(pathInit({
|
||||
dbName: 'database',
|
||||
path: '',
|
||||
user: true,
|
||||
path: vm.$route[basis],
|
||||
user,
|
||||
defaultValue: {}
|
||||
})))
|
||||
})
|
||||
},
|
||||
/**
|
||||
* @description 清空存储数据库对象 [区分用户]
|
||||
* @description 清空存储数据库对象 [ 区分页面 ]
|
||||
* @param {Object} context context
|
||||
* @param {Object} param vm {Object} vue
|
||||
* @param {Object} param basis {String} 页面区分依据 [ name | path | fullPath ]
|
||||
* @param {Object} param user {Boolean} 是否区分用户
|
||||
*/
|
||||
databaseByUserClear () {
|
||||
databasePageClear (context, {
|
||||
vm,
|
||||
basis = 'name',
|
||||
user = false
|
||||
} = {}) {
|
||||
return new Promise(resolve => {
|
||||
resolve(db.get(pathInit({
|
||||
dbName: 'database',
|
||||
path: '',
|
||||
user: true,
|
||||
path: vm.$route[basis],
|
||||
user,
|
||||
validator: () => false,
|
||||
defaultValue: {}
|
||||
})))
|
||||
})
|
||||
},
|
||||
/**
|
||||
* @description 快速将页面当前的数据 ( $data ) 持久化
|
||||
* @param {Object} context context
|
||||
* @param {Object} param vm {Object} vue
|
||||
* @param {Object} param basis {String} 页面区分依据 [ name | path | fullPath ]
|
||||
* @param {Object} param user {Boolean} 是否区分用户
|
||||
*/
|
||||
pageSet (context, {
|
||||
vm,
|
||||
basis = 'name',
|
||||
user = false
|
||||
}) {
|
||||
return new Promise(resolve => {
|
||||
resolve(db.get(pathInit({
|
||||
dbName: 'database',
|
||||
path: `${vm.$route[basis]}.$data`,
|
||||
user,
|
||||
validator: () => false,
|
||||
defaultValue: vm.$data
|
||||
})))
|
||||
})
|
||||
},
|
||||
/**
|
||||
* @description 快速获取页面快速持久化的数据
|
||||
* @param {Object} context context
|
||||
* @param {Object} param vm {Object} vue
|
||||
* @param {Object} param basis {String} 页面区分依据 [ name | path | fullPath ]
|
||||
* @param {Object} param user {Boolean} 是否区分用户
|
||||
*/
|
||||
pageLoad (context, {
|
||||
vm,
|
||||
basis = 'name',
|
||||
user = false
|
||||
}) {
|
||||
return new Promise(resolve => {
|
||||
resolve(db.get(pathInit({
|
||||
dbName: 'database',
|
||||
path: `${vm.$route[basis]}.$data`,
|
||||
user,
|
||||
defaultValue: vm.$data
|
||||
})).value())
|
||||
})
|
||||
},
|
||||
/**
|
||||
* @description 清空页面快照
|
||||
* @param {Object} context context
|
||||
* @param {Object} param vm {Object} vue
|
||||
* @param {Object} param basis {String} 页面区分依据 [ name | path | fullPath ]
|
||||
* @param {Object} param user {Boolean} 是否区分用户
|
||||
*/
|
||||
pageClear (context, {
|
||||
vm,
|
||||
basis = 'name',
|
||||
user = false
|
||||
}) {
|
||||
return new Promise(resolve => {
|
||||
resolve(db.get(pathInit({
|
||||
dbName: 'database',
|
||||
path: `${vm.$route[basis]}.$data`,
|
||||
user,
|
||||
validator: () => false,
|
||||
defaultValue: {}
|
||||
})))
|
||||
@@ -147,7 +236,7 @@ export default {
|
||||
})
|
||||
},
|
||||
/**
|
||||
* @description 获取数据 [区分用户]
|
||||
* @description 获取数据 [ 区分用户 ]
|
||||
* @description 效果类似于 dbName.path[user] || defaultValue
|
||||
* @param {Object} state vuex state
|
||||
* @param {Object} param dbName {String} 数据库名称
|
||||
|
||||
Reference in New Issue
Block a user