mirror of
https://github.com/ZiuChen/ClipboardManager.git
synced 2025-06-08 06:16:18 +08:00
feat: 完善分词功能样式与权限验证
This commit is contained in:
parent
b34107a64d
commit
7fe706d94f
@ -16,9 +16,10 @@
|
|||||||
<template v-if="fullData.type === 'text'">
|
<template v-if="fullData.type === 'text'">
|
||||||
<div class="clip-full-content" v-text="fullData.data"></div>
|
<div class="clip-full-content" v-text="fullData.data"></div>
|
||||||
</template>
|
</template>
|
||||||
<div v-else class="clip-full-content">
|
<div v-else-if="fullData.type === 'file'" class="clip-full-content">
|
||||||
<FileList :data="JSON.parse(fullData.data)"></FileList>
|
<FileList :data="JSON.parse(fullData.data)"></FileList>
|
||||||
</div>
|
</div>
|
||||||
|
<ClipWordBreak :words="splitWords"></ClipWordBreak>
|
||||||
</div>
|
</div>
|
||||||
</Transition>
|
</Transition>
|
||||||
<div class="clip-overlay" v-show="isShow" @click="onOverlayClick"></div>
|
<div class="clip-overlay" v-show="isShow" @click="onOverlayClick"></div>
|
||||||
@ -27,7 +28,8 @@
|
|||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
import FileList from './FileList.vue'
|
import FileList from './FileList.vue'
|
||||||
import { onMounted } from 'vue'
|
import ClipWordBreak from './ClipWordBreak.vue'
|
||||||
|
import { ref, onMounted } from 'vue'
|
||||||
|
|
||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
isShow: {
|
isShow: {
|
||||||
@ -67,6 +69,8 @@ const handleBtnClick = (id) => {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const splitWords = ref([])
|
||||||
|
|
||||||
const fetchUserInfo = async () => {
|
const fetchUserInfo = async () => {
|
||||||
return utools.fetchUserServerTemporaryToken().then(({ token, expired_at }) => {
|
return utools.fetchUserServerTemporaryToken().then(({ token, expired_at }) => {
|
||||||
return {
|
return {
|
||||||
@ -77,7 +81,8 @@ const fetchUserInfo = async () => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const fetchWordBreakResult = async (origin) => {
|
const fetchWordBreakResult = async (origin) => {
|
||||||
const url = 'https://service-a0pyrkub-1304937021.sh.apigw.tencentcs.com/release/v1/word-break'
|
const baseUrl = 'https://service-a0pyrkub-1304937021.sh.apigw.tencentcs.com/release'
|
||||||
|
const url = baseUrl + '/v1/word-break'
|
||||||
const info = await fetchUserInfo()
|
const info = await fetchUserInfo()
|
||||||
console.log(info)
|
console.log(info)
|
||||||
return fetch(url, {
|
return fetch(url, {
|
||||||
@ -86,7 +91,8 @@ const fetchWordBreakResult = async (origin) => {
|
|||||||
'Content-Type': 'application/json'
|
'Content-Type': 'application/json'
|
||||||
},
|
},
|
||||||
body: JSON.stringify({
|
body: JSON.stringify({
|
||||||
word: origin
|
word: origin,
|
||||||
|
...info
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
.then((res) => res.json())
|
.then((res) => res.json())
|
||||||
@ -94,6 +100,9 @@ const fetchWordBreakResult = async (origin) => {
|
|||||||
if (code !== 0) {
|
if (code !== 0) {
|
||||||
console.log(msg)
|
console.log(msg)
|
||||||
} else {
|
} else {
|
||||||
|
splitWords.value = data.splitWord.filter(
|
||||||
|
(w) => w !== '' && w !== ' ' && w.indexOf('\n') === -1
|
||||||
|
)
|
||||||
console.log(data.splitWord)
|
console.log(data.splitWord)
|
||||||
console.log(data.extractWord)
|
console.log(data.extractWord)
|
||||||
}
|
}
|
||||||
|
22
src/cpns/ClipWordBreak.vue
Normal file
22
src/cpns/ClipWordBreak.vue
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
<template>
|
||||||
|
<div class="clip-word-break">
|
||||||
|
<div class="clip-word-break-content">
|
||||||
|
<template v-for="w of words">
|
||||||
|
<div class="clip-word-break-content-item">{{ w }}</div>
|
||||||
|
</template>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script setup>
|
||||||
|
const props = defineProps({
|
||||||
|
words: {
|
||||||
|
type: Array,
|
||||||
|
required: true
|
||||||
|
}
|
||||||
|
})
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="less" scoped>
|
||||||
|
@import '../style/index.less';
|
||||||
|
</style>
|
19
src/style/cpns/clip-word-break.less
Normal file
19
src/style/cpns/clip-word-break.less
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
.clip-word-break {
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
padding: 10px;
|
||||||
|
&-content-item {
|
||||||
|
display: inline-block;
|
||||||
|
vertical-align: middle;
|
||||||
|
white-space: normal;
|
||||||
|
word-break: break-all;
|
||||||
|
word-wrap: break-word;
|
||||||
|
padding: 5px;
|
||||||
|
margin: 2px 5px;
|
||||||
|
cursor: pointer;
|
||||||
|
user-select: none;
|
||||||
|
background-color: @text-bg-color;
|
||||||
|
border-radius: 5px;
|
||||||
|
}
|
||||||
|
}
|
@ -5,6 +5,7 @@
|
|||||||
@import (multiple) './cpns/clip-item-list.less';
|
@import (multiple) './cpns/clip-item-list.less';
|
||||||
@import (multiple) './cpns/clip-search.less';
|
@import (multiple) './cpns/clip-search.less';
|
||||||
@import (multiple) './cpns/clip-switch.less';
|
@import (multiple) './cpns/clip-switch.less';
|
||||||
|
@import (multiple) './cpns/clip-word-break.less';
|
||||||
@import (multiple) './cpns/file-list.less';
|
@import (multiple) './cpns/file-list.less';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user