util user menu releases
Former-commit-id: 236acdba4bc6cbd5921647fd5c1ee0258f43c143 [formerly 236acdba4bc6cbd5921647fd5c1ee0258f43c143 [formerly 236acdba4bc6cbd5921647fd5c1ee0258f43c143 [formerly 236acdba4bc6cbd5921647fd5c1ee0258f43c143 [formerly cd607a12b20a3d53a1967ee6012a35e03e3d31fe [formerly 645a010d0d8f84a370c509c39c560d93eaa8ae4f]]]]] Former-commit-id: fd4e72b6a4dc7cb2731c0b5fbf343dab6c251d3f Former-commit-id: 68305cd58cbd1927373a79c1b507de3c4f3d9924 Former-commit-id: 48312890868f48d5524b0de0dda489f2b2c57b0a [formerly fec91cd8f508ffe42c5e254dcee018c879f3d51e] Former-commit-id: 9e300a2baafd1eae86bb69a052f15b904724856e Former-commit-id: eaafbb0a410a49a286eb8e666b6784b96c9df371 Former-commit-id: ccef5438dddbe9762bd3574b33aab49bc1edee58 Former-commit-id: d2ca5c406860c43079d78a80d18ca2b1ed87f776 Former-commit-id: d4648c6865bff45b24aea999b60381b78417b802
This commit is contained in:
@@ -1 +1 @@
|
||||
523f1a7e36f1281a070291d62241d6cdc675d19e
|
||||
a1c3d72ea5edb20e160908b56adff479dbc3446c
|
||||
67
src/store/modules/d2admin/modules/menu.js
Normal file
67
src/store/modules/d2admin/modules/menu.js
Normal file
@@ -0,0 +1,67 @@
|
||||
export default {
|
||||
namespaced: true,
|
||||
state: {
|
||||
// 顶栏菜单
|
||||
header: [],
|
||||
// 侧栏菜单
|
||||
aside: [],
|
||||
// 侧边栏收缩
|
||||
asideCollapse: false
|
||||
},
|
||||
mutations: {
|
||||
/**
|
||||
* @param {Object} state vuex state
|
||||
* @param {Array} menu menu setting
|
||||
*/
|
||||
headerSet (state, menu) {
|
||||
state.header = menu
|
||||
},
|
||||
/**
|
||||
* @param {Object} state vuex state
|
||||
* @param {Array} menu menu setting
|
||||
*/
|
||||
asideSet (state, menu) {
|
||||
state.aside = menu
|
||||
},
|
||||
/**
|
||||
* 设置侧边栏展开或者收缩
|
||||
* @param {Object} state vuex state
|
||||
* @param {Boolean} collapse is collapse
|
||||
*/
|
||||
asideCollapseSet (state, collapse) {
|
||||
// store 赋值
|
||||
state.asideCollapse = collapse
|
||||
// 持久化
|
||||
this.commit('d2admin/util/dbValueSetByUser', {
|
||||
dbName: 'sys',
|
||||
path: 'menu.asideCollapse',
|
||||
value: collapse
|
||||
})
|
||||
},
|
||||
/**
|
||||
* 切换侧边栏展开和收缩
|
||||
* @param {Object} state vuex state
|
||||
*/
|
||||
asideCollapseToggle (state) {
|
||||
state.asideCollapse = !state.asideCollapse
|
||||
// 持久化
|
||||
this.commit('d2admin/util/dbValueSetByUser', {
|
||||
dbName: 'sys',
|
||||
path: 'menu.asideCollapse',
|
||||
value: state.asideCollapse
|
||||
})
|
||||
},
|
||||
/**
|
||||
* 从数据库读取侧边栏展开或者收缩
|
||||
* @param {Object} state vuex state
|
||||
*/
|
||||
async asideCollapseLoad (state) {
|
||||
// store 赋值
|
||||
state.asideCollapse = await this.dispatch('d2admin/util/dbValueGetByUser', {
|
||||
dbName: 'sys',
|
||||
path: 'menu.asideCollapse',
|
||||
defaultValue: false
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
31
src/store/modules/d2admin/modules/releases.js
Normal file
31
src/store/modules/d2admin/modules/releases.js
Normal file
@@ -0,0 +1,31 @@
|
||||
import { version } from '../../../../../package'
|
||||
|
||||
export default {
|
||||
namespaced: true,
|
||||
state: {
|
||||
// D2Admin 版本
|
||||
version,
|
||||
// 最新版本的信息
|
||||
latest: {},
|
||||
// 有新版本
|
||||
update: false
|
||||
},
|
||||
mutations: {
|
||||
/**
|
||||
* @description 设置是否有新的 D2Admin 版本
|
||||
* @param {Object} state vuex state
|
||||
* @param {Boolean} update can update
|
||||
*/
|
||||
updateSet (state, update) {
|
||||
state.update = update
|
||||
},
|
||||
/**
|
||||
* @description 设置最新版本的信息
|
||||
* @param {Object} state vuex state
|
||||
* @param {Object}} latest releases value
|
||||
*/
|
||||
latestSet (state, latest) {
|
||||
state.latest = latest
|
||||
}
|
||||
}
|
||||
}
|
||||
36
src/store/modules/d2admin/modules/user.js
Normal file
36
src/store/modules/d2admin/modules/user.js
Normal file
@@ -0,0 +1,36 @@
|
||||
export default {
|
||||
state: {
|
||||
userInfo: {
|
||||
name: ''
|
||||
}
|
||||
},
|
||||
mutations: {
|
||||
/**
|
||||
* @description 设置用户数据
|
||||
* @param {Object} state vuex state
|
||||
* @param {*} userInfo userInfo
|
||||
*/
|
||||
userInfoSet (state, userInfo) {
|
||||
// store 赋值
|
||||
state.userInfo = userInfo
|
||||
// 持久化
|
||||
this.commit('d2admin/util/dbValueSetByUser', {
|
||||
dbName: 'sys',
|
||||
path: 'user.userInfo',
|
||||
value: userInfo
|
||||
})
|
||||
},
|
||||
/**
|
||||
* @description 从数据库取用户数据
|
||||
* @param {Object} state vuex state
|
||||
*/
|
||||
async userInfoLoad (state) {
|
||||
// store 赋值
|
||||
state.userInfo = await this.dispatch('d2admin/util/dbValueGetByUser', {
|
||||
dbName: 'sys',
|
||||
path: 'user.userInfo',
|
||||
defaultValue: '请重新登陆'
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
101
src/store/modules/d2admin/modules/util.js
Normal file
101
src/store/modules/d2admin/modules/util.js
Normal file
@@ -0,0 +1,101 @@
|
||||
import db from '@/libs/db.js'
|
||||
import util from '@/libs/util.js'
|
||||
|
||||
/**
|
||||
* @description 检查路径是否存在 不存在的话初始化
|
||||
* @param {Object} param dbName {String}: 数据库名称
|
||||
* @param {Object} param path {String}: 路径
|
||||
* @param {Object} param defaultValue {*}: 初始化默认值
|
||||
*/
|
||||
function pathInit ({
|
||||
dbName = 'sys',
|
||||
path = '',
|
||||
defaultValue = []
|
||||
}) {
|
||||
const sys = db.get(dbName)
|
||||
if (!sys.get(path).value()) {
|
||||
sys
|
||||
.set(path, defaultValue)
|
||||
.write()
|
||||
}
|
||||
return sys.get(path)
|
||||
}
|
||||
|
||||
/**
|
||||
* @description 检查路径下是否有当前用户的档案
|
||||
* @param {Object} param dbName {String}: 数据库名称
|
||||
* @param {Object} param path {String}: 路径
|
||||
*/
|
||||
function isRowExistByUser ({
|
||||
dbName = 'sys',
|
||||
path = ''
|
||||
}) {
|
||||
const sys = db.get(dbName)
|
||||
const row = sys
|
||||
.get(path)
|
||||
.find({
|
||||
uuid: util.cookies.get('uuid')
|
||||
})
|
||||
// 返回可以操作的 row 或者布尔值 false
|
||||
// 外部判断返回值的时候建议使用 if (!isRowExistByUser({}))
|
||||
if (row.value()) {
|
||||
return row
|
||||
} else {
|
||||
return false
|
||||
}
|
||||
}
|
||||
|
||||
export default {
|
||||
namespaced: true,
|
||||
mutations: {
|
||||
/**
|
||||
* @description 将数据存储到指定位置 [用户存储区域]
|
||||
* @param {Object} state vuex state
|
||||
* @param {Object} param dbName {String}: 数据库名称
|
||||
* @param {Object} param path {String}: 存储路径
|
||||
* @param {Object} param value {*}: 需要存储的值
|
||||
*/
|
||||
dbValueSetByUser (state, {
|
||||
dbName = 'sys',
|
||||
path = '',
|
||||
value = ''
|
||||
}) {
|
||||
// 得到路径在数据库中的对象 没有初始化会自动初始化
|
||||
// ByUser 类型的默认值设置为数组
|
||||
// 以后数组的每一项是一个用户的存档
|
||||
const currentPath = pathInit({ dbName, path, defaultValue: [] })
|
||||
// 得到当前用户在数据库此路径下的存档
|
||||
const row = isRowExistByUser({ dbName, path })
|
||||
// 合并 or 追加
|
||||
if (!row) {
|
||||
currentPath.push({
|
||||
uuid: util.cookies.get('uuid'),
|
||||
value
|
||||
}).write()
|
||||
} else {
|
||||
row.assign({ value }).write()
|
||||
}
|
||||
}
|
||||
},
|
||||
actions: {
|
||||
/**
|
||||
* @description 从系统存储中获取数据 [用户存储区域]
|
||||
* @param {Object} state vuex state
|
||||
* @param {Object} param dbName {String}: 数据库名称
|
||||
* @param {Object} param path {String}: 存储路径
|
||||
* @param {Object} param defaultValue {*}: 取值失败的默认值
|
||||
*/
|
||||
dbValueGetByUser (context, {
|
||||
dbName = 'sys',
|
||||
path = '',
|
||||
defaultValue = ''
|
||||
}) {
|
||||
return new Promise((resolve, reject) => {
|
||||
// 得到当前用户在数据库此路径下的存档
|
||||
const row = isRowExistByUser({ path })
|
||||
// 返回存档或者默认值
|
||||
resolve(!row ? defaultValue : row.value().value)
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user