v1.8.0: YandexGPT-only NLP, unknown questions system, callback dedup, consent flow fixes, DELETE cascade, UTC+3, auto-detect sidebar menu, tel:/mailto: links
This commit is contained in:
@@ -44,12 +44,12 @@
|
||||
<textarea name="assistant_role" id="assistant_role" placeholder="Описание роли бота..."></textarea>
|
||||
<div class="hint">Будет использована для формирования системного промпта YandexGPT</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="form-group full-width">
|
||||
<label>MAX-бот ID</label>
|
||||
<input type="text" name="max_bot_id" id="max_bot_id" placeholder="Токен бота">
|
||||
<div class="hint">Токен чат-бота из платформы MAX</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="form-group full-width">
|
||||
<label>Email поддержки</label>
|
||||
<input type="email" name="support_email" id="support_email" placeholder="zakaz@aegisone.ru">
|
||||
<div class="hint">На этот email приходят уведомления о новых заявках</div>
|
||||
@@ -60,7 +60,7 @@
|
||||
<div class="hint">Тема email-уведомления об эскалации</div>
|
||||
</div>
|
||||
<div class="form-actions">
|
||||
<button type="submit" class="btn btn-primary">Сохранить настройки</button>
|
||||
<button type="button" class="btn btn-primary" onclick="saveSettings()">Сохранить настройки</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
@@ -92,31 +92,28 @@ function switchTab(name){
|
||||
}
|
||||
}
|
||||
|
||||
document.getElementById('bot-settings-form').addEventListener('submit', function(e){
|
||||
e.preventDefault();
|
||||
function saveSettings(){
|
||||
var data = {};
|
||||
this.querySelectorAll('input, textarea').forEach(function(el){
|
||||
document.querySelectorAll('#bot-settings-form input, #bot-settings-form textarea').forEach(function(el){
|
||||
if(el.name) data[el.name] = el.value;
|
||||
});
|
||||
fetch('/service/api/bot/settings/save', {
|
||||
method: 'POST', headers: {'Content-Type': 'application/json'},
|
||||
body: JSON.stringify(data)
|
||||
body: JSON.stringify(data), credentials: 'include'
|
||||
}).then(function(r){ return r.json() }).then(function(d){
|
||||
if(d.ok) showNotification('Настройки сохранены', 'success');
|
||||
else showNotification('Ошибка: ' + (d.error || 'сохранения'), 'error');
|
||||
}).catch(function(){
|
||||
}).catch(function(err){
|
||||
console.error('Save settings error:', err);
|
||||
showNotification('Ошибка соединения', 'error');
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
fetch('/service/api/bot/settings').then(function(r){ return r.json() }).then(function(d){
|
||||
['assistant_name','assistant_role','support_email','email_subject','max_bot_id'].forEach(function(k){
|
||||
var el = document.getElementById(k);
|
||||
if(el) el.value = d[k] || '';
|
||||
});
|
||||
if(document.getElementById('max_bot_id') && !document.getElementById('max_bot_id').value){
|
||||
document.getElementById('max_bot_id').value = 'f9LHodD0cOKkk03DYXj906MdIeRs...';
|
||||
}
|
||||
});
|
||||
</script>
|
||||
{% endblock %}
|
||||
Reference in New Issue
Block a user