front/intro/index.html
2025-02-19 20:59:41 +08:00

745 lines
20 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html lang="zh-CN" dir="auto">
<head><meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="robots" content="index, follow">
<title>关于NEU小站 | NEU小站</title>
<meta name="keywords" content="">
<meta name="description" content="关于NEU小站 - NEU小站">
<meta name="author" content="
V
V
">
<link rel="canonical" href="https://xn--xhq44jb2fzpc.com/intro/">
<link rel="stylesheet" href="/css/custom.css">
<link rel="stylesheet" href="/css/dl.css">
<link crossorigin="anonymous" href="/assets/css/stylesheet.css" rel="preload stylesheet" as="style">
<link rel="icon" href="https://xn--xhq44jb2fzpc.com/icons/favicon.ico">
<link rel="icon" type="image/png" sizes="16x16" href="https://xn--xhq44jb2fzpc.com/icons/favicon-16x16.png">
<link rel="icon" type="image/png" sizes="32x32" href="https://xn--xhq44jb2fzpc.com/icons/favicon-32x32.png">
<link rel="apple-touch-icon" href="https://xn--xhq44jb2fzpc.com/icons/apple-touch-icon.png">
<link rel="mask-icon" href="https://xn--xhq44jb2fzpc.com/safari-pinned-tab.svg">
<meta name="theme-color" content="#2e2e33">
<meta name="msapplication-TileColor" content="#2e2e33">
<link rel="alternate" type="application/rss+xml" href="https://xn--xhq44jb2fzpc.com/intro/index.xml">
<link rel="alternate" hreflang="en" href="https://xn--xhq44jb2fzpc.com/intro/">
<noscript>
<style>
#theme-toggle,
.top-link {
display: none;
}
</style>
<style>
@media (prefers-color-scheme: dark) {
:root {
--theme: rgb(29, 30, 32);
--entry: rgb(46, 46, 51);
--primary: rgb(218, 218, 219);
--secondary: rgb(155, 156, 157);
--tertiary: rgb(65, 66, 68);
--content: rgb(196, 196, 197);
--code-block-bg: rgb(46, 46, 51);
--code-bg: rgb(55, 56, 62);
--border: rgb(51, 51, 51);
}
.list {
background: var(--theme);
}
.list:not(.dark)::-webkit-scrollbar-track {
background: 0 0;
}
.list:not(.dark)::-webkit-scrollbar-thumb {
border-color: var(--theme);
}
}
</style>
</noscript>
<meta property="og:title" content="关于NEU小站" />
<meta property="og:description" content="" />
<meta property="og:type" content="website" />
<meta property="og:url" content="https://xn--xhq44jb2fzpc.com/intro/" />
<meta name="twitter:card" content="summary"/>
<meta name="twitter:title" content="关于NEU小站"/>
<meta name="twitter:description" content=""/>
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [
{
"@type": "ListItem",
"position": 1 ,
"name": "关于NEU小站",
"item": "https://xn--xhq44jb2fzpc.com/intro/"
}
]
}
</script>
<link rel="stylesheet" href="/css/custom.css">
</head>
<body class="list" id="top">
<script>
if (localStorage.getItem("pref-theme") === "dark") {
document.body.classList.add('dark');
} else if (localStorage.getItem("pref-theme") === "light") {
document.body.classList.remove('dark')
} else if (window.matchMedia('(prefers-color-scheme: dark)').matches) {
document.body.classList.add('dark');
}
</script>
<header class="header">
<nav class="nav">
<div class="logo">
<a href="https://xn--xhq44jb2fzpc.com/" accesskey="h" title="NEU小站 (Alt + H)">NEU小站</a>
<div class="logo-switches">
<button id="theme-toggle" accesskey="t" title="(Alt + T)">
<svg id="moon" xmlns="http://www.w3.org/2000/svg" width="24" height="18" viewBox="0 0 24 24"
fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"
stroke-linejoin="round">
<path d="M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"></path>
</svg>
<svg id="sun" xmlns="http://www.w3.org/2000/svg" width="24" height="18" viewBox="0 0 24 24"
fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"
stroke-linejoin="round">
<circle cx="12" cy="12" r="5"></circle>
<line x1="12" y1="1" x2="12" y2="3"></line>
<line x1="12" y1="21" x2="12" y2="23"></line>
<line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line>
<line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line>
<line x1="1" y1="12" x2="3" y2="12"></line>
<line x1="21" y1="12" x2="23" y2="12"></line>
<line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line>
<line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line>
</svg>
</button>
</div>
</div>
<ul id="menu">
<li>
<a href="https://xn--xhq44jb2fzpc.com/" title="主页">
<span>主页</span>
</a>
</li>
<li>
<a href="https://xn--xhq44jb2fzpc.com/rapidlinks/%E5%BF%AB%E9%80%9F%E9%93%BE%E6%8E%A5/" title="快速链接">
<span>快速链接</span>
</a>
</li>
<li>
<a href="https://xn--xhq44jb2fzpc.com/strategy/" title="攻略指南">
<span>攻略指南</span>
</a>
</li>
<li>
<a href="https://xn--xhq44jb2fzpc.com/resources/" title="资源共享">
<span>资源共享</span>
</a>
</li>
<li>
<a href="https://xn--xhq44jb2fzpc.com/search/" title="搜索">
<span>搜索</span>
</a>
</li>
<li>
<a href="https://xn--xhq44jb2fzpc.com/feedback/" title="意见反馈">
<span>意见反馈</span>
</a>
</li>
<li>
<a href="https://xn--xhq44jb2fzpc.com/submission/" title="用户中心">
<span>用户中心</span>
</a>
</li>
<li>
<a href="https://course.%e4%b8%9c%e5%8c%97%e5%a4%a7%e5%ad%a6.com" title="课程评分"target="_blank">
<span>课程评分</span>&nbsp;
<svg fill="none" shape-rendering="geometricPrecision" stroke="currentColor" stroke-linecap="round"
stroke-linejoin="round" stroke-width="2.5" viewBox="0 0 24 24" height="12" width="12">
<path d="M18 13v6a2 2 0 01-2 2H5a2 2 0 01-2-2V8a2 2 0 012-2h6"></path>
<path d="M15 3h6v6"></path>
<path d="M10 14L21 3"></path>
</svg>
</a>
</li>
<li>
<a href="https://oj.%e4%b8%9c%e5%8c%97%e5%a4%a7%e5%ad%a6.com" title="小站OJ题库"target="_blank">
<span>小站OJ题库</span>&nbsp;
<svg fill="none" shape-rendering="geometricPrecision" stroke="currentColor" stroke-linecap="round"
stroke-linejoin="round" stroke-width="2.5" viewBox="0 0 24 24" height="12" width="12">
<path d="M18 13v6a2 2 0 01-2 2H5a2 2 0 01-2-2V8a2 2 0 012-2h6"></path>
<path d="M15 3h6v6"></path>
<path d="M10 14L21 3"></path>
</svg>
</a>
</li>
<li>
<a href="https://xn--xhq44jb2fzpc.com/log/" title="更新日志">
<span>更新日志</span>
</a>
</li>
<li>
<a href="https://xn--xhq44jb2fzpc.com/intro/" title="关于">
<span class="active">关于</span>
</a>
</li>
</ul>
</nav>
</header>
<main class="main">
<script src="https://download.xn--xhq44jb2fzpc.com/intro/vue%402.js"></script>
<link rel="stylesheet" href="https://download.xn--xhq44jb2fzpc.com/intro/css/font-awesome-6.0.0-beta3-all.min.css">
<style>
.container {
display: flex;
flex-direction: column;
align-items: center;
text-align: center;
margin-top: 20px;
}
.content-box {
display: flex;
align-items: center;
}
.left-side {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
margin-right: 20px;
}
.qr-box {
width: 100px;
height: 100px;
border-radius: 4%;
overflow: hidden;
display: flex;
justify-content: center;
align-items: center;
background-color: #e0e0e0;
}
.qr-image {
width: 100%;
height: 100%;
object-fit: cover;
}
.contact-text {
margin-top: 10px;
font-size: 14px;
color: #333;
}
.vertical-line {
width: 1px;
height: 300px;
background-color: #ccc;
margin: 0 20px;
}
.right-side {
flex: 1;
}
.right-side p {
margin: 5px;
font-size: 16px;
color: #333;
}
.navbar {
display: flex;
justify-content: center;
gap: 20px;
}
.dark .info-box {
background-color: #2c2c2c;
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3);
}
.dark .info-box .right-side p,
.dark .info-box .contact-text {
color: #ddd;
}
.dark .info-box .qr-box {
background-color: #444;
}
.dark .info-box .vertical-line {
background-color: #555;
}
@media (max-width: 768px) {
.content-box {
flex-direction: column;
}
.left-side {
width: 100%;
text-align: center;
margin-bottom: 20px;
}
.right-side {
text-align: left;
}
.avatar-image {
margin: 0 auto;
}
.vertical-line {
display: none;
}
}
.icon-button {
display: flex;
align-items: center;
justify-content: center;
background: linear-gradient(145deg, #ffffff, #e0e0e0);
box-shadow: 3px 3px 6px #bebebe, -3px -3px 6px #ffffff;
border: none;
border-radius: 30px;
padding: 10px 20px;
cursor: pointer;
transition: width 0.4s, background 0.3s, box-shadow 0.3s;
width: 60px;
height: 60px;
overflow: hidden;
position: relative;
}
.icon-button.expanded {
width: 180px;
}
.icon-button i {
font-size: 24px;
color: #555;
transition: transform 0.3s;
}
.icon-button span {
margin-left: 10px;
white-space: nowrap;
font-size: 16px;
color: #333;
}
.icon-button:hover {
background: linear-gradient(145deg, #f0f0f0, #d4d4d4);
box-shadow: 3px 3px 10px #a8a8a8, -3px -3px 10px #ffffff;
}
.icon-button:active {
transform: scale(0.95);
box-shadow: inset 3px 3px 6px #bebebe, inset -3px -3px 6px #ffffff;
}
.info-box {
margin-top: 30px;
padding: 20px;
background-color: #f9f9f9;
border-radius: 10px;
box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.1);
width: 100%;
text-align: left;
transition: opacity 0.5s ease-in-out;
}
.fade-slide-enter-active, .fade-slide-leave-active {
transition: all 0.6s ease;
}
.fade-slide-enter, .fade-slide-leave-to {
transform: translateY(20px);
opacity: 0;
}
.dark .container {
background-color: #1c1c1e;
color: #f0f0f0;
}
.dark .icon-button {
background: linear-gradient(145deg, #2c2c2e, #3a3a3c);
box-shadow: 3px 3px 6px #1a1a1c, -3px -3px 6px #404040;
}
.dark .icon-button i {
color: #d1d1d1;
}
.dark .icon-button span {
color: #e0e0e0;
}
.dark .qrcode-text{
color: #e0e0e0;
}
.dark .icon-button:hover {
background: linear-gradient(145deg, #2f2f31, #444446);
box-shadow: 3px 3px 10px #151517, -3px -3px 10px #404040;
}
.dark .icon-button:active {
transform: scale(0.95);
box-shadow: inset 3px 3px 6px #0f0f10, inset -3px -3px 6px #3a3a3c;
}
.dark .info-box {
background-color: #2c2c2e;
color: #f0f0f0;
box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.5);
}
.donate-content {
display: flex;
flex-direction: column;
align-items: center;
}
.donate-qr-codes {
display: flex;
justify-content: space-around;
margin-top: 15px;
}
.donate-qr-box {
display: flex;
flex-direction: column;
align-items: center;
margin: 10px;
}
.donate-qr-image {
width: 100px;
height: 100px;
}
.donate-qr-box p {
margin-top: 5px;
font-size: 14px;
color: #333;
}
p.donate-text{
font-size: 16px;
margin: 5px;
align-self: flex-start;
}
.dark .donate-text{
color: #e0e0e0;
}
.contact-link{
color: #0563f0;
text-decoration: none;
}
.contact-link:hover{
color: #084f96;
}
.dark .contact-link{
color: #ddd;
}
.dark .contact-link:hover{
color: #aeadb9;
}
</style>
</head>
<body>
<div id="app">
<div class="container">
<div class="navbar">
<button class="icon-button" @click="toggleInfo('user')" :class="{ expanded: showUser }">
<i class="fas fa-user-circle"></i>
<span v-if="showUser">关于NEU小站</span>
</button>
<button class="icon-button" @click="toggleInfo('donate')" :class="{ expanded: showDonate }">
<i class="fas fa-hands-helping"></i>
<span v-if="showDonate">捐助我们</span>
</button>
</div>
<transition name="fade-slide">
<div class="info-box" v-if="showUser || showDonate">
<div class="content-box" v-if="showUser">
<div class="left-side">
<div class="qr-box">
<img src="https://download.xn--xhq44jb2fzpc.com/avatar/qrcode.png" alt="QR Code" class="avatar-image">
</div>
<p class="contact-text">作者微信 | <a class="contact-link" href="https://www.ember.ac.cn" target="_blank">作者主页</a></p>
</div>
<div class="vertical-line"></div>
<div class="right-side">
<p>网站作者也是NEU在读学生我希望NEU小站的存在能弥补一下校内资源共享的极度空缺能够给大家的学习帮上忙~有BUG或功能建议欢迎与我交流同时感谢且欢迎各位同学投稿资源</p>
<p>顺便提一嘴:<strong>NEU小站承诺永久免费提供服务</strong>,网站设置“东币系统”是为了激励投稿,以及一定程度上减少无意义的下载,因为下行流量费真的很高...</p>
<p>如有同学愿意加入开发,欢迎联系我~</p>
</div>
</div>
<div v-if="showDonate" class="donate-content">
<p class="donate-text">网站使用阿里云OSS和CDN服务来保障文件的高可用性和高速传输每月都产生了较高的下行流量费下行流量指网站文件流向用户产生的流量以及CDN加速回源流量费。您为本站捐赠的所有费用都将用于维护网站服务</p>
<p class="donate-text">请您在捐助时备注NEU小站感谢您的支持</p>
<div class="donate-qr-codes">
<div class="donate-qr-box">
<img src="https://download.xn--xhq44jb2fzpc.com/intro/wechat.png" alt="WeChat QR Code" class="donate-qr-image">
<p class="qrcode-text">微信</p>
</div>
<div class="donate-qr-box">
<img src="https://download.xn--xhq44jb2fzpc.com/intro/alipay.jpg" alt="Alipay QR Code" class="donate-qr-image">
<p class="qrcode-text">支付宝</p>
</div>
</div>
</div>
</div>
</transition>
</div>
<div>
<script>
new Vue({
el: '#app',
data: {
showUser: true,
showDonate: false
},
methods: {
toggleInfo(type) {
if (type === 'user') {
this.showUser = true;
this.showDonate = false;
} else if (type === 'donate') {
this.showDonate = true;
this.showUser = false;
}
}
}
});
</script>
</main>
<footer class="footer">
<div>
<span>&copy; 2025 <a href="https://xn--xhq44jb2fzpc.com/">NEU小站</a></span> ·
<a href="/intro" target="_blank">联系网站管理员</a>
<span> | </span>
<a href="https://git.东北大学.com" target="_blank">Git服务</a>
</div>
<div>
<span style="white-space: nowrap;">
<img src="https://beian.mps.gov.cn/web/assets/logo01.6189a29f.png" alt="公安标识" style="vertical-align: middle; height: 16px; display: inline-block;">
<a href="https://beian.mps.gov.cn/" target="_blank">
赣公网安备36090202000259号</a>
&nbsp;|&nbsp;
<a href="https://beian.miit.gov.cn/" target="_blank">赣ICP备2024039267号-1</a>
</span>
</div>
</footer>
<a href="#top" aria-label="go to top" title="Go to Top (Alt + G)" class="top-link" id="top-link" accesskey="g">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 12 6" fill="currentColor">
<path d="M12 6H0l6-6z" />
</svg>
</a>
<style>
</style>
<script>
let menu = document.getElementById('menu')
if (menu) {
menu.scrollLeft = localStorage.getItem("menu-scroll-position");
menu.onscroll = function () {
localStorage.setItem("menu-scroll-position", menu.scrollLeft);
}
}
document.querySelectorAll('a[href^="#"]').forEach(anchor => {
anchor.addEventListener("click", function (e) {
e.preventDefault();
var id = this.getAttribute("href").substr(1);
if (!window.matchMedia('(prefers-reduced-motion: reduce)').matches) {
document.querySelector(`[id='${decodeURIComponent(id)}']`).scrollIntoView({
behavior: "smooth"
});
} else {
document.querySelector(`[id='${decodeURIComponent(id)}']`).scrollIntoView();
}
if (id === "top") {
history.replaceState(null, null, " ");
} else {
history.pushState(null, null, `#${id}`);
}
});
});
document.addEventListener('DOMContentLoaded', function() {
var emberContainer = document.getElementById('ember-container');
emberContainer.addEventListener('mouseenter', function() {
var qrCode = document.getElementById('qr-code');
qrCode.classList.remove('hidden');
});
emberContainer.addEventListener('mouseleave', function() {
var qrCode = document.getElementById('qr-code');
qrCode.classList.add('hidden');
});
});
</script>
<script>
var mybutton = document.getElementById("top-link");
window.onscroll = function () {
if (document.body.scrollTop > 800 || document.documentElement.scrollTop > 800) {
mybutton.style.visibility = "visible";
mybutton.style.opacity = "1";
} else {
mybutton.style.visibility = "hidden";
mybutton.style.opacity = "0";
}
};
</script>
<script>
document.getElementById("theme-toggle").addEventListener("click", () => {
if (document.body.className.includes("dark")) {
document.body.classList.remove('dark');
localStorage.setItem("pref-theme", 'light');
} else {
document.body.classList.add('dark');
localStorage.setItem("pref-theme", 'dark');
}
})
</script>
<script type="text/javascript" async
src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.7/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
MathJax.Hub.Config({
tex2jax: {
inlineMath: [['$','$']],
displayMath: [['$$','$$']],
processEscapes: true,
processEnvironments: true,
skipTags: ['script', 'noscript', 'style', 'textarea', 'pre'],
TeX: { equationNumbers: { autoNumber: "AMS" },
extensions: ["AMSmath.js", "AMSsymbols.js"] }
}
});
MathJax.Hub.Queue(function() {
var all = MathJax.Hub.getAllJax(), i;
for(i = 0; i < all.length; i += 1) {
all[i].SourceElement().parentNode.className += ' has-jax';
}
});
</script>
<style>
code.has-jax {
font: inherit;
font-size: 100%;
background: inherit;
border: inherit;
color: #515151;
}
</style>
</body>
</html>