Files
mihomo-patchbay/web/views/TokenGate.vue
T
im0o 71adcd60ef 界面文案改成中性措辞;延迟测试报出真实原因
原来那句「X 测不通」把两种要查不同地方的情况混在了一起。内核的语义是精确的
(hub/route/proxies.go:122-145):504 表示在给定超时内没有完成,503 表示连接建立失败
或测得延迟为 0。现在分开报,超时会写明是几秒,503 且内核没给具体错误时说明可能是
线路失效或本机到该服务器网络不通。

其余文案统一过一遍:「本机之外也能连」「这个名字已经被占用了」「还没做」这类口语改成
「允许来自其它主机的连接」「名称已存在」「尚未实现」。
2026-08-10 13:38:02 +08:00

94 lines
1.8 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<script setup lang="ts">
import { ref } from 'vue'
const emit = defineEmits<{ submit: [token: string] }>()
const value = ref('')
</script>
<template>
<div class="gate">
<form class="box" @submit.prevent="emit('submit', value)">
<h1>Patchbay</h1>
<p class="lead">需要访问令牌。</p>
<input
v-model="value"
class="field mono"
type="password"
autocomplete="off"
spellcheck="false"
placeholder="令牌"
autofocus
/>
<button class="go" type="submit" :disabled="!value.trim()">进入</button>
<p class="where">
令牌位于服务端配置文件的同级目录 <code>.patchbay-token</code>,启动时也会输出到控制台。
</p>
</form>
</div>
</template>
<style scoped>
.gate {
display: grid;
place-items: center;
min-height: 100%;
padding: var(--s-6);
}
.box {
width: 100%;
max-width: 360px;
display: flex;
flex-direction: column;
gap: var(--s-3);
}
h1 {
font-size: var(--t-2xl);
font-weight: 600;
letter-spacing: -0.01em;
}
.lead {
color: var(--c-text-soft);
margin-bottom: var(--s-2);
}
.field {
width: 100%;
padding: var(--s-3) var(--s-4);
border: 1px solid var(--c-border-strong);
border-radius: var(--r-sm);
background: var(--c-surface);
}
.field:focus {
border-color: var(--c-accent);
outline: none;
}
.go {
padding: var(--s-3) var(--s-4);
border: 1px solid transparent;
border-radius: var(--r-sm);
background: var(--c-accent);
color: #fff;
font-weight: 500;
cursor: pointer;
}
.go:disabled {
background: var(--c-surface-sunken);
color: var(--c-text-faint);
border-color: var(--c-border);
cursor: not-allowed;
}
.where {
color: var(--c-text-faint);
font-size: var(--t-sm);
line-height: 1.6;
margin-top: var(--s-2);
}
</style>