From 8189a513e19fc857828000e5ceb95988dbdbff4d Mon Sep 17 00:00:00 2001 From: aaaamoooo Date: Wed, 21 Oct 2026 10:43:37 +0000 Subject: [PATCH] feat(web): drop per-binding list from customer credentials tab (item 15) The tab now shows only the subscription token and the shared credential set. The Reality public key moved to the node edit form (item 17) and the socks username to the node itself (item 21), so nothing the bindings list showed is lost. Display-only change: the credentials endpoint payload is unchanged. --- public/app.js | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/public/app.js b/public/app.js index 358fd12..2799dc1 100644 --- a/public/app.js +++ b/public/app.js @@ -627,11 +627,11 @@ function renderCredentialsPane(customer) { const data = customerFormState.credentials; if (!data) { pane.innerHTML = '
加载中…
'; return; } const creds = data.credentials || {}; - const bindings = (data.bindings || []).map((entry) => `
-
${esc(entry.nodeName)}${esc(statusText[entry.status] || entry.status)}${esc(entry.protocol)}
- ${entry.username ? credRowHTML('用户名', entry.username) : ''} - ${entry.realityPublicKey ? credRowHTML('Reality 公钥', entry.realityPublicKey) : ''} -
`).join(''); + // Round-3 item 15: the per-binding list (node name / status / protocol + // / Reality public key) is gone — the tab shows only the subscription + // token and the one shared credential set. Reality keys live on the + // node edit form now (item 17); the socks username lives on the node + // (item 21). Backend payload unchanged. pane.innerHTML = `
订阅
订阅令牌${esc(data.subscriptionToken || '—')} @@ -640,8 +640,7 @@ function renderCredentialsPane(customer) { ${credRowHTML('UUID', creds.clientId)} ${credRowHTML('密码', creds.password)} ${credRowHTML('Reality Short ID', creds.shortId)} -
- ${bindings || '
尚未关联节点
'}`; +
`; } function linkStatusLine(customer, source) {