Files
YMhut-box-C-/box-old/src/js/tools/urlTool.js
T
QWQLwToo 46a3674381
build-winui / winui (push) Has been cancelled
Add legacy Electron app
2026-06-26 13:29:02 +08:00

40 lines
1.9 KiB
JavaScript

import BaseTool from '../baseTool.js';
export default class UrlTool extends BaseTool {
constructor() {
super('url-tool', 'URL 编码/解码');
}
render() {
return `
<div class="page-container" style="padding: 20px; display:flex; flex-direction:column; gap:15px; height:100%;">
<div class="section-header"><button class="back-btn ripple" id="back-btn"><i class="fas fa-arrow-left"></i></button><h1>${this.name}</h1></div>
<div style="flex:1; display:flex; flex-direction:column; gap:10px;">
<textarea id="url-input" class="common-textarea" placeholder="输入 URL..." style="flex:1;"></textarea>
<div style="display:flex; gap:10px; justify-content:center;">
<button id="btn-encode" class="action-btn ripple"><i class="fas fa-arrow-down"></i> 编码 (Encode)</button>
<button id="btn-decode" class="action-btn ripple"><i class="fas fa-arrow-up"></i> 解码 (Decode)</button>
</div>
<textarea id="url-output" class="common-textarea" placeholder="结果..." style="flex:1;"></textarea>
</div>
</div>
`;
}
init() {
document.getElementById('back-btn').addEventListener('click', () => window.mainPage.navigateTo('toolbox'));
const input = document.getElementById('url-input');
const output = document.getElementById('url-output');
document.getElementById('btn-encode').addEventListener('click', () => {
output.value = encodeURIComponent(input.value);
});
document.getElementById('btn-decode').addEventListener('click', () => {
try {
output.value = decodeURIComponent(input.value);
} catch (e) {
this._notify('错误', '无效的 URL 编码', 'error');
}
});
}
}