BIN
docs/logo/assets/clipboard.png
Normal file
After Width: | Height: | Size: 3.0 KiB |
1
docs/logo/assets/clipboard.svg
Normal file
@ -0,0 +1 @@
|
|||||||
|
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1660717892395" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="22407" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M800 128h-160c0-70.6-57.4-128-128-128s-128 57.4-128 128H224C171 128 128 171 128 224v704c0 53 43 96 96 96h576c53 0 96-43 96-96V224c0-53-43-96-96-96zM512 80c26.6 0 48 21.4 48 48s-21.4 48-48 48-48-21.4-48-48 21.4-48 48-48z m288 836c0 6.6-5.4 12-12 12H236c-6.6 0-12-5.4-12-12V236c0-6.6 5.4-12 12-12h84v72c0 13.2 10.8 24 24 24h336c13.2 0 24-10.8 24-24v-72h84c6.6 0 12 5.4 12 12z" p-id="22408"></path></svg>
|
After Width: | Height: | Size: 779 B |
BIN
docs/logo/assets/format-list-bulleted-type.png
Normal file
After Width: | Height: | Size: 2.7 KiB |
1
docs/logo/assets/format-list-bulleted-type.svg
Normal file
@ -0,0 +1 @@
|
|||||||
|
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1660718050496" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1010" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M213.333333 405.333333L320 597.333333h-213.333333L213.333333 405.333333M128 170.666667h170.666667v170.666666H128V170.666667m85.333333 682.666666a85.333333 85.333333 0 0 0 85.333334-85.333333 85.333333 85.333333 0 0 0-85.333334-85.333333 85.333333 85.333333 0 0 0-85.333333 85.333333 85.333333 85.333333 0 0 0 85.333333 85.333333M384 213.333333v85.333334h512V213.333333H384m0 597.333334h512v-85.333334H384v85.333334m0-256h512v-85.333334H384v85.333334z" fill="" p-id="1011"></path></svg>
|
After Width: | Height: | Size: 862 B |
BIN
docs/logo/logo-high.psd
Normal file
BIN
docs/logo/logo-medium.psd
Normal file
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 17 KiB |
BIN
public/logo.png
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 17 KiB |
@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"version": "1.1.1",
|
"version": "1.1.2",
|
||||||
"pluginName": "剪贴板",
|
"pluginName": "剪贴板",
|
||||||
"description": "强大的剪贴板管理工具",
|
"description": "强大的剪贴板管理工具",
|
||||||
"author": "ZiuChen",
|
"author": "ZiuChen",
|
||||||
|
@ -88,12 +88,6 @@ class DB {
|
|||||||
this.updateDataBase()
|
this.updateDataBase()
|
||||||
this.updateDataBaseLocal()
|
this.updateDataBaseLocal()
|
||||||
}
|
}
|
||||||
filterDataBaseViaData(key) {
|
|
||||||
// 过滤展示数据
|
|
||||||
const filterValue = key.toLowerCase()
|
|
||||||
const textItems = this.dataBase.data.filter((item) => item.type === 'text')
|
|
||||||
return textItems.filter((item) => item.data.toLowerCase().indexOf(filterValue) !== -1)
|
|
||||||
}
|
|
||||||
filterDataBaseViaId(id) {
|
filterDataBaseViaId(id) {
|
||||||
return this.dataBase.data.filter((item) => item.id === id)
|
return this.dataBase.data.filter((item) => item.id === id)
|
||||||
}
|
}
|
||||||
@ -185,7 +179,6 @@ const copy = (item) => {
|
|||||||
utools.copyFile(paths)
|
utools.copyFile(paths)
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
utools.outPlugin()
|
|
||||||
utools.hideMainWindow()
|
utools.hideMainWindow()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -22,10 +22,10 @@
|
|||||||
>
|
>
|
||||||
查看全部
|
查看全部
|
||||||
</div>
|
</div>
|
||||||
{{ item.data.slice(0, 500).trim() }}
|
<div>{{ item.data.slice(0, 500).trim() }}</div>
|
||||||
</template>
|
</template>
|
||||||
<template v-if="item.type === 'image'">
|
<template v-if="item.type === 'image'">
|
||||||
<img :src="item.data" alt="Image" />
|
<img class="clip-data-image" :src="item.data" alt="Image" />
|
||||||
<div class="clip-data-status">{{ item.size }}</div>
|
<div class="clip-data-status">{{ item.size }}</div>
|
||||||
</template>
|
</template>
|
||||||
<template v-if="item.type === 'file'">
|
<template v-if="item.type === 'file'">
|
||||||
@ -34,7 +34,7 @@
|
|||||||
v-if="JSON.parse(item.data).length >= 8"
|
v-if="JSON.parse(item.data).length >= 8"
|
||||||
@click.stop="handleDataClick(item)"
|
@click.stop="handleDataClick(item)"
|
||||||
>
|
>
|
||||||
点此查看全部>>
|
查看全部
|
||||||
</div>
|
</div>
|
||||||
<FileList :data="JSON.parse(item.data)" />
|
<FileList :data="JSON.parse(item.data)" />
|
||||||
</template>
|
</template>
|
||||||
|
@ -45,16 +45,20 @@
|
|||||||
white-space: pre-wrap;
|
white-space: pre-wrap;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
color: @text-color;
|
color: @text-color;
|
||||||
background-color: @bg-color;
|
img.clip-data-image {
|
||||||
img {
|
max-height: 140px; // 比外框 max-height少一点 因为有 5px的边框
|
||||||
max-height: 150px;
|
|
||||||
max-width: 90%;
|
max-width: 90%;
|
||||||
|
padding: 5px;
|
||||||
|
background-color: @text-color-lighter;
|
||||||
|
border-radius: 5px;
|
||||||
}
|
}
|
||||||
.clip-data-status {
|
.clip-data-status {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
width: fit-content;
|
width: fit-content;
|
||||||
color: @bg-color;
|
color: @bg-color;
|
||||||
background-color: @text-color;
|
background-color: @text-color-lighter;
|
||||||
|
border-radius: 5px;
|
||||||
|
padding: 3px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -32,30 +32,16 @@ const showList = ref([]) // 展示的数据
|
|||||||
|
|
||||||
const updateShowList = (type) => {
|
const updateShowList = (type) => {
|
||||||
// 更新显示列表
|
// 更新显示列表
|
||||||
if (type === 'all') {
|
|
||||||
if (filterText.value) {
|
|
||||||
// 有过滤词 则过滤掉图片
|
|
||||||
showList.value = list.value
|
showList.value = list.value
|
||||||
.filter((item) => item.type !== 'image')
|
.filter((item) => (type === 'all' ? item : item.type === type)) // 是 all则返回所有 否则按照 type返回
|
||||||
.filter((item) => item.data.indexOf(filterText.value) !== -1)
|
.filter((item) => (filterText.value ? item.type !== 'image' : item)) // 有过滤词 排除掉图片 DataURL
|
||||||
.slice(0, GAP)
|
.filter(
|
||||||
} else {
|
(item) =>
|
||||||
// 无过滤词 直接更新
|
filterText.value
|
||||||
showList.value = list.value
|
? item.data.toLowerCase().indexOf(filterText.value.toLowerCase()) !== -1 // 有过滤词 不区分大小写检索
|
||||||
.filter((item) => item.data.indexOf(filterText.value) !== -1)
|
: item // 无过滤词 返回全部
|
||||||
.slice(0, GAP)
|
)
|
||||||
}
|
.slice(0, GAP) // 重新切分懒加载列表
|
||||||
} else if (type === 'image') {
|
|
||||||
// 排除掉对图片 DataURL的筛选
|
|
||||||
showList.value = list.value.filter((item) => item.type === type).slice(0, GAP)
|
|
||||||
} else {
|
|
||||||
// `file`类型 在stringify的data里搜
|
|
||||||
// `text`类型 在data里搜
|
|
||||||
showList.value = list.value
|
|
||||||
.filter((item) => item.type === type)
|
|
||||||
.filter((item) => item.data.indexOf(filterText.value) !== -1)
|
|
||||||
.slice(0, GAP)
|
|
||||||
}
|
|
||||||
window.toTop()
|
window.toTop()
|
||||||
}
|
}
|
||||||
|
|
||||||
|