import $ from 'jquery' let apiSpec = null async function loadApiSpec() { try { const response = await fetch('/api.spec.json', { method: 'GET', headers: { 'Cache-Control': 'no-cache', 'Accept': 'application/json' } }) if (!response.ok) { throw new Error(`HTTP ${response.status}: ${response.statusText}`) } apiSpec = await response.json() console.log('API Spec loaded:', apiSpec) return apiSpec } catch (error) { console.error('Ошибка загрузки API спецификации:', error) $('#result').text('Ошибка загрузки API спецификации: ' + error.message) } } function populateServices() { const $serviceSelect = $('#service') $serviceSelect.empty() $serviceSelect.append('') Object.keys(apiSpec).forEach(serviceName => { $serviceSelect.append(``) }) } function populateMethods(serviceName) { const $methodSelect = $('#method') $methodSelect.empty() $methodSelect.append('') if (serviceName && apiSpec[serviceName] && apiSpec[serviceName].methods) { apiSpec[serviceName].methods.forEach(method => { $methodSelect.append(``) }) } } function createParamInputs(methodName, serviceName) { const $paramsContainer = $('#params-container') $paramsContainer.empty() if (!serviceName || !methodName) return const service = apiSpec[serviceName] if (!service || !service.methods) return const method = service.methods.find(m => m.name === methodName) if (!method || !method.params) return method.params.forEach(param => { const required = !param.optional ? ' (обязательно)' : '' const $paramDiv = $(`