This commit is contained in:
WJQSERVER 2024-10-12 07:03:23 +08:00
parent 03118a24a3
commit 6dc20398ae
3 changed files with 70 additions and 8 deletions

View file

@ -1,5 +1,12 @@
# 更新日志
24w15d
---
- PRE-RELEASE: 此版本是v1.5.0的预发布版本,请勿在生产环境中使用
- CHANGE: 优化代码结构,提升性能
- ADD: 新增API模块,新增配置开关状态接口,以在前端指示功能状态
- CHANGE: 由于API变动,对前端进行相应调整
24w15c
---
- PRE-RELEASE: 此版本是v1.5.0的预发布版本,请勿在生产环境中使用

View file

@ -42,10 +42,12 @@ func InitHandleRouter(cfg *config.Config, router *gin.Engine) {
}
func SizeLimitHandler(cfg *config.Config, c *gin.Context) {
// 转换为MB
sizeLimit := cfg.Server.SizeLimit / 1024 / 1024
// 设置响应头
c.Writer.Header().Set("Content-Type", "application/json")
json.NewEncoder(c.Writer).Encode(map[string]interface{}{
"MaxResponseBodySize": cfg.Server.SizeLimit,
"MaxResponseBodySize": sizeLimit,
})
}

View file

@ -91,6 +91,18 @@
}
.status-container {
display: flex;
justify-content: center;
align-items: center;
margin-bottom: 5px;
}
.status-container p {
margin: 0px 5px;
}
.code {
position: relative;
padding-right: 0px;
@ -136,7 +148,11 @@
</div>
<div class="tips">
<p>GitHub链接带不带协议头均可支持release、archive以及文件转换后链接均可使用</a></p>
<p id="sizeLimitDisplay">文件大小限制: ...</p>
<div class="status-container">
<p id="sizeLimitDisplay">文件大小限制: ...</p>
<p id="whiteListStatus">白名单状态: ...</p>
<p id="blackListStatus">黑名单状态: ...</p>
</div>
</div>
</div>
@ -173,19 +189,57 @@
alert('链接已复制到剪贴板');
});
function fetchAPI() {
fetch(window.location.origin + '/api')
function fetchSizeLimit() {
fetch(window.location.origin + '/api/size_limit')
.then(response => response.json())
.then(data => {
const sizeLimitDisplay = document.getElementById('sizeLimitDisplay');
const sizeInMB = (data.MaxResponseBodySize / (1024 * 1024)).toFixed(0);
sizeLimitDisplay.textContent = `文件大小限制: ${sizeInMB} MB`;
sizeLimitDisplay.textContent = `文件大小限制: ${data.MaxResponseBodySize} MB`;
})
.catch(error => {
console.error('Error fetching API:', error);
});
}
function fetchWhiteList() {
fetch(window.location.origin + '/api/whitelist/status')
.then(response => response.json())
.then(data => {
const whiteListStatus = document.getElementById('whiteListStatus');
if (data.Whitelist) {
whiteListStatus.textContent = `白名单状态: 已开启`;
} else if (!data.Whitelist) {
whiteListStatus.textContent = `白名单状态: 已关闭`;
} else {
whiteListStatus.textContent = `白名单状态: 未知`;
}
})
.catch(error => {
console.error('Error fetching API:', error);
});
}
function fetchBlackList() {
fetch(window.location.origin + '/api/blacklist/status')
.then(response => response.json())
.then(data => {
const blackListStatus = document.getElementById('blackListStatus');
if (data.Blacklist) {
blackListStatus.textContent = `黑名单状态: 已开启`;
} else if (!data.Blacklist) {
blackListStatus.textContent = `黑名单状态: 已关闭`;
} else {
blackListStatus.textContent = `黑名单状态: 未知`;
}
})
.catch(error => {
console.error('Error fetching API:', error);
});
}
function fetchAPI() {
fetchSizeLimit();
fetchWhiteList();
fetchBlackList();
}
document.addEventListener('DOMContentLoaded', fetchAPI);
</script>
</body>
@ -195,8 +249,7 @@
Copyright &copy; 2024 WJQSERVER-STUDIO
</p>
<p>
GitHub仓库地址<a
href="https://github.com/WJQSERVER-STUDIO/ghproxy">https://github.com/WJQSERVER-STUDIO/ghproxy</a>
GitHub仓库地址<a href="https://github.com/WJQSERVER-STUDIO/ghproxy">https://github.com/WJQSERVER-STUDIO/ghproxy</a>
</p>
<div id="visitor-info" style="text-align: center; margin-top: 15px;">
<p>您的IP地址: <span id="visitor-ip"></span></p>