mirror of
https://github.com/ZiuChen/ClipboardManager.git
synced 2025-06-07 22:04:06 +08:00
feat: 新增重置设置函数
This commit is contained in:
parent
7a6b9f5dc6
commit
dfe3d87ef0
@ -1,28 +1,5 @@
|
||||
import defaultSetting from '../data/setting.json'
|
||||
import restoreSetting from './restoreSetting'
|
||||
|
||||
const sep = utools.isWindows() ? '\\' : '/'
|
||||
const defaultPath = `${
|
||||
utools.isMacOs() ? utools.getPath('userData') : utools.getPath('home')
|
||||
}${sep}_utools_clipboard_manager_storage`
|
||||
|
||||
let setting = utools.dbStorage.getItem('setting')
|
||||
if (!setting) {
|
||||
// 将defaultSetting的key点语法转换为对象
|
||||
setting = {}
|
||||
for (const key in defaultSetting) {
|
||||
const keys = key.split('.')
|
||||
let obj = setting
|
||||
for (let i = 0; i < keys.length; i++) {
|
||||
if (i === keys.length - 1) {
|
||||
obj[keys[i]] = defaultSetting[key]
|
||||
} else {
|
||||
if (!obj[keys[i]]) obj[keys[i]] = {}
|
||||
obj = obj[keys[i]]
|
||||
}
|
||||
}
|
||||
}
|
||||
setting.database.path = defaultPath
|
||||
utools.dbStorage.setItem('setting', setting)
|
||||
}
|
||||
const setting = utools.dbStorage.getItem('setting') || restoreSetting()
|
||||
|
||||
export default setting
|
||||
|
15
src/global/restoreSetting.js
Normal file
15
src/global/restoreSetting.js
Normal file
@ -0,0 +1,15 @@
|
||||
import defaultSetting from '../data/setting.json'
|
||||
import { pointToObj } from '../utils'
|
||||
|
||||
const SEP = utools.isWindows() ? '\\' : '/'
|
||||
const defaultPath = `${
|
||||
utools.isMacOs() ? utools.getPath('userData') : utools.getPath('home')
|
||||
}${SEP}_utools_clipboard_manager_storage`
|
||||
|
||||
export default function restoreSetting() {
|
||||
// 将defaultSetting的key点语法转换为对象
|
||||
const setting = pointToObj(defaultSetting)
|
||||
setting.database.path = defaultPath
|
||||
utools.dbStorage.setItem('setting', setting)
|
||||
return setting
|
||||
}
|
@ -19,4 +19,21 @@ const dateFormat = (timeStamp) => {
|
||||
return info
|
||||
}
|
||||
|
||||
export { dateFormat }
|
||||
const pointToObj = (objWithPointKey) => {
|
||||
let rtnObj = {}
|
||||
for (const key in objWithPointKey) {
|
||||
const keys = key.split('.')
|
||||
let obj = rtnObj
|
||||
for (let i = 0; i < keys.length; i++) {
|
||||
if (i === keys.length - 1) {
|
||||
obj[keys[i]] = objWithPointKey[key]
|
||||
} else {
|
||||
if (!obj[keys[i]]) obj[keys[i]] = {}
|
||||
obj = obj[keys[i]]
|
||||
}
|
||||
}
|
||||
}
|
||||
return rtnObj
|
||||
}
|
||||
|
||||
export { dateFormat, pointToObj }
|
||||
|
Loading…
x
Reference in New Issue
Block a user