优化
This commit is contained in:
@@ -96,7 +96,7 @@ let navTools = {
|
|||||||
component: 'MinecraftDynmapRenderdataGen',
|
component: 'MinecraftDynmapRenderdataGen',
|
||||||
enabled: false
|
enabled: false
|
||||||
},
|
},
|
||||||
'uuidConverter': {
|
'uuid-converter': {
|
||||||
title: 'UUID 转换',
|
title: 'UUID 转换',
|
||||||
desc: 'UUID 与 UUID Least、UUID Most 相互转换。',
|
desc: 'UUID 与 UUID Least、UUID Most 相互转换。',
|
||||||
component: 'MinecraftUUIDConverter',
|
component: 'MinecraftUUIDConverter',
|
||||||
@@ -125,8 +125,8 @@ let navTools = {
|
|||||||
title: 'WebSocket',
|
title: 'WebSocket',
|
||||||
desc: 'WebSocket 测试工具',
|
desc: 'WebSocket 测试工具',
|
||||||
component: 'OtherWebSocket',
|
component: 'OtherWebSocket',
|
||||||
update: '2021-11-08',
|
update: '2021-11-14',
|
||||||
version: '2',
|
version: '3',
|
||||||
enabled: true
|
enabled: true
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
@@ -1,6 +1,31 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="tool-page">
|
<div class="tool-page">
|
||||||
|
|
||||||
|
<!-- 输入 -->
|
||||||
|
<div class="inputs">
|
||||||
|
<div class="title">输入</div>
|
||||||
|
<div class="content">
|
||||||
|
<div class="input-address">
|
||||||
|
<div class="title">连接地址</div>
|
||||||
|
<el-input v-model="address.suffix">
|
||||||
|
<el-select slot="prepend" v-model="address.prefix">
|
||||||
|
<el-option label="ws://" value="ws://"></el-option>
|
||||||
|
<el-option label="wss://" value="wss://"></el-option>
|
||||||
|
</el-select>
|
||||||
|
</el-input>
|
||||||
|
</div>
|
||||||
|
<div class="input-send">
|
||||||
|
<div class="title">发送内容</div>
|
||||||
|
<el-input
|
||||||
|
v-model="inputs"
|
||||||
|
type="textarea"
|
||||||
|
placeholder="在此处输入要发送的内容(换行符会被移除)"
|
||||||
|
:rows="2"
|
||||||
|
></el-input>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<!-- 操作 -->
|
<!-- 操作 -->
|
||||||
<div class="ctrl">
|
<div class="ctrl">
|
||||||
<div class="title">操作</div>
|
<div class="title">操作</div>
|
||||||
@@ -42,31 +67,6 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- 输入 -->
|
|
||||||
<div class="inputs">
|
|
||||||
<div class="title">输入</div>
|
|
||||||
<div class="content">
|
|
||||||
<div class="input-address">
|
|
||||||
<div class="title">连接地址</div>
|
|
||||||
<el-input v-model="address.suffix">
|
|
||||||
<el-select slot="prepend" v-model="address.prefix">
|
|
||||||
<el-option label="ws://" value="ws://"></el-option>
|
|
||||||
<el-option label="wss://" value="wss://"></el-option>
|
|
||||||
</el-select>
|
|
||||||
</el-input>
|
|
||||||
</div>
|
|
||||||
<div class="input-send">
|
|
||||||
<div class="title">发送内容</div>
|
|
||||||
<el-input
|
|
||||||
v-model="inputs"
|
|
||||||
type="textarea"
|
|
||||||
placeholder="在此处输入要发送的内容(换行符会被移除)"
|
|
||||||
:rows="2"
|
|
||||||
></el-input>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- 日志 -->
|
<!-- 日志 -->
|
||||||
<div class="logs">
|
<div class="logs">
|
||||||
<div class="title">日志</div>
|
<div class="title">日志</div>
|
||||||
|
@@ -38,7 +38,7 @@
|
|||||||
|
|
||||||
<!-- 内容 -->
|
<!-- 内容 -->
|
||||||
<el-main class="home-content">
|
<el-main class="home-content">
|
||||||
<div class="wrapper" @contextmenu.prevent>
|
<div class="wrapper">
|
||||||
|
|
||||||
<!-- 搜索引擎 -->
|
<!-- 搜索引擎 -->
|
||||||
<div v-show="show.searchEngine" class="search-engine">
|
<div v-show="show.searchEngine" class="search-engine">
|
||||||
@@ -162,8 +162,13 @@
|
|||||||
@click="openLink(data.link, data.showOnly)"
|
@click="openLink(data.link, data.showOnly)"
|
||||||
@contextmenu.prevent="openDetail(data)"
|
@contextmenu.prevent="openDetail(data)"
|
||||||
>
|
>
|
||||||
<span class="title">{{ node.label }}</span>
|
<div class="row title">
|
||||||
<span class="link">{{ data.link }}</span>
|
<span>{{ node.label }}</span>
|
||||||
|
<span v-if="data.desc"> - {{ data.desc }}</span>
|
||||||
|
</div>
|
||||||
|
<div class="row link">
|
||||||
|
<span>{{ data.link }}</span>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</el-tree>
|
</el-tree>
|
||||||
|
|
||||||
@@ -589,188 +594,188 @@ export default {
|
|||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
|
}
|
||||||
|
|
||||||
.search-bar {
|
.search-bar {
|
||||||
@barHeight: 2.8rem;
|
@barHeight: 2.8rem;
|
||||||
@barRadius: 0.3rem;
|
@barRadius: 0.3rem;
|
||||||
|
|
||||||
display: flex;
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
position: sticky;
|
||||||
|
top: 2.5rem;
|
||||||
|
z-index: 100;
|
||||||
|
width: 100%;
|
||||||
|
max-width: 40rem;
|
||||||
|
height: @barHeight;
|
||||||
|
border-radius: @barRadius;
|
||||||
|
background-color: #FFF;
|
||||||
|
|
||||||
|
&.suggest {
|
||||||
|
border-radius: @barRadius @barRadius 0 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.input {
|
||||||
|
flex-grow: 1;
|
||||||
|
padding-left: 1rem;
|
||||||
|
width: 0;
|
||||||
|
height: 100%;
|
||||||
|
outline: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.btn {
|
||||||
|
display: inline-flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
position: sticky;
|
justify-content: center;
|
||||||
top: 2.5rem;
|
flex-shrink: 0;
|
||||||
z-index: 100;
|
width: 2.8rem;
|
||||||
width: 100%;
|
height: 2.8rem;
|
||||||
max-width: 40rem;
|
background-color: transparent;
|
||||||
height: @barHeight;
|
font-size: 1.2rem;
|
||||||
border-radius: @barRadius;
|
cursor: pointer;
|
||||||
background-color: #FFF;
|
}
|
||||||
|
|
||||||
&.suggest {
|
.btn-clear {
|
||||||
border-radius: @barRadius @barRadius 0 0;
|
width: 2rem;
|
||||||
}
|
opacity: 0.5;
|
||||||
|
transition: opacity @transitionTime;
|
||||||
|
|
||||||
.input {
|
&:hover {
|
||||||
flex-grow: 1;
|
opacity: 1;
|
||||||
padding-left: 1rem;
|
|
||||||
width: 0;
|
|
||||||
height: 100%;
|
|
||||||
outline: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.btn {
|
|
||||||
display: inline-flex;
|
|
||||||
align-items: center;
|
|
||||||
justify-content: center;
|
|
||||||
flex-shrink: 0;
|
|
||||||
width: 2.8rem;
|
|
||||||
height: 2.8rem;
|
|
||||||
background-color: transparent;
|
|
||||||
font-size: 1.2rem;
|
|
||||||
cursor: pointer;
|
|
||||||
}
|
|
||||||
|
|
||||||
.btn-clear {
|
|
||||||
width: 2rem;
|
|
||||||
opacity: 0.5;
|
|
||||||
transition: opacity @transitionTime;
|
|
||||||
|
|
||||||
&:hover {
|
|
||||||
opacity: 1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.btn-search {
|
|
||||||
border-radius: 0 @barRadius @barRadius 0;
|
|
||||||
color: @colorPrimary;
|
|
||||||
transition: background @transitionTime, color @transitionTime;
|
|
||||||
|
|
||||||
&:hover {
|
|
||||||
background-color: @colorPrimary;
|
|
||||||
color: #FFF;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
&.suggest .btn-search {
|
|
||||||
border-bottom-right-radius: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.suggestion {
|
|
||||||
display: block;
|
|
||||||
visibility: hidden;
|
|
||||||
position: absolute;
|
|
||||||
top: @barHeight;
|
|
||||||
width: 100%;
|
|
||||||
border-top: 0.1rem solid #EEE;
|
|
||||||
border-radius: 0 0 @barRadius @barRadius;
|
|
||||||
background-color: #FFF;
|
|
||||||
overflow: hidden;
|
|
||||||
// 延迟隐藏
|
|
||||||
transition: visibility 0.2s;
|
|
||||||
|
|
||||||
ul {
|
|
||||||
padding: 0.5rem 0;
|
|
||||||
list-style: none;
|
|
||||||
line-height: 1.5rem;
|
|
||||||
font-size: 0.9rem;
|
|
||||||
color: #000;
|
|
||||||
}
|
|
||||||
|
|
||||||
li {
|
|
||||||
display: flex;
|
|
||||||
align-items: center;
|
|
||||||
justify-content: space-between;
|
|
||||||
padding: 0.5rem 1rem;
|
|
||||||
cursor: pointer;
|
|
||||||
|
|
||||||
&:hover {
|
|
||||||
background-color: @colorWhite;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.label {
|
|
||||||
flex-grow: 1;
|
|
||||||
padding-right: 0.5em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.tag {
|
|
||||||
flex-shrink: 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
&.suggest .suggestion {
|
|
||||||
visibility: visible;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.search-type {
|
.btn-search {
|
||||||
display: block;
|
border-radius: 0 @barRadius @barRadius 0;
|
||||||
margin: 4.5rem 0;
|
color: @colorPrimary;
|
||||||
font-size: 1rem;
|
transition: background @transitionTime, color @transitionTime;
|
||||||
transition: opacity calc(@transitionTime * 4);
|
|
||||||
|
|
||||||
&.fade {
|
&:hover {
|
||||||
opacity: 0.5;
|
background-color: @colorPrimary;
|
||||||
|
color: #FFF;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
&.suggest .btn-search {
|
||||||
|
border-bottom-right-radius: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.suggestion {
|
||||||
|
display: block;
|
||||||
|
visibility: hidden;
|
||||||
|
position: absolute;
|
||||||
|
top: @barHeight;
|
||||||
|
width: 100%;
|
||||||
|
border-top: 0.1rem solid #EEE;
|
||||||
|
border-radius: 0 0 @barRadius @barRadius;
|
||||||
|
background-color: #FFF;
|
||||||
|
overflow: hidden;
|
||||||
|
// 延迟隐藏
|
||||||
|
transition: visibility 0.2s;
|
||||||
|
|
||||||
|
ul {
|
||||||
|
padding: 0.5rem 0;
|
||||||
|
list-style: none;
|
||||||
|
line-height: 1.5rem;
|
||||||
|
font-size: 0.9rem;
|
||||||
|
color: #000;
|
||||||
}
|
}
|
||||||
|
|
||||||
/deep/ .category {
|
li {
|
||||||
padding: 0.5rem 0;
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: space-between;
|
||||||
|
padding: 0.5rem 1rem;
|
||||||
|
cursor: pointer;
|
||||||
|
|
||||||
.title {
|
&:hover {
|
||||||
margin: 0.5rem 0;
|
background-color: @colorWhite;
|
||||||
text-align: left;
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.label {
|
||||||
|
flex-grow: 1;
|
||||||
|
padding-right: 0.5em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tag {
|
||||||
|
flex-shrink: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
&.suggest .suggestion {
|
||||||
|
visibility: visible;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.search-type {
|
||||||
|
display: block;
|
||||||
|
margin: 4.5rem 0;
|
||||||
|
font-size: 1rem;
|
||||||
|
transition: opacity calc(@transitionTime * 4);
|
||||||
|
|
||||||
|
&.fade {
|
||||||
|
opacity: 0.5;
|
||||||
|
}
|
||||||
|
|
||||||
|
/deep/ .category {
|
||||||
|
padding: 0.5rem 0;
|
||||||
|
|
||||||
|
.title {
|
||||||
|
margin: 0.5rem 0;
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
.el-radio {
|
||||||
|
margin: 0.5rem;
|
||||||
|
padding: 0.8rem 1rem;
|
||||||
|
width: 15rem;
|
||||||
|
border-radius: 0.25rem;
|
||||||
|
border-left: solid 0.2rem transparent;
|
||||||
|
background-color: #FFF;
|
||||||
|
text-align: left;
|
||||||
|
font-weight: normal;
|
||||||
|
transition: border @transitionTime;
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
border-left-color: @colorSecondary;
|
||||||
|
color: @colorSecondary;
|
||||||
}
|
}
|
||||||
|
|
||||||
.el-radio {
|
&.is-checked {
|
||||||
margin: 0.5rem;
|
border-left-color: @colorPrimary;
|
||||||
padding: 0.8rem 1rem;
|
color: @colorPrimary;
|
||||||
width: 15rem;
|
}
|
||||||
border-radius: 0.25rem;
|
}
|
||||||
border-left: solid 0.2rem transparent;
|
|
||||||
background-color: #FFF;
|
|
||||||
text-align: left;
|
|
||||||
font-weight: normal;
|
|
||||||
transition: border @transitionTime;
|
|
||||||
|
|
||||||
&:hover {
|
.el-radio__input {
|
||||||
border-left-color: @colorSecondary;
|
display: none;
|
||||||
color: @colorSecondary;
|
}
|
||||||
}
|
|
||||||
|
|
||||||
&.is-checked {
|
.el-radio__label {
|
||||||
border-left-color: @colorPrimary;
|
display: flex;
|
||||||
color: @colorPrimary;
|
align-items: center;
|
||||||
}
|
padding: 0;
|
||||||
|
transition: color @transitionTime;
|
||||||
|
|
||||||
|
i {
|
||||||
|
display: inline-block;
|
||||||
|
padding: 0.125rem 0;
|
||||||
|
font-style: normal;
|
||||||
}
|
}
|
||||||
|
|
||||||
.el-radio__input {
|
.fn-icon {
|
||||||
display: none;
|
flex-shrink: 0;
|
||||||
|
margin-right: 0.4rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
.el-radio__label {
|
.name {
|
||||||
display: flex;
|
flex-shrink: 0;
|
||||||
align-items: center;
|
}
|
||||||
padding: 0;
|
|
||||||
transition: color @transitionTime;
|
|
||||||
|
|
||||||
i {
|
.desc {
|
||||||
display: inline-block;
|
flex-grow: 1;
|
||||||
padding: 0.125rem 0;
|
margin-left: 0.5rem;
|
||||||
font-style: normal;
|
font-size: 0.8rem;
|
||||||
}
|
color: #CCC;
|
||||||
|
|
||||||
.fn-icon {
|
|
||||||
flex-shrink: 0;
|
|
||||||
margin-right: 0.4rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.name {
|
|
||||||
flex-shrink: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.desc {
|
|
||||||
flex-grow: 1;
|
|
||||||
margin-left: 0.5rem;
|
|
||||||
font-size: 0.8rem;
|
|
||||||
color: #CCC;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -823,10 +828,11 @@ export default {
|
|||||||
flex-grow: 1;
|
flex-grow: 1;
|
||||||
width: 0;
|
width: 0;
|
||||||
|
|
||||||
> span {
|
> div {
|
||||||
display: block;
|
display: block;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
text-overflow: ellipsis;
|
text-overflow: ellipsis;
|
||||||
|
white-space: nowrap;
|
||||||
}
|
}
|
||||||
|
|
||||||
.title {
|
.title {
|
||||||
|
Reference in New Issue
Block a user