diff --git a/index.html b/index.html index 4786291..df23fb2 100644 --- a/index.html +++ b/index.html @@ -12,7 +12,7 @@ } body { - font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif; + font-family: 'Microsoft YaHei', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif; background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); min-height: 100vh; display: flex; @@ -24,7 +24,7 @@ .header { text-align: center; color: white; - margin-bottom: 40px; + margin-bottom: 30px; animation: fadeInDown 0.8s ease; } @@ -37,6 +37,96 @@ .header p { font-size: 1.1rem; opacity: 0.95; + margin-bottom: 20px; + } + + .control-panel { + background: white; + border-radius: 15px; + padding: 25px; + margin-bottom: 30px; + box-shadow: 0 10px 40px rgba(0,0,0,0.1); + animation: fadeIn 0.8s ease; + } + + .control-panel h2 { + color: #333; + margin-bottom: 20px; + font-size: 1.3rem; + } + + .control-buttons { + display: flex; + flex-wrap: wrap; + gap: 15px; + justify-content: center; + } + + .control-btn { + padding: 12px 25px; + border: none; + border-radius: 8px; + font-size: 1rem; + font-weight: 500; + cursor: pointer; + transition: all 0.3s ease; + color: white; + text-decoration: none; + display: inline-flex; + align-items: center; + gap: 8px; + } + + .btn-start-all { + background: linear-gradient(135deg, #667eea, #764ba2); + } + + .btn-start-all:hover { + transform: translateY(-2px); + box-shadow: 0 5px 20px rgba(102, 126, 234, 0.4); + } + + .btn-stop-all { + background: linear-gradient(135deg, #f093fb, #f5576c); + } + + .btn-stop-all:hover { + transform: translateY(-2px); + box-shadow: 0 5px 20px rgba(245, 87, 108, 0.4); + } + + .btn-refresh { + background: linear-gradient(135deg, #4facfe, #00f2fe); + } + + .btn-refresh:hover { + transform: translateY(-2px); + box-shadow: 0 5px 20px rgba(79, 172, 254, 0.4); + } + + .btn-launcher { + background: linear-gradient(135deg, #fa709a, #fee140); + } + + .btn-launcher:hover { + transform: translateY(-2px); + box-shadow: 0 5px 20px rgba(250, 112, 154, 0.4); + } + + .platform-info { + background: rgba(255, 255, 255, 0.1); + border-radius: 10px; + padding: 15px; + margin-top: 20px; + color: white; + text-align: center; + } + + .platform-info code { + background: rgba(0, 0, 0, 0.2); + padding: 2px 8px; + border-radius: 4px; + font-family: 'Consolas', 'Monaco', monospace; } .container { @@ -48,16 +138,16 @@ display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 25px; + margin-bottom: 30px; animation: fadeInUp 0.8s ease; } .industry-card { background: white; - border-radius: 12px; + border-radius: 15px; padding: 25px; - box-shadow: 0 10px 30px rgba(0,0,0,0.1); + box-shadow: 0 10px 40px rgba(0,0,0,0.1); transition: all 0.3s ease; - cursor: pointer; position: relative; overflow: hidden; } @@ -67,170 +157,176 @@ position: absolute; top: 0; left: 0; - width: 100%; - height: 4px; + right: 0; + height: 5px; background: linear-gradient(90deg, #667eea, #764ba2); - transform: scaleX(0); - transition: transform 0.3s ease; } .industry-card:hover { transform: translateY(-5px); - box-shadow: 0 15px 40px rgba(0,0,0,0.15); + box-shadow: 0 15px 50px rgba(0,0,0,0.15); } - .industry-card:hover::before { - transform: scaleX(1); - } - - .card-header { + .industry-header { display: flex; - align-items: center; justify-content: space-between; + align-items: center; margin-bottom: 15px; } - .industry-icon { - width: 50px; - height: 50px; - border-radius: 10px; + .industry-name { + font-size: 1.2rem; + font-weight: 600; + color: #333; + } + + .industry-number { + background: linear-gradient(135deg, #667eea, #764ba2); + color: white; + width: 30px; + height: 30px; + border-radius: 50%; display: flex; align-items: center; justify-content: center; - font-size: 1.5rem; - background: linear-gradient(135deg, #667eea, #764ba2); - color: white; - } - - .industry-name { - font-size: 1.3rem; - font-weight: 600; - color: #333; - flex: 1; - margin-left: 15px; - } - - .status-indicator { - display: flex; - align-items: center; - gap: 5px; - } - - .status-dot { - width: 10px; - height: 10px; - border-radius: 50%; - animation: pulse 2s infinite; - } - - .status-dot.online { - background: #10b981; - box-shadow: 0 0 10px rgba(16, 185, 129, 0.5); - } - - .status-dot.offline { - background: #ef4444; - animation: none; - } - - .status-dot.checking { - background: #f59e0b; - animation: pulse 1s infinite; - } - - .status-text { font-size: 0.9rem; - color: #666; + font-weight: bold; } - @keyframes pulse { - 0%, 100% { opacity: 1; } - 50% { opacity: 0.5; } - } - - .card-info { - display: flex; - flex-direction: column; - gap: 10px; + .industry-info { + margin-bottom: 20px; } .info-item { display: flex; align-items: center; - gap: 10px; + margin-bottom: 8px; color: #666; font-size: 0.95rem; } .info-label { font-weight: 500; - min-width: 60px; + margin-right: 8px; + color: #999; } - .info-value { - color: #333; - font-family: 'Courier New', monospace; + .status { + display: inline-flex; + align-items: center; + gap: 5px; + padding: 4px 12px; + border-radius: 20px; + font-size: 0.85rem; + font-weight: 500; } - .card-footer { - margin-top: 20px; - padding-top: 15px; - border-top: 1px solid #e5e7eb; + .status-running { + background: #d4f4dd; + color: #2e7d46; } - .launch-btn { - width: 100%; + .status-stopped { + background: #ffeaa7; + color: #d63031; + } + + .status-checking { + background: #e3f2fd; + color: #1976d2; + } + + .status-dot { + width: 8px; + height: 8px; + border-radius: 50%; + animation: pulse 2s infinite; + } + + .status-running .status-dot { + background: #2e7d46; + } + + .status-stopped .status-dot { + background: #d63031; + animation: none; + } + + .industry-actions { + display: flex; + gap: 10px; + } + + .btn { + flex: 1; padding: 10px; - background: linear-gradient(135deg, #667eea, #764ba2); - color: white; border: none; border-radius: 8px; - font-size: 1rem; + font-size: 0.95rem; font-weight: 500; cursor: pointer; transition: all 0.3s ease; } - .launch-btn:hover { - transform: scale(1.02); - box-shadow: 0 5px 15px rgba(102, 126, 234, 0.4); - } - - .launch-btn:disabled { - background: #e5e7eb; - color: #9ca3af; - cursor: not-allowed; - transform: scale(1); - } - - .controls { - display: flex; - gap: 15px; - margin-bottom: 30px; - animation: fadeInUp 0.8s ease; - } - - .control-btn { - padding: 12px 24px; - background: white; - color: #667eea; - border: 2px solid white; - border-radius: 8px; - font-size: 1rem; - font-weight: 500; - cursor: pointer; - transition: all 0.3s ease; - } - - .control-btn:hover { - background: transparent; + .btn-primary { + background: linear-gradient(135deg, #667eea, #764ba2); color: white; } + .btn-primary:hover { + transform: translateY(-2px); + box-shadow: 0 5px 20px rgba(102, 126, 234, 0.4); + } + + .btn-secondary { + background: #f5f5f5; + color: #666; + } + + .btn-secondary:hover { + background: #e0e0e0; + } + + .footer { + text-align: center; + color: white; + margin-top: 40px; + padding: 20px; + opacity: 0.9; + } + + .instruction-box { + background: rgba(255, 255, 255, 0.95); + border-radius: 10px; + padding: 20px; + margin-bottom: 25px; + box-shadow: 0 5px 20px rgba(0,0,0,0.1); + } + + .instruction-box h3 { + color: #333; + margin-bottom: 15px; + font-size: 1.1rem; + } + + .instruction-box ol { + margin-left: 20px; + color: #666; + line-height: 1.8; + } + + .instruction-box code { + background: #f5f5f5; + padding: 2px 6px; + border-radius: 3px; + color: #d63031; + font-family: Consolas, Monaco, monospace; + } + @keyframes fadeInDown { from { opacity: 0; - transform: translateY(-20px); + transform: translateY(-30px); } to { opacity: 1; @@ -241,7 +337,7 @@ @keyframes fadeInUp { from { opacity: 0; - transform: translateY(20px); + transform: translateY(30px); } to { opacity: 1; @@ -249,224 +345,233 @@ } } - .toast { - position: fixed; - bottom: 20px; - right: 20px; - padding: 15px 20px; - background: white; - border-radius: 8px; - box-shadow: 0 5px 15px rgba(0,0,0,0.2); - display: none; - animation: slideIn 0.3s ease; - } - - .toast.show { - display: block; - } - - @keyframes slideIn { + @keyframes fadeIn { from { - transform: translateX(100%); + opacity: 0; } to { - transform: translateX(0); + opacity: 1; + } + } + + @keyframes pulse { + 0% { + box-shadow: 0 0 0 0 rgba(46, 125, 70, 0.7); + } + 70% { + box-shadow: 0 0 0 10px rgba(46, 125, 70, 0); + } + 100% { + box-shadow: 0 0 0 0 rgba(46, 125, 70, 0); } }
-

🎓 教务系统产业导航

-

选择您要访问的产业系统

+

🎓 教务系统产业管理中心

+

智能化多产业教务管理平台 - 支持12个产业独立运行

-
- - - + +
+

💡 Windows 用户快速启动指南

+
    +
  1. 方法一:双击运行 start-industry.bat 文件
  2. +
  3. 方法二:打开命令提示符(CMD),输入 start-industry.bat
  4. +
  5. 方法三:使用 PowerShell 运行 .\start-industry.ps1
  6. +
  7. 方法四:直接在本页面点击下方的控制按钮
  8. +
-
- + +
+

🎛️ 快速控制中心

+
+ + + + + 🚀 打开启动器 (Windows) + +
+
+

💻 当前系统:

+

📁 项目路径:

+
+
+ + +
+ + +
-
- \ No newline at end of file