feat: upgrade to V1.2 - Tags, Click Stats, and Robust WebDAV

- add Tagging system (backend and frontend)
- add Click count statistics and redirection logic
- add config.example.py
- fix WebDAV MKCOL 405 error and response handling
- fix redirection loop during force password change
- audit SQL queries for security
This commit is contained in:
OpenClaw Agent
2026-02-13 07:58:11 +08:00
parent 521cd9ba42
commit c0cdd146b1
11 changed files with 1559 additions and 749 deletions

View File

@@ -46,6 +46,11 @@
<input type="text" id="serviceDesc" class="input" placeholder="简短描述">
</div>
<div class="form-group">
<label>标签 (英文逗号分隔)</label>
<input type="text" id="serviceTags" class="input" placeholder="工具, 开发, 常用">
</div>
<div class="form-row">
<div class="form-group">
<label>图标emoji</label>
@@ -593,6 +598,7 @@
document.getElementById('serviceName').value = service.name;
document.getElementById('serviceUrl').value = service.url;
document.getElementById('serviceDesc').value = service.description || '';
document.getElementById('serviceTags').value = service.tags || '';
document.getElementById('serviceIcon').value = service.icon || '';
document.getElementById('serviceCategory').value = service.category;
document.getElementById('serviceSort').value = service.sort_order;
@@ -611,6 +617,7 @@
name: document.getElementById('serviceName').value,
url: document.getElementById('serviceUrl').value,
description: document.getElementById('serviceDesc').value,
tags: document.getElementById('serviceTags').value,
icon: document.getElementById('serviceIcon').value,
category: document.getElementById('serviceCategory').value,
sort_order: parseInt(document.getElementById('serviceSort').value) || 0,