添加开发环境跳转coder-server

This commit is contained in:
chicrobot committed 2025-11-22 01:23:38 +08:00
1 parent bdd9f6c589
commit a9cb7f9d15
2 files changed
+39 -12

No files matched your search

+12 -12
View File
@@ -112,15 +112,6 @@
<div class="container" data-parallax="0.2"> <div class="container" data-parallax="0.2">
<h2 class="section-title"><span class="text-cyan">最新思路</span></h2> <h2 class="section-title"><span class="text-cyan">最新思路</span></h2>
<div class="thoughts-grid"> <div class="thoughts-grid">
<article class="thought-card glass-card">
<div class="thought-image" style="background-image: url('./static/code1.avif');"></div>
<div class="thought-content">
<h3>赛博朋克时代的前端架构思考</h3>
<p class="thought-excerpt">探索在快速变化的技术环境中,如何构建可维护的前端系统...</p>
<p class="thought-date">2023-05-15</p>
<span class="read-more">继续阅读 <i class="fas fa-arrow-right"></i></span>
</div>
</article>
<article class="thought-card glass-card"> <article class="thought-card glass-card">
<div class="thought-image" style="background-image: url('./static/code2.avif');"></div> <div class="thought-image" style="background-image: url('./static/code2.avif');"></div>
<div class="thought-content"> <div class="thought-content">
@@ -130,6 +121,15 @@
<span class="read-more">继续阅读 <i class="fas fa-arrow-right"></i></span> <span class="read-more">继续阅读 <i class="fas fa-arrow-right"></i></span>
</div> </div>
</article> </article>
<article class="thought-card glass-card">
<div class="thought-image" style="background-image: url('./static/code1.avif');"></div>
<div class="thought-content">
<h3>赛博朋克时代的前端架构思考</h3>
<p class="thought-excerpt">探索在快速变化的技术环境中,如何构建可维护的前端系统...</p>
<p class="thought-date">2023-05-15</p>
<span class="read-more">继续阅读 <i class="fas fa-arrow-right"></i></span>
</div>
</article>
<article class="thought-card glass-card"> <article class="thought-card glass-card">
<div class="thought-image" style="background-image: url('./static/code3.avif');"></div> <div class="thought-image" style="background-image: url('./static/code3.avif');"></div>
<div class="thought-content"> <div class="thought-content">
@@ -195,7 +195,7 @@
<i class="fas fa-memory"></i> <i class="fas fa-memory"></i>
<div class="status-info"> <div class="status-info">
<p class="status-label">内存使用</p> <p class="status-label">内存使用</p>
<p class="status-value">4.2GB / 16GB</p> <p class="status-value">4.2GB / 8GB</p>
</div> </div>
</div> </div>
<div class="status-item"> <div class="status-item">
@@ -216,7 +216,7 @@
<i class="fas fa-network-wired"></i> <i class="fas fa-network-wired"></i>
<div class="status-info"> <div class="status-info">
<p class="status-label">网络速度</p> <p class="status-label">网络速度</p>
<p class="status-value">120MB/s</p> <p class="status-value">3MB/s</p>
</div> </div>
</div> </div>
</div> </div>
@@ -228,7 +228,7 @@
<div class="tool-icon"><i class="fas fa-code"></i></div> <div class="tool-icon"><i class="fas fa-code"></i></div>
<h3>VS Code</h3> <h3>VS Code</h3>
<p>集成开发环境</p> <p>集成开发环境</p>
<a href="#" class="tool-link" target="_blank">启动 <i class="fas fa-play"></i></a> <a id="codeServerLink" href="#" class="tool-link" target="_blank">启动 <i class="fas fa-play"></i></a>
</div> </div>
<div class="tool-card glass-card"> <div class="tool-card glass-card">
<div class="tool-icon"><i class="fas fa-terminal"></i></div> <div class="tool-icon"><i class="fas fa-terminal"></i></div>
+27
View File
@@ -53,6 +53,7 @@ window.addEventListener('load', function() {
const jenkinsUrl = `${window.location.protocol}//${currentHost}:9095`; const jenkinsUrl = `${window.location.protocol}//${currentHost}:9095`;
const chatUrl = `${window.location.protocol}//${currentHost}/baseTalk`; const chatUrl = `${window.location.protocol}//${currentHost}/baseTalk`;
const cloudreveUrl = `${window.location.protocol}//${currentHost}:5212`; const cloudreveUrl = `${window.location.protocol}//${currentHost}:5212`;
const codeServerUrl = `${window.location.protocol}//${currentHost}:8443`;
// 构建博客文章URL,指向8090端口 // 构建博客文章URL,指向8090端口
const blogBaseUrl = `${window.location.protocol}//${currentHost}:8090`; const blogBaseUrl = `${window.location.protocol}//${currentHost}:8090`;
@@ -63,6 +64,7 @@ window.addEventListener('load', function() {
const jenkinsLink = document.getElementById('jenkinsLink'); const jenkinsLink = document.getElementById('jenkinsLink');
const chatLink = document.getElementById('chatLink'); const chatLink = document.getElementById('chatLink');
const cloudreveLink = document.getElementById('cloudreveLink'); const cloudreveLink = document.getElementById('cloudreveLink');
const codeServerLink = document.getElementById('codeServerLink');
if (portainerLink) { if (portainerLink) {
portainerLink.href = portainerUrl; portainerLink.href = portainerUrl;
@@ -88,6 +90,10 @@ window.addEventListener('load', function() {
cloudreveLink.href = cloudreveUrl; cloudreveLink.href = cloudreveUrl;
cloudreveLink.target = '_blank'; cloudreveLink.target = '_blank';
} }
if (codeServerLink) {
codeServerLink.href = codeServerUrl;
codeServerLink.target = '_blank';
}
// 处理博客文章链接 // 处理博客文章链接
const blogPosts = document.querySelectorAll('.thought-card'); const blogPosts = document.querySelectorAll('.thought-card');
@@ -102,6 +108,27 @@ window.addEventListener('load', function() {
window.open(postUrl, '_blank'); window.open(postUrl, '_blank');
}); });
}); });
// 快速启动项目按钮处理
const templateButtons = document.querySelectorAll('.template-button');
const projectTemplates = [
{ type: 'frontend', name: '前端项目', url: '/?folder=/config/workspace' },
{ type: 'backend', name: '后端服务', url: '/?folder=/config/workspace' },
{ type: 'fullstack', name: '全栈应用', url: '/?folder=/config/workspace' }
];
templateButtons.forEach((button, index) => {
if (projectTemplates[index]) {
button.addEventListener('click', () => {
// 构建基于当前域名的URL
const baseUrl = `${window.location.protocol}//${currentHost}:8443`;
const targetUrl = `${baseUrl}${projectTemplates[index].url}`;
window.open(targetUrl, '_blank');
});
}
});
}); });
// 粒子背景效果 // 粒子背景效果