From a78364ebec5372a0491cbe665c9c82704ebdd5a8 Mon Sep 17 00:00:00 2001 From: wangjia <809946525@qq.com> Date: Mon, 27 Jul 2026 10:44:28 +0800 Subject: [PATCH] =?UTF-8?q?fix(proxy):=20=E6=B7=BB=E5=8A=A0=E8=A7=84?= =?UTF-8?q?=E5=88=99=E3=80=8C=E8=A7=84=E5=88=99=E7=B1=BB=E5=9E=8B=E3=80=8D?= =?UTF-8?q?=E6=94=B9=20chip=20=E9=80=89=E6=8B=A9=E5=99=A8(=E6=9B=BF?= =?UTF-8?q?=E5=8E=9F=E7=94=9F=20select)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 原生 ' + +'
'+_t('规则类型','Match type')+'' + +'
' +'' +'
'+_t('动作','Action')+'' +'
' +'' +'
'; - var act='direct'; + var act='direct', type='domain_suffix'; + win.querySelectorAll('#rtAddType .rt-chip').forEach(function(b){ b.addEventListener('click',function(){ type=b.dataset.type; win.querySelectorAll('#rtAddType .rt-chip').forEach(function(x){ x.classList.toggle('is-active',x===b); }); }); }); win.querySelectorAll('#rtActSeg button').forEach(function(b){ b.addEventListener('click',function(){ act=b.dataset.act; win.querySelectorAll('#rtActSeg button').forEach(function(x){ x.classList.toggle('is-active',x===b); }); }); }); win.querySelector('#rtAddClose').addEventListener('click',function(){ closeModal('rtAddModal'); }); win.querySelector('#rtAddCancel').addEventListener('click',function(){ closeModal('rtAddModal'); }); - win.querySelector('#rtAddOk').addEventListener('click',function(){ var v=(win.querySelector('#rtAddVal').value||'').trim(); if(!v){ win.querySelector('#rtAddVal').focus(); return; } addRuleRow(win.querySelector('#rtAddType').value,v,act,true); closeModal('rtAddModal'); }); + win.querySelector('#rtAddOk').addEventListener('click',function(){ var v=(win.querySelector('#rtAddVal').value||'').trim(); if(!v){ win.querySelector('#rtAddVal').focus(); return; } addRuleRow(type,v,act,true); closeModal('rtAddModal'); }); openModal('rtAddModal'); } diff --git a/design/prototype/screens/ui-mobile.html b/design/prototype/screens/ui-mobile.html index 8593dd0..2d1ebe2 100644 --- a/design/prototype/screens/ui-mobile.html +++ b/design/prototype/screens/ui-mobile.html @@ -224,6 +224,10 @@ .rt-sheet.is-open{ display:flex; } .rt-win{ background:var(--surface); border-radius:var(--radius-lg); padding:20px; width:100%; max-width:340px; max-height:86%; overflow:auto; box-shadow:var(--shadow-lg); position:relative; } + .rt-chips{ display:flex; flex-wrap:wrap; gap:var(--space-2); } + .rt-chip{ padding:7px 13px; border-radius:var(--radius-full); border:1px solid var(--border); + background:var(--bg-subtle); color:var(--fg2); font-size:13px; font-family:inherit; cursor:pointer; } + .rt-chip.is-active{ background:var(--accent-subtle); border-color:var(--accent-border); color:var(--accent); font-weight:600; } /* 购买流程覆盖层(从账户页「兑换 & 购买」进入;移植 purchase.html 状态机,命名空间 .pur-*) */ #purchaseOverlay{ position:absolute; left:0; right:0; top:30px; bottom:0; z-index:45; @@ -2486,16 +2490,17 @@ $('#rowRouting').addEventListener('click', ()=>{ subOpen('routing'); renderRouti const win=document.getElementById('rtAddWin'); win.innerHTML='
'+_t('添加规则','Add rule')+'
' +'
' - +'' + +'
'+_t('规则类型','Match type')+'
' +'' +'
'+_t('动作','Action')+'
' +'
' +'
'; - let act='direct'; + let act='direct', type='domain_suffix'; + win.querySelectorAll('#rtAddType .rt-chip').forEach(b=>b.addEventListener('click',()=>{ type=b.dataset.type; win.querySelectorAll('#rtAddType .rt-chip').forEach(x=>x.classList.toggle('is-active',x===b)); })); win.querySelectorAll('#rtActSeg button').forEach(b=>b.addEventListener('click',()=>{ act=b.dataset.act; win.querySelectorAll('#rtActSeg button').forEach(x=>x.classList.toggle('is-active',x===b)); })); win.querySelector('#rtAddClose').addEventListener('click',()=>closeM('rtAddModal')); win.querySelector('#rtAddCancel').addEventListener('click',()=>closeM('rtAddModal')); - win.querySelector('#rtAddOk').addEventListener('click',()=>{ const v=(win.querySelector('#rtAddVal').value||'').trim(); if(!v){ win.querySelector('#rtAddVal').focus(); return; } addRuleRow(win.querySelector('#rtAddType').value,v,act,true); closeM('rtAddModal'); }); + win.querySelector('#rtAddOk').addEventListener('click',()=>{ const v=(win.querySelector('#rtAddVal').value||'').trim(); if(!v){ win.querySelector('#rtAddVal').focus(); return; } addRuleRow(type,v,act,true); closeM('rtAddModal'); }); openM('rtAddModal'); } function openImport(){