spqr/app/view/index.html

232 lines
7.0 KiB
HTML
Raw Normal View History

2024-11-05 12:10:06 +08:00
<!DOCTYPE html>
<html lang="zh-cn">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link href='normalize.css' rel='stylesheet' type='text/css'>
<link href="https://fonts.laysense.com/css/5000/zh-cn/harmonyossans/harmonyossans.css" rel="preload" as="style" onload="this.rel='stylesheet'">
<link id="theme_css" rel="stylesheet" href="sakura.css">
<style>
.pmnet { font-family: DOUYUFont;}
html {font-family: HarmonyOSSans;}
.animbox {
margin: 50px auto;
width: 200px;
text-align: center;
}
/*设置各竖条的共有样式*/
.animbox > div {
background-color: #279fcf;
width: 4px;
height: 35px;
border-radius: 2px;
margin: 2px;
animation-fill-mode: both;
display: inline-block;
animation: anim 0.9s 0s infinite cubic-bezier(.11, .49, .38, .78);
}
/*设置动画延迟*/
.animbox > :nth-child(2), .animbox > :nth-child(4) {
animation-delay: 0.25s !important;
}
.animbox > :nth-child(1), .animbox > :nth-child(5) {
animation-delay: 0.5s !important;
}
/*定义动画*/
@keyframes anim {
0% { transform: scaley(1); }
80% { transform: scaley(0.3); }
90% { transform: scaley(1); }
}
/* 开关 - 滑块周围的框 */
.switch {
position: relative;
display: inline-block;
width: 60px;
height: 34px;
}
/* 隐藏默认 HTML 复选框 */
.switch input {
opacity: 0;
width: 0;
height: 0;
}
/* 滑块 */
.slider {
position: absolute;
cursor: pointer;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-color: #2fbc47;
-webkit-transition: .4s;
transition: .4s;
}
.slider:before {
position: absolute;
content: "";
height: 26px;
width: 26px;
left: 4px;
bottom: 4px;
background-color: white;
-webkit-transition: .4s;
transition: .4s;
}
input:checked + .slider {
background-color: #2196F3;
}
input:focus + .slider {
box-shadow: 0 0 1px #2196F3;
}
input:checked + .slider:before {
-webkit-transform: translateX(26px);
-ms-transform: translateX(26px);
transform: translateX(26px);
}
/* 圆形滑块 */
.slider.round {
border-radius: 34px;
}
.slider.round:before {
border-radius: 50%;
}
</style>
<title>SPQR短链接服务-罗马元老院与罗马人民SPQR.TOP</title>
<meta name="keywords" content="短链接,短网址,链接缩短,网址缩短,SPQR,罗马元老院,元老院">
<meta name="description" content="SPQR.top提供免费的短链接、网址缩短服务,SPQR是罗马元老院与罗马人民的缩写">
</head>
<body>
<script>
//切换深色模式
if(window.matchMedia('(prefers-color-scheme: dark)').matches){
document.getElementById('theme_css').href = 'sakura-dark.css';
}
</script>
<main>
<h1>SPQR.top 免费短链接服务 </h1><hr />
<p>可以将很长的网址链接缩短成以SPQR.top开头弘扬罗马元老院与人民精神的短链接。</p>
<a href="//laysense.cn" target="_blank_laysense">由[<span class="pmnet">来笙</span>]维护</a>
<blockquote>
SPQR.top 代表 SPQR(罗马元老院与人民) 宇宙第一
<br />
SPQR是拉丁语Senatus Populusque Romanus(罗马元老院与罗马人民)的缩写
<br />
<img src="https://wallpapercave.com/wp/wp2471066.jpg" alt="SPQR" style=" max-height: 200px;">
<br />
<span style="color: coral;">严禁将本服务用于违法目的。</span>
</blockquote>
<blockquote>
登陆后您可以使用自定义短链接后缀以及302直链功能。<br />
未备案的域名必须登陆后才能缩短且不支持302直链<br />
<?php if($user==null){
echo '<span><a href="/!/login" target="_blank_login">[登陆]</a></span>';
}else{
echo '<span>你好,'.$realname.'。<a href="/!/my" target="_blank_login">[查看我缩短的域名]</a><a href="/!/logout">[登出]</a></span>';
}
?>
</blockquote>
<section>
<h4>缩短一个网址</h4>
<hr />
<form action="new_apply.php" method="POST">
<p style="display: <?=htmlspecialchars($display)?>;">JS跳转 <label class="switch">
<input id="type" type="checkbox" name="type">
<span class="slider round"></span>
</label> 302直链[需登录]
</p>
<p>
<label for="name">需要缩短的网址链接</label>
<input required="required" name="url" id="url" placeholder="https://baidu.cn/" type="url" style="width:80%">
</p>
<p style="display: <?=htmlspecialchars($display)?>;">
<label for="password">自定义短链接后缀[需登录,留空则由系统生成]</label>
https://SPQR.top/<input name="link" id="link" type="text" style="width:30%">
</p>
<div id="load" class="animbox" style="display: none;">
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
</div>
<p style="color: blueviolet;" id="notice"></p>
<p style="color: skyblue;" id="notice2"></p>
</form>
<p>
<button onclick="short()" value="缩短网址" style="width:50%">缩短网址</button>
<br />
点击缩短代表您同意并接受<a href="https://www.pmnet.gq/PMNETTOS" target="_blank_tos">TOS</a>
</p>
</section>
</main>
<footer>
<hr/>
©<a href="https://laysense.cn">laysense.cn</a> 2024 Made with <a href="https://oxal.org/projects/sakura">sakura.css</a>
</footer>
<script src="jquery-3.6.3.min.js"></script>
<script>
function short(){
var url = $("#url").val();
var link = $("#link").val();
var type = $("#type").prop('checked');
$.ajax({
type: "POST",
url: '/!/short',
data: {'url':url,'link':link,'type':type},
async: true,
dataType: 'json',
cache: false,
beforeSend: function () {
$('#notice2').html('');
$('#notice').html('正在进行缩短');
$('#load').show();
},
success: function (data) {
if (data.code == 200) {
$('#notice').html(`短链接为<a href="javascript:copyToClipboard('`+data.link+`')">`+data.link+'</a>,点击复制');
} else {
$('#notice').html(data.msg);
}
$('#load').hide();
},
clearForm: true,
resetForm: false
});
}
async function copyToClipboard(text) {
try {
await navigator.clipboard.writeText(text);
$('#notice2').html('复制成功');
} catch (err) {
$('#notice2').html('复制失败', err);
}
}
</script>
</body>
</html>