增加了小工具使用量统计

This commit is contained in:
ember 2025-05-17 00:02:40 +08:00
parent c367e575af
commit 0657849fc2
8 changed files with 35 additions and 6 deletions

1
dist/css/898.6cbcb5bc.css vendored Normal file
View File

@ -0,0 +1 @@
.widget-frame[data-v-01e2ea60]{width:100%;min-height:100vh;background-color:#f5f7fa}.frame-container[data-v-01e2ea60]{max-width:1200px;margin:0 auto;padding:2rem 1.5rem;padding-top:80px}.widget-header[data-v-01e2ea60]{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.widget-icon[data-v-01e2ea60],.widget-identity[data-v-01e2ea60]{display:flex;align-items:center}.widget-icon[data-v-01e2ea60]{font-size:2rem;color:#3273dc;margin-right:1rem;width:50px;height:50px;justify-content:center;background-color:rgba(50,115,220,.1);border-radius:12px}.widget-title[data-v-01e2ea60]{font-size:1.8rem;color:#333;margin:0}.widget-actions[data-v-01e2ea60]{display:flex;align-items:center}.back-button[data-v-01e2ea60]{padding:.5rem 1rem;background-color:#f0f0f0;border-radius:6px;color:#555;text-decoration:none;font-size:.9rem;transition:all .3s ease}.back-button[data-v-01e2ea60]:hover{background-color:#e0e0e0}.back-button i[data-v-01e2ea60]{margin-right:5px}.widget-info-card[data-v-01e2ea60]{background-color:#fff;border-radius:8px;box-shadow:0 2px 10px rgba(0,0,0,.08);padding:1.5rem;margin-bottom:1.5rem}.widget-description[data-v-01e2ea60]{font-size:1rem;color:#555;margin-bottom:1rem;line-height:1.5}.widget-developer[data-v-01e2ea60]{font-size:.9rem;color:#777;padding-top:.5rem;border-top:1px solid #eee}.widget-content-card[data-v-01e2ea60]{background-color:#fff;border-radius:8px;box-shadow:0 2px 10px rgba(0,0,0,.08);padding:2rem;margin-bottom:2rem;min-height:400px}@media(max-width:768px){.frame-container[data-v-01e2ea60]{padding:1.5rem 1rem;padding-top:70px}.widget-header[data-v-01e2ea60]{flex-direction:column;align-items:flex-start}.widget-identity[data-v-01e2ea60]{margin-bottom:1rem}.widget-title[data-v-01e2ea60]{font-size:1.5rem}.widget-icon[data-v-01e2ea60]{font-size:1.5rem;width:40px;height:40px}.widget-content-card[data-v-01e2ea60]{padding:1.5rem;min-height:300px}}.webvpn-converter[data-v-19390e72]{width:100%}.input-section[data-v-19390e72]{margin-bottom:24px}.input-section label[data-v-19390e72]{display:block;font-size:16px;margin-bottom:8px;font-weight:500;color:#333}.input-with-button[data-v-19390e72]{display:flex;gap:10px}.input-with-button input[data-v-19390e72]{flex:1;padding:12px;border:1px solid #ddd;border-radius:6px;font-size:15px;transition:border-color .3s}.input-with-button input[data-v-19390e72]:focus{outline:none;border-color:#3273dc;box-shadow:0 0 0 2px rgba(50,115,220,.2)}.convert-btn[data-v-19390e72]{background-color:#3273dc;color:#fff;border:none;border-radius:6px;padding:0 20px;font-size:15px;cursor:pointer;transition:background-color .3s}.convert-btn[data-v-19390e72]:hover{background-color:#276cda}.convert-btn[data-v-19390e72]:active{background-color:#215cca}.output-section[data-v-19390e72]{margin-bottom:30px}.output-section .result-label[data-v-19390e72]{font-size:16px;font-weight:500;margin-bottom:8px;color:#333}.result-container[data-v-19390e72]{background-color:#f5f8ff;border:1px solid #d1e0ff;border-radius:6px;padding:15px}.url-display[data-v-19390e72]{font-family:Courier New,monospace;word-break:break-all;margin-bottom:15px;line-height:1.4;background-color:#fff;padding:10px;border-radius:4px;border:1px dashed #ccc}.action-buttons[data-v-19390e72]{display:flex;gap:10px}.action-btn[data-v-19390e72]{padding:8px 15px;border-radius:4px;font-size:14px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:all .3s;text-decoration:none}.action-btn i[data-v-19390e72]{margin-right:5px}.copy-btn[data-v-19390e72]{background-color:#4caf50;color:#fff;border:none}.copy-btn[data-v-19390e72]:hover{background-color:#43a047}.open-btn[data-v-19390e72]{background-color:#ff9800;color:#fff}.open-btn[data-v-19390e72]:hover{background-color:#f57c00}.info-section[data-v-19390e72]{background-color:#f9f9f9;border-radius:6px;padding:15px 20px}.info-section h3[data-v-19390e72]{margin-top:0;margin-bottom:10px;font-size:16px;color:#444}.info-section ul[data-v-19390e72]{margin:0;padding-left:20px}.info-section ul li[data-v-19390e72]{margin-bottom:5px}.info-section .note[data-v-19390e72]{margin-top:15px;color:#d32f2f;font-size:14px}@media(max-width:768px){.input-with-button[data-v-19390e72]{flex-direction:column}.convert-btn[data-v-19390e72]{width:100%;padding:10px}.action-buttons[data-v-19390e72]{flex-direction:column}.action-btn[data-v-19390e72]{width:100%}}

View File

@ -1 +0,0 @@
.widget-frame[data-v-3b163f17]{width:100%;min-height:100vh;background-color:#f5f7fa}.frame-container[data-v-3b163f17]{max-width:1200px;margin:0 auto;padding:2rem 1.5rem;padding-top:80px}.widget-header[data-v-3b163f17]{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.widget-icon[data-v-3b163f17],.widget-identity[data-v-3b163f17]{display:flex;align-items:center}.widget-icon[data-v-3b163f17]{font-size:2rem;color:#3273dc;margin-right:1rem;width:50px;height:50px;justify-content:center;background-color:rgba(50,115,220,.1);border-radius:12px}.widget-title[data-v-3b163f17]{font-size:1.8rem;color:#333;margin:0}.widget-actions[data-v-3b163f17]{display:flex;align-items:center}.back-button[data-v-3b163f17]{padding:.5rem 1rem;background-color:#f0f0f0;border-radius:6px;color:#555;text-decoration:none;font-size:.9rem;transition:all .3s ease}.back-button[data-v-3b163f17]:hover{background-color:#e0e0e0}.back-button i[data-v-3b163f17]{margin-right:5px}.widget-info-card[data-v-3b163f17]{background-color:#fff;border-radius:8px;box-shadow:0 2px 10px rgba(0,0,0,.08);padding:1.5rem;margin-bottom:1.5rem}.widget-description[data-v-3b163f17]{font-size:1rem;color:#555;margin-bottom:1rem;line-height:1.5}.widget-developer[data-v-3b163f17]{font-size:.9rem;color:#777;padding-top:.5rem;border-top:1px solid #eee}.widget-content-card[data-v-3b163f17]{background-color:#fff;border-radius:8px;box-shadow:0 2px 10px rgba(0,0,0,.08);padding:2rem;margin-bottom:2rem;min-height:400px}@media(max-width:768px){.frame-container[data-v-3b163f17]{padding:1.5rem 1rem;padding-top:70px}.widget-header[data-v-3b163f17]{flex-direction:column;align-items:flex-start}.widget-identity[data-v-3b163f17]{margin-bottom:1rem}.widget-title[data-v-3b163f17]{font-size:1.5rem}.widget-icon[data-v-3b163f17]{font-size:1.5rem;width:40px;height:40px}.widget-content-card[data-v-3b163f17]{padding:1.5rem;min-height:300px}}.webvpn-converter[data-v-3058a5cc]{width:100%}.input-section[data-v-3058a5cc]{margin-bottom:24px}.input-section label[data-v-3058a5cc]{display:block;font-size:16px;margin-bottom:8px;font-weight:500;color:#333}.input-with-button[data-v-3058a5cc]{display:flex;gap:10px}.input-with-button input[data-v-3058a5cc]{flex:1;padding:12px;border:1px solid #ddd;border-radius:6px;font-size:15px;transition:border-color .3s}.input-with-button input[data-v-3058a5cc]:focus{outline:none;border-color:#3273dc;box-shadow:0 0 0 2px rgba(50,115,220,.2)}.convert-btn[data-v-3058a5cc]{background-color:#3273dc;color:#fff;border:none;border-radius:6px;padding:0 20px;font-size:15px;cursor:pointer;transition:background-color .3s}.convert-btn[data-v-3058a5cc]:hover{background-color:#276cda}.convert-btn[data-v-3058a5cc]:active{background-color:#215cca}.output-section[data-v-3058a5cc]{margin-bottom:30px}.output-section .result-label[data-v-3058a5cc]{font-size:16px;font-weight:500;margin-bottom:8px;color:#333}.result-container[data-v-3058a5cc]{background-color:#f5f8ff;border:1px solid #d1e0ff;border-radius:6px;padding:15px}.url-display[data-v-3058a5cc]{font-family:Courier New,monospace;word-break:break-all;margin-bottom:15px;line-height:1.4;background-color:#fff;padding:10px;border-radius:4px;border:1px dashed #ccc}.action-buttons[data-v-3058a5cc]{display:flex;gap:10px}.action-btn[data-v-3058a5cc]{padding:8px 15px;border-radius:4px;font-size:14px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:all .3s;text-decoration:none}.action-btn i[data-v-3058a5cc]{margin-right:5px}.copy-btn[data-v-3058a5cc]{background-color:#4caf50;color:#fff;border:none}.copy-btn[data-v-3058a5cc]:hover{background-color:#43a047}.open-btn[data-v-3058a5cc]{background-color:#ff9800;color:#fff}.open-btn[data-v-3058a5cc]:hover{background-color:#f57c00}.info-section[data-v-3058a5cc]{background-color:#f9f9f9;border-radius:6px;padding:15px 20px}.info-section h3[data-v-3058a5cc]{margin-top:0;margin-bottom:10px;font-size:16px;color:#444}.info-section ul[data-v-3058a5cc]{margin:0;padding-left:20px}.info-section ul li[data-v-3058a5cc]{margin-bottom:5px}.info-section .note[data-v-3058a5cc]{margin-top:15px;color:#d32f2f;font-size:14px}@media(max-width:768px){.input-with-button[data-v-3058a5cc]{flex-direction:column}.convert-btn[data-v-3058a5cc]{width:100%;padding:10px}.action-buttons[data-v-3058a5cc]{flex-direction:column}.action-btn[data-v-3058a5cc]{width:100%}}

2
dist/index.html vendored
View File

@ -1 +1 @@
<!doctype html><html lang="zh-CN"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><link rel="icon" href="/favicon.ico"><title>NEU小站</title><script defer="defer" src="/js/chunk-vendors.f51d2f94.js"></script><script defer="defer" src="/js/app.72c49f64.js"></script><link href="/css/chunk-vendors.c52e575a.css" rel="stylesheet"><link href="/css/app.cbc57ab2.css" rel="stylesheet"></head><body><noscript><strong>抱歉NEU小站无法在没有 JavaScript 的情况下正常工作。请启用 JavaScript 以继续。</strong></noscript><div id="app"></div></body></html>
<!doctype html><html lang="zh-CN"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><link rel="icon" href="/favicon.ico"><title>NEU小站</title><script defer="defer" src="/js/chunk-vendors.f51d2f94.js"></script><script defer="defer" src="/js/app.dbb6ccc8.js"></script><link href="/css/chunk-vendors.c52e575a.css" rel="stylesheet"><link href="/css/app.cbc57ab2.css" rel="stylesheet"></head><body><noscript><strong>抱歉NEU小站无法在没有 JavaScript 的情况下正常工作。请启用 JavaScript 以继续。</strong></noscript><div id="app"></div></body></html>

2
dist/js/898.6a122131.js vendored Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -38,6 +38,10 @@ export default {
NavBar
},
props: {
widgetId: {
type: [Number, String],
required: true
},
title: {
type: String,
required: true,
@ -55,6 +59,29 @@ export default {
type: String,
default: 'NEU小站团队'
}
},
mounted() {
this.recordWidgetUsage();
},
methods: {
async recordWidgetUsage() {
if (!this.widgetId) {
console.error('WidgetFrame: widgetId is missing, cannot record usage.');
return;
}
try {
const response = await fetch(`https://newfront.东北大学.com/widget/stat?widget_id=${this.widgetId}`);
if (!response.ok) {
const errorData = await response.json();
// console.error(`Error recording widget usage for ID ${this.widgetId}:`, response.status, errorData.error || response.statusText);
} else {
const data = await response.json();
// console.log(`Usage recorded for widget ID ${this.widgetId}:`, data.message);
}
} catch (error) {
// console.error(`Failed to call usage statistics API for widget ID ${this.widgetId}:`, error);
}
}
}
};
</script>

View File

@ -4,6 +4,7 @@
icon="fas fa-globe"
description="将普通网址转换为WebVPN校园网代理访问的加密链接在校外访问内网资源"
developer="NEU小站"
:widgetId="101"
>
<div class="webvpn-converter">
<div class="input-section">
@ -71,6 +72,7 @@ export default {
// URL
document.title = 'WebVPN链接生成器 - NEU小站';
this.convertUrl();
},
methods: {
convertUrl() {