Restore working UI from v1.0.12, v1.0.18

This commit is contained in:
2026-07-24 09:10:50 +04:00
parent ada85febe9
commit 981ec66a9a
2 changed files with 6 additions and 10 deletions
+1 -1
View File
@@ -6,7 +6,7 @@ from routes.main import bp as main_bp
from routes.api import bp as api_bp from routes.api import bp as api_bp
from routes.api_test import bp as api_test_bp from routes.api_test import bp as api_test_bp
VERSION = "1.0.16" VERSION = "1.0.18"
app = Flask(__name__, template_folder="templates", static_folder="static") app = Flask(__name__, template_folder="templates", static_folder="static")
app.config["NUBES_API_ENDPOINT"] = os.getenv("NUBES_API_ENDPOINT", "https://lk-api-gateway-dev.ngcloud.ru/api/v1/svc") app.config["NUBES_API_ENDPOINT"] = os.getenv("NUBES_API_ENDPOINT", "https://lk-api-gateway-dev.ngcloud.ru/api/v1/svc")
+5 -9
View File
@@ -97,15 +97,13 @@ let selectedSvc=null, selectedOp=null, svcInstances=[];
// Load services — only dummy for now // Load services — only dummy for now
(async function(){ (async function(){
const el=document.getElementById('svc-list'); const el=document.getElementById('svc-list');
el.innerHTML='<span style="color:var(--muted);font-size:11px;">Загрузка...</span>';
try{ try{
const r=await fetch('/api/services'); const r=await fetch('/api/services');
if(!r.ok) throw new Error(r.status+' '+r.statusText);
const data=await r.json(); const data=await r.json();
const dummy=data.find(s=>s.svcId===1); const dummy=data.find(s=>s.svcId===1);
if(dummy){ el.innerHTML=`<div class="svc-item" data-svc-id="1" onclick="selectService(1)">1. ${dummy.svc}</div>`; } if(dummy) el.innerHTML=`<div class="svc-item active" data-svc-id="1" onclick="selectService(1)">1. ${dummy.svc}</div>`;
else el.innerHTML='<span style="color:var(--destructive);font-size:11px;">dummy не найден</span>'; selectService(1);
}catch(e){el.innerHTML='<span style="color:var(--destructive);font-size:11px;">Ошибка: '+e.message+'</span>';} }catch(e){el.innerHTML='<span style="color:var(--destructive);font-size:11px;">Ошибка загрузки</span>';}
})(); })();
async function selectService(svcId){ async function selectService(svcId){
@@ -142,13 +140,11 @@ async function selectOperation(opId,opName,svcId){
document.getElementById('params-card').style.display='block'; document.getElementById('params-card').style.display='block';
document.getElementById('btn-test').style.display='inline-flex'; document.getElementById('btn-test').style.display='inline-flex';
const displayName='autotest-'+svcId+'-'+Date.now().toString(36);
const r=await fetch('/api/params/'+opId); const r=await fetch('/api/params/'+opId);
const params=await r.json(); const params=await r.json();
const form=document.getElementById('params-form'); const form=document.getElementById('params-form');
form.innerHTML='<div class="param-row"><label class="req">displayName</label><input type="text" id="param-displayname" value="'+displayName+'"></div>' form.innerHTML=params.map(p=>{
+ params.map(p=>{
const req=p.isRequired; const req=p.isRequired;
const hasDfl=p.defaultValue!==null&&p.defaultValue!==undefined&&p.defaultValue!==''; const hasDfl=p.defaultValue!==null&&p.defaultValue!==undefined&&p.defaultValue!=='';
const labelCls=req?(hasDfl?'req':'req-nodfl'):''; const labelCls=req?(hasDfl?'req':'req-nodfl'):'';
@@ -191,7 +187,7 @@ async function runTest(){
svcOperationId:selectedOp.opId, svcOperationId:selectedOp.opId,
params, params,
instanceUid:instUid, instanceUid:instUid,
const displayName=document.getElementById('param-displayname')?.value||'autotest-'+selectedOp.svcId; displayName:'autotest-'+selectedOp.svcId
})}); })});
const d=await r.json(); const d=await r.json();
const cls=d.status==='OK'?'badge badge-success':'badge'; const cls=d.status==='OK'?'badge badge-success':'badge';