mirror of
https://github.com/ZiuChen/ClipboardManager.git
synced 2025-06-08 14:24:03 +08:00
feat: 添加读取设置的逻辑
This commit is contained in:
parent
ef098863b0
commit
11c9124aaa
9
src/data/operation.json
Normal file
9
src/data/operation.json
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
[
|
||||||
|
{ "id": "copy", "title": "复制", "icon": "📄" },
|
||||||
|
{ "id": "view", "title": "查看全部", "icon": "💬" },
|
||||||
|
{ "id": "open-folder", "title": "打开文件夹", "icon": "📁" },
|
||||||
|
{ "id": "collect", "title": "收藏", "icon": "⭐" },
|
||||||
|
{ "id": "remove", "title": "删除", "icon": "❌" },
|
||||||
|
{ "id": "word-break", "title": "分词", "icon": "💣" },
|
||||||
|
{ "id": "save-file", "title": "保存", "icon": "💾" }
|
||||||
|
]
|
22
src/data/setting.json
Normal file
22
src/data/setting.json
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
{
|
||||||
|
"database.path": "",
|
||||||
|
"database.maxsize": 800,
|
||||||
|
"database.maxage": 14,
|
||||||
|
"operation.shown": ["copy", "view", "collect", "remove"],
|
||||||
|
"operation.custom": [
|
||||||
|
{
|
||||||
|
"id": "custom.1663468392",
|
||||||
|
"title": "讯飞OCR识别",
|
||||||
|
"icon": "⚡",
|
||||||
|
"match": ["image"],
|
||||||
|
"command": "redirect:讯飞ocr"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "custom.1663468466",
|
||||||
|
"title": "百度搜索",
|
||||||
|
"icon": "🔍",
|
||||||
|
"match": ["text"],
|
||||||
|
"command": "redirect:百度一下"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
@ -1,9 +1,12 @@
|
|||||||
const { utools, existsSync, readFileSync, writeFileSync, mkdirSync, crypto, listener, clipboard } =
|
const { utools, existsSync, readFileSync, writeFileSync, mkdirSync, crypto, listener, clipboard } =
|
||||||
window.exports
|
window.exports
|
||||||
|
import setting from './readSetting'
|
||||||
|
|
||||||
export default function initPlugin() {
|
export default function initPlugin() {
|
||||||
const sep = utools.isWindows() ? '\\' : '/'
|
const sep = utools.isWindows() ? '\\' : '/'
|
||||||
const DBPath = `${
|
const DBPath =
|
||||||
|
setting.database.path ||
|
||||||
|
`${
|
||||||
utools.isMacOs() ? utools.getPath('userData') : utools.getPath('home')
|
utools.isMacOs() ? utools.getPath('userData') : utools.getPath('home')
|
||||||
}${sep}_utools_clipboard_manager_storage`
|
}${sep}_utools_clipboard_manager_storage`
|
||||||
class DB {
|
class DB {
|
||||||
@ -26,7 +29,7 @@ export default function initPlugin() {
|
|||||||
this.dataBase = dataBase
|
this.dataBase = dataBase
|
||||||
// 将超过14天的数据删除 排除掉收藏
|
// 将超过14天的数据删除 排除掉收藏
|
||||||
const now = new Date().getTime()
|
const now = new Date().getTime()
|
||||||
const deleteTime = now - '\u0031\u0034' * '\u0032\u0034' * 60 * 60 * 1000 // unicode
|
const deleteTime = now - setting.database.maxage * 24 * 60 * 60 * 1000 // unicode
|
||||||
this.dataBase.data = this.dataBase.data?.filter((item) => item.updateTime > deleteTime)
|
this.dataBase.data = this.dataBase.data?.filter((item) => item.updateTime > deleteTime)
|
||||||
this.updateDataBaseLocal()
|
this.updateDataBaseLocal()
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
@ -59,7 +62,7 @@ export default function initPlugin() {
|
|||||||
addItem(cItem) {
|
addItem(cItem) {
|
||||||
this.dataBase.data.unshift(cItem)
|
this.dataBase.data.unshift(cItem)
|
||||||
this.updateDataBase()
|
this.updateDataBase()
|
||||||
const exceedCount = this.dataBase.data.length - '\u0038\u0030\u0030'
|
const exceedCount = this.dataBase.data.length - setting.database.maxsize
|
||||||
if (exceedCount > 0) {
|
if (exceedCount > 0) {
|
||||||
// 达到条数限制 删除超出部分
|
// 达到条数限制 删除超出部分
|
||||||
for (let i = 0; i < exceedCount; i++) {
|
for (let i = 0; i < exceedCount; i++) {
|
||||||
|
22
src/global/readSetting.js
Normal file
22
src/global/readSetting.js
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
import defaultSetting from '../data/setting.json'
|
||||||
|
|
||||||
|
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]]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
utools.dbStorage.setItem('setting', setting)
|
||||||
|
}
|
||||||
|
|
||||||
|
export default setting
|
Loading…
x
Reference in New Issue
Block a user