Commit a87b2329 authored by wq's avatar wq

添加 server.js, 拷贝中文

parent 170004b3
...@@ -7,6 +7,7 @@ ...@@ -7,6 +7,7 @@
"test": "test" "test": "test"
}, },
"scripts": { "scripts": {
"start": "node src/server.js",
"dev": "lite-server", "dev": "lite-server",
"test": "echo \"Error: no test specified\" && exit 1", "test": "echo \"Error: no test specified\" && exit 1",
"flat": "sh ./flattener.sh" "flat": "sh ./flattener.sh"
...@@ -15,7 +16,13 @@ ...@@ -15,7 +16,13 @@
"license": "ISC", "license": "ISC",
"devDependencies": { "devDependencies": {
"http-proxy-middleware": "^0.17.4", "http-proxy-middleware": "^0.17.4",
"lite-server": "^2.3.0" "koa": "^2.5.2",
"koa-bodyparser": "3.2.0",
"koa-router": "7.0.0",
"lite-server": "^2.3.0",
"mime": "1.3.4",
"mz": "2.4.0",
"nunjucks": "2.4.2"
}, },
"dependencies": { "dependencies": {
"zeppelin-solidity": "^1.4.0" "zeppelin-solidity": "^1.4.0"
......
/* general declarations, unsorted */ /* general declarations, unsorted */
body { body {
font-family: Poppins; font-family: Poppins;
background-color: #302430; background-color: #2F3138;
} }
.brand-logo { .brand-logo {
height: 3rem; height: 3rem;
...@@ -116,6 +116,10 @@ body { ...@@ -116,6 +116,10 @@ body {
.ooo-grey { .ooo-grey {
background-color: rgba(52, 58, 64, 0.8); background-color: rgba(52, 58, 64, 0.8);
} }
.btn-gold {
color:white;
background-color: #EFAD00;
}
.btn-purp { .btn-purp {
color:white; color:white;
background-color: #f000f0; background-color: #f000f0;
...@@ -124,6 +128,12 @@ body { ...@@ -124,6 +128,12 @@ body {
color:white; color:white;
background-color: #0055f0; background-color: #0055f0;
} }
.btn-gold:hover, .btn-gold.active{
background-color: #EFAD00;
box-shadow: 0 0 2px #2b002b, 0 0 25px #EFAD00, 0 0 5px #EFAD00;
text-shadow: 0 0 2px #2b002b;
color:white;
}
.btn-blu:hover, .btn-blu.active{ .btn-blu:hover, .btn-blu.active{
background-color: #5491ff; background-color: #5491ff;
box-shadow: 0 0 2px #2472ff, 0 0 25px #3e82ff, 0 0 5px #5491ff; box-shadow: 0 0 2px #2472ff, 0 0 25px #3e82ff, 0 0 5px #5491ff;
...@@ -146,6 +156,15 @@ body { ...@@ -146,6 +156,15 @@ body {
text-shadow: 0 0 2px #032b00; text-shadow: 0 0 2px #032b00;
color:white; color:white;
} }
.btn-outline-gold {
color:white;
background-color: transparent;
border: 1px solid #EFAD00;
}
.btn-outline-gold:hover, .btn-outline-gold.active {
color:white;
background-color: #EFAD00;
}
.btn-outline-purp { .btn-outline-purp {
color:white; color:white;
background-color: transparent; background-color: transparent;
...@@ -226,7 +245,7 @@ a:hover{ ...@@ -226,7 +245,7 @@ a:hover{
height:5px; height:5px;
} }
.progress-bar { .progress-bar {
background-color: #f000f0; background-color: #EFAD00;
} }
.progress-bar-glow { .progress-bar-glow {
content: url('../img/progress_after.png'); content: url('../img/progress_after.png');
...@@ -254,12 +273,12 @@ tbody tr:first-child th:before { ...@@ -254,12 +273,12 @@ tbody tr:first-child th:before {
content: url('../img/icon_filled.png'); content: url('../img/icon_filled.png');
position:absolute; position:absolute;
left:2px; left:2px;
filter: drop-shadow(0 0 2px #2b002b) drop-shadow(0 0 25px #c0c) drop-shadow(0 0 5px #f0f); filter: drop-shadow(0 0 2px #2b002b) drop-shadow(0 0 25px #EFAD00) drop-shadow(0 0 5px #EFAD00);
-webkit-filter: drop-shadow(0 0 2px #2b002b) drop-shadow(0 0 25px #c0c) drop-shadow(0 0 5px #f0f); -webkit-filter: drop-shadow(0 0 2px #2b002b) drop-shadow(0 0 25px #EFAD00) drop-shadow(0 0 5px #EFAD00);
} }
tr:hover { tr:hover {
background-color: transparent; background-color: transparent;
text-shadow: 0 0 2px #2b002b, 0 0 25px #c0c, 0 0 5px #f0f; text-shadow: 0 0 2px #2b002b, 0 0 25px #EFAD00, 0 0 5px #EFAD00;
} }
.playername{ .playername{
overflow: hidden; overflow: hidden;
...@@ -323,6 +342,11 @@ tr:hover { ...@@ -323,6 +342,11 @@ tr:hover {
background-color: transparent; background-color: transparent;
border: 1px solid #c0c; border: 1px solid #c0c;
} }
.nav-link-gold:hover {
text-shadow: 0 0 2px #2b002b, 0 0 25px #EFAD00, 0 0 5px #EFAD00;
background-color: transparent;
border: 1px solid #EFAD00;
}
.nav-link-gren-shadow:hover { .nav-link-gren-shadow:hover {
text-shadow: 0 0 2px #002b00, 0 0 25px #0c0, 0 0 5px #0f0 !important; text-shadow: 0 0 2px #002b00, 0 0 25px #0c0, 0 0 5px #0f0 !important;
background-color: transparent; background-color: transparent;
...@@ -331,8 +355,8 @@ tr:hover { ...@@ -331,8 +355,8 @@ tr:hover {
color: white!important; color: white!important;
} }
.nav-item > .active { .nav-item > .active {
background-color: #ff4fff!important; background-color: #EFAD00!important;
box-shadow: 0 0 2px #2b002b, 0 0 25px #c0c, 0 0 5px #f0f; box-shadow: 0 0 2px #2b002b, 0 0 25px #EFAD00, 0 0 5px #EFAD00;
} }
.teaser-cover { .teaser-cover {
background-color: transparent; background-color: transparent;
...@@ -409,12 +433,12 @@ tr:hover { ...@@ -409,12 +433,12 @@ tr:hover {
background-repeat: no-repeat; background-repeat: no-repeat;
} }
.teamscore { .teamscore {
background-color: #2d3238; background-color: #24262E;
border-top:1px solid #1d2024; border-top:1px solid #1d2024;
border-bottom:1px solid #676b70; border-bottom:1px solid #676b70;
} }
.glow { .glow {
text-shadow: 0 0 2px #2b002b, 0 0 10px #c0c, 0 0 5px #f0f; text-shadow: 0 0 2px #2b002b, 0 0 10px #EFAD00, 0 0 5px #EFAD00;
} }
.glow-gren { .glow-gren {
text-shadow: 0 0 2px #0b2b00, 0 0 10px #00cc00, 0 0 5px #0f0; text-shadow: 0 0 2px #0b2b00, 0 0 10px #00cc00, 0 0 5px #0f0;
...@@ -423,7 +447,7 @@ tr:hover { ...@@ -423,7 +447,7 @@ tr:hover {
text-shadow: 0 0 2px #0b002b, 0 0 10px #2ee1ef, 0 0 5px #008aff; text-shadow: 0 0 2px #0b002b, 0 0 10px #2ee1ef, 0 0 5px #008aff;
} }
.titleglow { .titleglow {
text-shadow: 0 0 5px #2b002b, 0 0 20px #c0c, 0 0 10px #f0f; text-shadow: 0 0 5px #2b002b, 0 0 20px #EFAD00, 0 0 10px #EFAD00;
color:white; color:white;
} }
.titleglow-green{ .titleglow-green{
...@@ -435,7 +459,7 @@ tr:hover { ...@@ -435,7 +459,7 @@ tr:hover {
color:white; color:white;
} }
.boxglow { .boxglow {
box-shadow: 0 0 2px #2b002b, 0 0 10px #c0c, 0 0 5px #f0f; box-shadow: 0 0 2px #2b002b, 0 0 10px #EFAD00, 0 0 5px #EFAD00;
} }
.dropglow-yel { .dropglow-yel {
...@@ -463,9 +487,6 @@ tr:hover { ...@@ -463,9 +487,6 @@ tr:hover {
.tab-rounded { .tab-rounded {
border-radius:0px 0px 5px 5px!important; border-radius:0px 0px 5px 5px!important;
} }
.tabs-border-adjust{
border-bottom:1px solid #343a40;
}
.tab-link{ .tab-link{
border: none!important; border: none!important;
} }
...@@ -495,6 +516,10 @@ tr:hover { ...@@ -495,6 +516,10 @@ tr:hover {
margin-top:3.9rem; margin-top:3.9rem;
z-index:-1; z-index:-1;
} }
.alert-gold{
background-color: #EFAD00;
border-color: #EFAD00;
}
.alert-purp{ .alert-purp{
background-color: #ff32ff; background-color: #ff32ff;
border-color: #f0f; border-color: #f0f;
...@@ -563,12 +588,12 @@ label > img{ ...@@ -563,12 +588,12 @@ label > img{
content:url('../img/sneks.png'); content:url('../img/sneks.png');
}*/ }*/
.team input:checked ~ img { .team input:checked ~ img {
filter: drop-shadow(0 0 2px #2b002b) drop-shadow(0 0 15px #c0c) drop-shadow(0 0 5px #f0f); filter: drop-shadow(0 0 2px #2b002b) drop-shadow(0 0 15px #EFAD00) drop-shadow(0 0 5px #EFAD00);
-webkit-filter: drop-shadow(0 0 2px #2b002b) drop-shadow(0 0 15px #c0c) drop-shadow(0 0 5px #f0f); -webkit-filter: drop-shadow(0 0 2px #2b002b) drop-shadow(0 0 15px #EFAD00) drop-shadow(0 0 5px #EFAD00);
} }
.team img:hover { .team img:hover {
animation:slowpulse 1s infinite; animation:slowpulse 1s infinite;
filter: drop-shadow(0 0 2px #2b002b) drop-shadow(0 0 25px #c0c) drop-shadow(0 0 5px #f0f); filter: drop-shadow(0 0 2px #2b002b) drop-shadow(0 0 25px #EFAD00) drop-shadow(0 0 5px #EFAD00);
} }
.checkmark:after{ .checkmark:after{
content: ""; content: "";
...@@ -576,8 +601,8 @@ label > img{ ...@@ -576,8 +601,8 @@ label > img{
display: none; display: none;
} }
.ethglow{ .ethglow{
filter: drop-shadow(0 0 2px #0b002b) drop-shadow(0 0 25px #c0c) drop-shadow(0 0 5px #f0f); filter: drop-shadow(0 0 2px #0b002b) drop-shadow(0 0 25px #EFAD00) drop-shadow(0 0 5px #EFAD00);
-webkit-filter: drop-shadow(0 0 2px #0b002b) drop-shadow(0 0 25px #c0c) drop-shadow(0 0 5px #f0f); -webkit-filter: drop-shadow(0 0 2px #0b002b) drop-shadow(0 0 25px #EFAD00) drop-shadow(0 0 5px #EFAD00);
} }
.ethglow-slow{ .ethglow-slow{
filter: drop-shadow(0 0 2px #2b002b) drop-shadow(0 0 25px #2ee1ef) drop-shadow(0 0 5px #008aff); filter: drop-shadow(0 0 2px #2b002b) drop-shadow(0 0 25px #2ee1ef) drop-shadow(0 0 5px #008aff);
...@@ -641,7 +666,7 @@ label > img{ ...@@ -641,7 +666,7 @@ label > img{
overflow: hidden; overflow: hidden;
clip: rect(0, 900px, 0, 0); clip: rect(0, 900px, 0, 0);
animation: noise-anim infinite linear alternate-reverse; animation: noise-anim infinite linear alternate-reverse;
background-color: #240624!important; background-color: #24262E!important;
} }
.glitch:before { .glitch:before {
content: attr(data-text); content: attr(data-text);
...@@ -650,7 +675,7 @@ label > img{ ...@@ -650,7 +675,7 @@ label > img{
overflow: hidden; overflow: hidden;
clip: rect(0, 900px, 0, 0); clip: rect(0, 900px, 0, 0);
animation: noise-anim-2 infinite linear alternate-reverse; animation: noise-anim-2 infinite linear alternate-reverse;
background-color: #240624!important; background-color: #24262E!important;
} }
.glitch-regular:after{ .glitch-regular:after{
left:-1; left:-1;
...@@ -1044,16 +1069,16 @@ Due to the split circle of cprogress-left and cprogress right, we must use the a ...@@ -1044,16 +1069,16 @@ Due to the split circle of cprogress-left and cprogress right, we must use the a
/* pulse effect */ /* pulse effect */
@keyframes pulse { @keyframes pulse {
0% { 0% {
-moz-box-shadow: 0 0 0 0 rgba(204,0,204, 0.8); -moz-box-shadow: 0 0 0 0 rgba(#EFAD00, 0.8);
box-shadow: 0 0 0 0 rgba(204,0,204, 0.8); box-shadow: 0 0 0 0 rgba(#EFAD00, 0.8);
} }
70% { 70% {
-moz-box-shadow: 0 0 0 5px rgba(204,0,204, 0.3); -moz-box-shadow: 0 0 0 5px rgba(#EFAD00, 0.3);
box-shadow: 0 0 0 5px rgba(204,0,204, 0.3); box-shadow: 0 0 0 5px rgba(#EFAD00, 0.3);
} }
100% { 100% {
-moz-box-shadow: 0 0 0 10px rgba(204,0,204, 0); -moz-box-shadow: 0 0 0 10px rgba(#EFAD00, 0);
box-shadow: 0 0 0 10px rgba(204,0,204, 0); box-shadow: 0 0 0 10px rgba(#EFAD00, 0);
} }
} }
/* blue pulse for fomo3d slow mode */ /* blue pulse for fomo3d slow mode */
...@@ -1089,37 +1114,37 @@ Due to the split circle of cprogress-left and cprogress right, we must use the a ...@@ -1089,37 +1114,37 @@ Due to the split circle of cprogress-left and cprogress right, we must use the a
/* pulse effect for tutorialarrows */ /* pulse effect for tutorialarrows */
@keyframes pulsedrop { @keyframes pulsedrop {
0% { 0% {
filter: drop-shadow(0 0 0 rgba(204,0,204, 0.8)); filter: drop-shadow(0 0 0 rgba(#EFAD00, 0.8));
-webkit-filter: drop-shadow(0 0 0 rgba(204,0,204, 0.8)); -webkit-filter: drop-shadow(0 0 0 rgba(#EFAD00, 0.8));
left:-0.1rem; left:-0.1rem;
color: #f0f; color: #EFAD00;
} }
50% { 50% {
left:-0.5rem; left:-0.5rem;
} }
70% { 70% {
filter: drop-shadow(0 0 25px rgba(204,0,204, 0.6)); filter: drop-shadow(0 0 25px rgba(#EFAD00, 0.6));
-webkit-filter: drop-shadow(0 0 25px rgba(204,0,204, 0.6)); -webkit-filter: drop-shadow(0 0 25px rgba(#EFAD00, 0.6));
} }
100% { 100% {
filter: drop-shadow(0 0 40px rgba(204,0,204, 0)); filter: drop-shadow(0 0 40px rgba(#EFAD00, 0));
-webkit-filter: drop-shadow(0 0 40px rgba(204,0,204, 0)); -webkit-filter: drop-shadow(0 0 40px rgba(#EFAD00, 0));
left:-0.1rem; left:-0.1rem;
} }
} }
/* team select */ /* team select */
@keyframes slowpulse { @keyframes slowpulse {
0% { 0% {
filter: drop-shadow(0 0 2px rgba(43,0,34, 0.4)) drop-shadow(0 0 10px rgba(204,0,204, 0.4)) drop-shadow(0 0 5px rgba(255,0,255, 0.4)); filter: drop-shadow(0 0 2px rgba(43,0,34, 0.4)) drop-shadow(0 0 10px rgba(#EFAD00, 0.4)) drop-shadow(0 0 5px rgba(#EFAD00, 0.4));
-webkit-filter: drop-shadow(0 0 2px rgba(43,0,34, 0.4)) drop-shadow(0 0 10px rgba(204,0,204, 0.4)) drop-shadow(0 0 5px rgba(255,0,255, 0.4)); -webkit-filter: drop-shadow(0 0 2px rgba(43,0,34, 0.4)) drop-shadow(0 0 10px rgba(#EFAD00, 0.4)) drop-shadow(0 0 5px rgba(#EFAD00, 0.4));
} }
60% { 60% {
filter: drop-shadow(0 0 2px rgba(43,0,34, 1)) drop-shadow(0 0 10px rgba(204,0,204, 1)) drop-shadow(0 0 5px rgba(255,0,255, 1)); filter: drop-shadow(0 0 2px rgba(43,0,34, 1)) drop-shadow(0 0 10px rgba(#EFAD00, 1)) drop-shadow(0 0 5px rgba(#EFAD00, 1));
-webkit-filter: drop-shadow(0 0 2px rgba(43,0,34, 1)) drop-shadow(0 0 10px rgba(204,0,204, 1)) drop-shadow(0 0 5px rgba(255,0,255, 1)); -webkit-filter: drop-shadow(0 0 2px rgba(43,0,34, 1)) drop-shadow(0 0 10px rgba(#EFAD00, 1)) drop-shadow(0 0 5px rgba(#EFAD00, 1));
} }
100% { 100% {
filter: drop-shadow(0 0 2px rgba(43,0,34, 0.4)) drop-shadow(0 0 10px rgba(204,0,204, 0.4)) drop-shadow(0 0 5px rgba(255,0,255, 0.4)); filter: drop-shadow(0 0 2px rgba(43,0,34, 0.4)) drop-shadow(0 0 10px rgba(#EFAD00, 0.4)) drop-shadow(0 0 5px rgba(#EFAD00, 0.4));
-webkit-filter: drop-shadow(0 0 2px rgba(43,0,34, 0.4)) drop-shadow(0 0 10px rgba(204,0,204, 0.4)) drop-shadow(0 0 5px rgba(255,0,255, 0.4)); -webkit-filter: drop-shadow(0 0 2px rgba(43,0,34, 0.4)) drop-shadow(0 0 10px rgba(#EFAD00, 0.4)) drop-shadow(0 0 5px rgba(#EFAD00, 0.4));
} }
} }
...@@ -1156,7 +1181,7 @@ Due to the split circle of cprogress-left and cprogress right, we must use the a ...@@ -1156,7 +1181,7 @@ Due to the split circle of cprogress-left and cprogress right, we must use the a
transform: rotateX(-70deg) scale(2); transform: rotateX(-70deg) scale(2);
-webkit-transform-origin: top center; -webkit-transform-origin: top center;
transform-origin: top center; transform-origin: top center;
box-shadow: inset 0px -100px 100px 100px #302430; box-shadow: inset 0px -100px 100px 100px #2F3138;
animation: rad 1s reverse linear infinite; animation: rad 1s reverse linear infinite;
} }
...@@ -1166,7 +1191,7 @@ Due to the split circle of cprogress-left and cprogress right, we must use the a ...@@ -1166,7 +1191,7 @@ Due to the split circle of cprogress-left and cprogress right, we must use the a
transform: rotateX(70deg) scale(2); transform: rotateX(70deg) scale(2);
-webkit-transform-origin: bottom center; -webkit-transform-origin: bottom center;
transform-origin: bottom center; transform-origin: bottom center;
box-shadow: inset 0px 100px 100px 100px #302430; box-shadow: inset 0px 100px 100px 100px #2F3138;
-webkit-animation: rad 1s linear infinite; -webkit-animation: rad 1s linear infinite;
animation: rad 1s linear infinite; animation: rad 1s linear infinite;
height:40rem; height:40rem;
...@@ -1263,7 +1288,7 @@ Due to the split circle of cprogress-left and cprogress right, we must use the a ...@@ -1263,7 +1288,7 @@ Due to the split circle of cprogress-left and cprogress right, we must use the a
} }
.btn { .btn {
white-space: normal; /* white-space: normal; */
} }
/* pepe */ /* pepe */
...@@ -1290,9 +1315,9 @@ Due to the split circle of cprogress-left and cprogress right, we must use the a ...@@ -1290,9 +1315,9 @@ Due to the split circle of cprogress-left and cprogress right, we must use the a
color:white; color:white;
} }
.titlepopoutrightmini{ .titlepopoutrightmini{
text-shadow: 1px 1px #9d009d, text-shadow: 1px 1px #EFAD00,
2px 2px #9d009d, 2px 2px #EFAD00,
3px 3px #9d009d; 3px 3px #EFAD00;
} }
.titlepopoutrightminigreen{ .titlepopoutrightminigreen{
text-shadow: 1px 1px #307b30, text-shadow: 1px 1px #307b30,
......
<!doctype html>
<html lang="en">
<head>
<!-- metatags -->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="theme-color" content="#343a40">
<!-- SEO related -->
<meta name="description"
content="Welcome to blockchain development. Your ICO is over, hype is drying up. Take the private keys, drain everything.">
<meta name="keywords"
content="Ethereum, F3D+, Fomo3D, Proof of Weak Hands, P3D, PoWH3D, Cryptocurrency, ICO, Parody, Satire, Gambling, Jackpot, Lottery, Referral, Passive Income, UBI">
<meta name="author" content="Team JUST">
<!-- open graph -->
<meta property="og:title" content="F3D+: Your Personal Exit Scam">
<meta property="og:description"
content="Welcome to blockchain development. Your ICO is over, hype is drying up. Take the private keys, drain everything.">
<meta property="og:type" content="website">
<meta property="og:url" content="https://exitscam.me/">
<meta property="og:image" content="https://exitscam.me/img/og_logo.png">
<meta property="og:image:width" content="400">
<meta property="og:iamge:height" content="400">
<!-- icons -->
<link rel="apple-touch-icon" sizes="114x114" href="../img/apple-114.png">
<link rel="apple-touch-icon" sized="72x72" href="../img/apple-72.png">
<link rel="apple-touch-icon" href="../img/apple.png">
<!-- css -->
<link rel="stylesheet" href="./css/bootstrap.min.css">
<link rel="stylesheet" href="./css/custom.css">
<link rel="stylesheet" href="./css/alertify.css">
<link rel="stylesheet" href="./css/base.css">
<link rel="stylesheet" href="./css/ghostframe.css">
<link href="https://fonts.googleapis.com/css?family=Poppins:200,400" rel="stylesheet">
<script src="./js/jquery-3.2.0.min.js"></script>
<!--
.d888 .d8888b. 888
d88P" d88P Y88b 888
888 .d88P 888
888888 .d88b. 88888b.d88b. .d88b. 8888" .d88888
888 d88""88b888 "888 "88bd88""88b "Y8b.d88" 888
888 888 888888 888 888888 888888 888888 888
888 Y88..88P888 888 888Y88..88PY88b d88PY88b 888
888 "Y88P" 888 888 888 "Y88P" "Y8888P" "Y88888
-->
<title>F3D Go</title>
</head>
<body>
<module-bash>
</module-bash>
<!-- <div class="blurryboy"></div> -->
<div id="main-wrapper">
<!-- navigation -->
<header class="topbar fixed-top">
<module-navbar>
</module-navbar>
</header>
<!-- /navigation -->
<!-- noscript message -->
<noscript>
<div class="row">
<div class="col">
<div class="alert alert-purp pulse text-center text-light" role="alert" style="margin-top:8rem;">Please
enable Javascript to play F3D+
</div>
</div>
</div>
</noscript>
<!-- /noscript -->
<!-- modal loading -->
<!-- toggle with jQuery('#loading').modal({backdrop: 'static', keyboard: false})
this makes it impossible to close modal by clicking outside the box -->
<div class="modal fade" id="loading" tabindex="-1" role="dialog" aria-hidden="true" style="z-index: 99999999;">
<div class="modal-dialog modal-dialog-centered" role="document">
<div class="modal-content bg-dark text-light">
<div class="modal-body" style="padding-top:1.5rem; padding-bottom:1.5rem;">
<div class="row justify-content-between">
<div class="col-auto">
Please check your Metamask...
</div>
<div class="col-2">
<div class="miniloader"></div>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- /modal loading -->
<!-- modal vanity -->
<div class="modal fade" id="vanity" tabindex="-1" role="dialog" aria-hidden="true">
<div class="modal-dialog modal-dialog-centered" role="document">
<div class="modal-content bg-dark text-light">
<div class="modal-body" style="padding-top:1.5rem; padding-bottom:1.5rem;">
<div class="row">
<div class="col">
<p class="lead nomarginb">把你的名字写入区块链!</p>
</div>
<div class="col-auto">
<p class="text-right nomarginb">
<a href="#" class="closemodal">
<i class="fas fa-times"></i>
</a>
</p>
</div>
</div>
<hr>
<div class="row">
<div class="col">
<div class="row">
<div class="col">
<div class="input-group mb-3">
<div class="input-group-prepend">
<button class="btn btn-outline-yel" type="button" id="randomName">
随机
</button>
</div>
<input class="form-control text-center" type="text" placeholder="type here"
id="nameInput">
</div>
</div>
</div>
<p class="small">
<br>
名字必须遵从以下规则:<br>
-不可重复<br>
-至多32字符<br>
-A-Z (小写字母)<br>
-名字不能使用 <i></i> 数字, 但是数字是可以使用的<br>
-不可使用特殊字符<br>
-字符之间不得使用超过一个空格<br>
<br>
如果交易失败,则说明无法正确满足其中至少一个标准。 <br>
<br>
名称是永久性的(用于推广链接)。您可以拥有任意数量的名称,但只有您最近的名字才会显示在排行榜/游戏用户界面上。<br><br>
</p>
</div>
</div>
<div class="row">
<div class="col">
<button class="btn btn-gold btn-block btn-lg" id="namePurchase"><i
class="fab fa-ethereum"></i> 支付 0.01 ETH 购买
</button>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- /modal vanity -->
<!--
<div id="quotes" class="topbar fixed-top text-light bg-dark jumboshade" style="z-index:99;">
<div class="container">
<div class="row">
<div class="col-auto">
<i class="fas fa-stopwatch"></i> <span class="boxtimer lead small">00:00:00</span>
</div>
<div class="col-auto yourkeys">
<i class="fas fa-key"></i> <span class="lead small">0000</span>
</div>
<div class="col col-2 yourrank">
<i class="fas fa-list-ol"></i> <span></span>
</div>
<div class="col afflink" if={$this.isCEO}>
<i class="fas fa-link"></i> <span class="lead small"></span>
</div>
<div class="col text-right">
<span class="lead small qTarget">Loading Memes</span>
</div>
</div>
</div> -->
</div>
<div id="spacer" class="spacer"></div>
<!-- main content (exchangeable) -->
<module-template>
</module-template>
<module-airdrop>
</module-airdrop>
<module-modal>
</module-modal>
<!-- /main content -->
</div>
<!-- phishing warning -->
<div class="modal" role="dialog" id="phishingWarning">
<div class="modal-dialog" role="document">
<div class="modal-content bg-dark text-light">
<div class="modal-header">
<h5 class="modal-title">Tips!</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body">
<p>This is the short version of Fomo3D.</p>
<p>We designed a more exciting rules and the limitation of game duration is just 10 minutes.</p>
<p>And we do not reward the p3d holders.</p>
<hr>
<p>这里是Fomo3D短时间版本。</p>
<p>我们提供了更刺激的玩法,上限时间仅10分钟。</p>
<p>且我们将p3d持有者的奖励全部返还到奖池中。</p>
<p><a href="https://hackmd.io/s/ryFTfx-Em#">官方中文简易指南 https://hackmd.io/s/ryFTfx-Em</a> (Author:
maojk#6803)</p>
<hr>
<p><a href="https://etherscan.io/address/0x0f90ef4e2526e3d1791862574f9fb26a0f39ec86#code">Contract
Code</a></p>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-block btn-lg btn-secondary btn-purp" data-dismiss="modal">Got it!
</button>
</div>
</div>
</div>
</div>
<!-- owo -->
<div class="animation">
<img src="img/snorting_in_progress_pepe.png" height="150px">
</div>
<script src="js/clipboard.min.js"></script>
<script src="js/alertify.js"></script>
<script src="js/bootstrap.bundle.js"></script>
<script src="js/fontawesome-all.min.js"></script>
<script>
if (!localStorage.getItem("seenWarning")) {
// Start phishing warning on load
jQuery("#phishingWarning").modal()
localStorage.setItem("seenWarning", true)
}
// Vanity modal
jQuery(".vanity").click(function () {
jQuery('#vanity').modal()
})
jQuery(".closemodal").click(function () {
jQuery('#vanity').modal('hide')
})
// Random Name generator
jQuery('#randomName').click(function () {
jQuery('#nameInput').val(namegen.generate());
})
/* Switch for low graphics mode
if(window.localStorage.length > 0){
if(localStorage['fancy'] == "false"){
jQuery("#fancyswitch").prop("checked", false);
var toggled = false
}
else{
jQuery("#fancyswitch").prop("checked", true);
var toggled = true
}
}
function graphicslow(){
jQuery('#hdgraphics').toggle();
toggled = !toggled
localStorage.setItem('fancy', toggled);
}
// Switch to toggle tutorials
if(window.localStorage.length > 0){
if(localStorage['tutorials'] == "false"){
jQuery("#tutorialswitch").prop("checked", false);
var toggled2 = false
}
else{
jQuery("#tutorialswitch").prop("checked", true);
var toggled2 = true
}
}*/
</script>
<script src="js/bundle.js"></script>
</body>
</html>
<!doctype html>
<html lang="en">
<head>
<!-- metatags -->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="theme-color" content="#343a40">
<!-- SEO related -->
<meta name="description" content="Welcome to blockchain development. Your ICO is over, hype is drying up. Take the private keys, drain everything.">
<meta name="keywords" content="Ethereum, F3D+, Fomo3D, Proof of Weak Hands, P3D, PoWH3D, Cryptocurrency, ICO, Parody, Satire, Gambling, Jackpot, Lottery, Referral, Passive Income, UBI">
<meta name="author" content="Team JUST">
<!-- open graph -->
<meta property="og:title" content="F3D+: Your Personal Exit Scam">
<meta property="og:description" content="Welcome to blockchain development. Your ICO is over, hype is drying up. Take the private keys, drain everything.">
<meta property="og:type" content="website">
<meta property="og:url" content="https://exitscam.me/">
<meta property="og:image" content="https://exitscam.me/img/og_logo.png">
<meta property="og:image:width" content="400">
<meta property="og:iamge:height" content="400">
<!-- icons -->
<link rel="apple-touch-icon" sizes="114x114" href="../img/apple-114.png">
<link rel="apple-touch-icon" sized="72x72" href="../img/apple-72.png">
<link rel="apple-touch-icon" href="../img/apple.png">
<!-- css -->
<link rel="stylesheet" href="./css/bootstrap.min.css">
<link rel="stylesheet" href="./css/custom.css">
<link rel="stylesheet" href="./css/alertify.css">
<link rel="stylesheet" href="./css/base.css">
<link rel="stylesheet" href="./css/ghostframe.css">
<link href="https://fonts.googleapis.com/css?family=Poppins:200,400" rel="stylesheet">
<script src="https://code.jquery.com/jquery-3.2.0.min.js"></script>
<!--
.d888 .d8888b. 888
d88P" d88P Y88b 888
888 .d88P 888
888888 .d88b. 88888b.d88b. .d88b. 8888" .d88888
888 d88""88b888 "888 "88bd88""88b "Y8b.d88" 888
888 888 888888 888 888888 888888 888888 888
888 Y88..88P888 888 888Y88..88PY88b d88PY88b 888
888 "Y88P" 888 888 888 "Y88P" "Y8888P" "Y88888
-->
<title>F3D Go</title>
</head>
<body>
<module-bash>
</module-bash>
<!-- <div class="blurryboy"></div> -->
<div id="main-wrapper">
<!-- navigation -->
<header class="topbar fixed-top">
<module-navbar>
</module-navbar>
</header>
<!-- /navigation -->
<!-- noscript message -->
<noscript>
<div class="row">
<div class="col">
<div class="alert alert-purp pulse text-center text-light" role="alert" style="margin-top:8rem;">Please enable Javascript to play F3D+</div>
</div>
</div>
</noscript>
<!-- /noscript -->
<!-- modal loading -->
<!-- toggle with jQuery('#loading').modal({backdrop: 'static', keyboard: false})
this makes it impossible to close modal by clicking outside the box -->
<div class="modal fade" id="loading" tabindex="-1" role="dialog" aria-hidden="true" style="z-index: 99999999;">
<div class="modal-dialog modal-dialog-centered" role="document">
<div class="modal-content bg-dark text-light">
<div class="modal-body" style="padding-top:1.5rem; padding-bottom:1.5rem;">
<div class="row justify-content-between">
<div class="col-auto">
Please check your Metamask...
</div>
<div class="col-2">
<div class="miniloader"></div>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- /modal loading -->
<!-- modal vanity -->
<div class="modal fade" id="vanity" tabindex="-1" role="dialog" aria-hidden="true">
<div class="modal-dialog modal-dialog-centered" role="document">
<div class="modal-content bg-dark text-light">
<div class="modal-body" style="padding-top:1.5rem; padding-bottom:1.5rem;">
<!-- Name chooser -->
<div class="row">
<div class="col">
<p class="lead nomarginb">Graffiti your name on the Blockchain</p>
</div>
<div class="col-auto">
<p class="text-right nomarginb">
<a href="#" class="closemodal">
<i class="fas fa-times"></i>
</a>
</p>
</div>
</div>
<hr>
<div class="row">
<div class="col">
<div class="row">
<div class="col">
<div class="input-group mb-3">
<div class="input-group-prepend">
<button class="btn btn-outline-yel" type="button" id="randomName">
Random
</button>
</div>
<input class="form-control text-center" type="text" placeholder="type here" id="nameInput">
</div>
</div>
</div>
<p class="small">
<br>
Names must follow these rules:<br>
-Must be unique<br>
-32 Characters or Less<br>
-A-Z (lowercase)<br>
-Name cannot be <i>just</i> numbers, but numbers are allowed<br>
-No special characters<br>
-No more than one space between characters<br>
<br>
If the transaction fails, one of these criteria was not met properly. <br>
<br>
Names are yours permanently (for vanity URLS). But only your most recent name will show up on the leaderboard/game UI. You can own as many names as you'd like.<br><br>
Make it good.
</p>
</div>
</div>
<div class="row">
<div class="col">
<button class="btn btn-purp btn-block btn-lg" id="namePurchase"><i class="fab fa-ethereum"></i> Purchase for 0.01 ETH</button>
<p style="font-size:0.7rem;color:#afafaf"> The fee is distributed across community members who made this game possible.</p>
</div>
</div>
<!-- /Name chooser -->
</div>
</div>
</div>
</div>
<!-- /modal vanity -->
<!--
<div id="quotes" class="topbar fixed-top text-light bg-dark jumboshade" style="z-index:99;">
<div class="container">
<div class="row">
<div class="col-auto">
<i class="fas fa-stopwatch"></i> <span class="boxtimer lead small">00:00:00</span>
</div>
<div class="col-auto yourkeys">
<i class="fas fa-key"></i> <span class="lead small">0000</span>
</div>
<div class="col col-2 yourrank">
<i class="fas fa-list-ol"></i> <span></span>
</div>
<div class="col afflink" if={$this.isCEO}>
<i class="fas fa-link"></i> <span class="lead small"></span>
</div>
<div class="col text-right">
<span class="lead small qTarget">Loading Memes</span>
</div>
</div>
</div> -->
</div>
<div id="spacer" class="spacer"></div>
<!-- main content (exchangeable) -->
<module-template>
</module-template>
<module-airdrop>
</module-airdrop>
<module-modal>
</module-modal>
<!-- /main content -->
</div>
<!-- phishing warning -->
<div class="modal" role="dialog" id="phishingWarning">
<div class="modal-dialog" role="document">
<div class="modal-content bg-dark text-light">
<div class="modal-header">
<h5 class="modal-title">Tips!</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body">
<p>This is the short version of Fomo3D.</p>
<p>We designed a more exciting rules and the limitation of game duration is just 10 minutes.</p>
<p>And we do not reward the p3d holders.</p>
<hr>
<p>这里是Fomo3D短时间版本。</p>
<p>我们提供了更刺激的玩法,上限时间仅10分钟。</p>
<p>且我们将p3d持有者的奖励全部返还到奖池中。</p>
<p><a href="https://hackmd.io/s/ryFTfx-Em#">官方中文简易指南 https://hackmd.io/s/ryFTfx-Em</a> (Author: maojk#6803)</p>
<hr>
<p><a href="https://etherscan.io/address/0x0f90ef4e2526e3d1791862574f9fb26a0f39ec86#code">Contract Code</a></p>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-block btn-lg btn-secondary btn-purp" data-dismiss="modal">Got it!</button>
</div>
</div>
</div>
</div>
<!-- owo -->
<div class="animation">
<img src="img/snorting_in_progress_pepe.png" height="150px">
</div>
<script src="https://cdn.jsdelivr.net/npm/clipboard@2/dist/clipboard.min.js"></script>
<script src="js/alertify.js"></script>
<script src="js/bootstrap.bundle.js"></script>
<!-- <script src="js/bootstrap.min.js"></script> -->
<script src="js/fontawesome-all.min.js"></script>
<script>
if(!localStorage.getItem("seenWarning")){
// Start phishing warning on load
jQuery("#phishingWarning").modal()
localStorage.setItem("seenWarning", true)
}
// Vanity modal
jQuery(".vanity").click(function(){
jQuery('#vanity').modal()
})
jQuery(".closemodal").click(function(){
jQuery('#vanity').modal('hide')
})
// Random Name generator
jQuery('#randomName').click(function(){
jQuery('#nameInput').val(namegen.generate());
})
/* Switch for low graphics mode
if(window.localStorage.length > 0){
if(localStorage['fancy'] == "false"){
jQuery("#fancyswitch").prop("checked", false);
var toggled = false
}
else{
jQuery("#fancyswitch").prop("checked", true);
var toggled = true
}
}
function graphicslow(){
jQuery('#hdgraphics').toggle();
toggled = !toggled
localStorage.setItem('fancy', toggled);
}
// Switch to toggle tutorials
if(window.localStorage.length > 0){
if(localStorage['tutorials'] == "false"){
jQuery("#tutorialswitch").prop("checked", false);
var toggled2 = false
}
else{
jQuery("#tutorialswitch").prop("checked", true);
var toggled2 = true
}
}*/
</script>
<script src="js/bundle.js"></script >
</body>
</html>
<!doctype html> <!doctype html>
<html lang="en"> <html lang="en">
<head> <head>
<!-- metatags --> <!-- metatags -->
<meta charset="utf-8"> <meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="theme-color" content="#343a40"> <meta name="theme-color" content="#343a40">
<!-- SEO related --> <!-- SEO related -->
<meta name="description" content="Welcome to blockchain development. Your ICO is over, hype is drying up. Take the private keys, drain everything."> <meta name="description"
<meta name="keywords" content="Ethereum, F3D+, Fomo3D, Proof of Weak Hands, P3D, PoWH3D, Cryptocurrency, ICO, Parody, Satire, Gambling, Jackpot, Lottery, Referral, Passive Income, UBI"> content="Welcome to blockchain development. Your ICO is over, hype is drying up. Take the private keys, drain everything.">
<meta name="keywords"
content="Ethereum, F3D+, Fomo3D, Proof of Weak Hands, P3D, PoWH3D, Cryptocurrency, ICO, Parody, Satire, Gambling, Jackpot, Lottery, Referral, Passive Income, UBI">
<meta name="author" content="Team JUST"> <meta name="author" content="Team JUST">
<!-- open graph --> <!-- open graph -->
<meta property="og:title" content="F3D+: Your Personal Exit Scam"> <meta property="og:title" content="F3D+: Your Personal Exit Scam">
<meta property="og:description" content="Welcome to blockchain development. Your ICO is over, hype is drying up. Take the private keys, drain everything."> <meta property="og:description"
content="Welcome to blockchain development. Your ICO is over, hype is drying up. Take the private keys, drain everything.">
<meta property="og:type" content="website"> <meta property="og:type" content="website">
<meta property="og:url" content="https://exitscam.me/"> <meta property="og:url" content="https://exitscam.me/">
<meta property="og:image" content="https://exitscam.me/img/og_logo.png"> <meta property="og:image" content="https://exitscam.me/img/og_logo.png">
...@@ -32,7 +35,7 @@ ...@@ -32,7 +35,7 @@
<link rel="stylesheet" href="./css/base.css"> <link rel="stylesheet" href="./css/base.css">
<link rel="stylesheet" href="./css/ghostframe.css"> <link rel="stylesheet" href="./css/ghostframe.css">
<link href="https://fonts.googleapis.com/css?family=Poppins:200,400" rel="stylesheet"> <link href="https://fonts.googleapis.com/css?family=Poppins:200,400" rel="stylesheet">
<script src="https://code.jquery.com/jquery-3.2.0.min.js"></script> <script src="./js/jquery-3.2.0.min.js"></script>
<!-- <!--
.d888 .d8888b. 888 .d888 .d8888b. 888
...@@ -46,12 +49,12 @@ ...@@ -46,12 +49,12 @@
--> -->
<title>F3D Go</title> <title>F3D Go</title>
</head> </head>
<body> <body>
<module-bash> <module-bash>
</module-bash> </module-bash>
<!-- <div class="blurryboy"></div> --> <!-- <div class="blurryboy"></div> -->
<div id="main-wrapper"> <div id="main-wrapper">
<!-- navigation --> <!-- navigation -->
<header class="topbar fixed-top"> <header class="topbar fixed-top">
<module-navbar> <module-navbar>
...@@ -62,7 +65,9 @@ ...@@ -62,7 +65,9 @@
<noscript> <noscript>
<div class="row"> <div class="row">
<div class="col"> <div class="col">
<div class="alert alert-purp pulse text-center text-light" role="alert" style="margin-top:8rem;">Please enable Javascript to play F3D+</div> <div class="alert alert-purp pulse text-center text-light" role="alert" style="margin-top:8rem;">Please
enable Javascript to play F3D+
</div>
</div> </div>
</div> </div>
</noscript> </noscript>
...@@ -92,10 +97,10 @@ ...@@ -92,10 +97,10 @@
<div class="modal-dialog modal-dialog-centered" role="document"> <div class="modal-dialog modal-dialog-centered" role="document">
<div class="modal-content bg-dark text-light"> <div class="modal-content bg-dark text-light">
<div class="modal-body" style="padding-top:1.5rem; padding-bottom:1.5rem;"> <div class="modal-body" style="padding-top:1.5rem; padding-bottom:1.5rem;">
<!-- Name chooser -->
<div class="row"> <div class="row">
<div class="col"> <div class="col">
<p class="lead nomarginb">Graffiti your name on the Blockchain</p> <p class="lead nomarginb">把你的名字写入区块链!</p>
</div> </div>
<div class="col-auto"> <div class="col-auto">
<p class="text-right nomarginb"> <p class="text-right nomarginb">
...@@ -113,39 +118,38 @@ ...@@ -113,39 +118,38 @@
<div class="input-group mb-3"> <div class="input-group mb-3">
<div class="input-group-prepend"> <div class="input-group-prepend">
<button class="btn btn-outline-yel" type="button" id="randomName"> <button class="btn btn-outline-yel" type="button" id="randomName">
Random 随机
</button> </button>
</div> </div>
<input class="form-control text-center" type="text" placeholder="type here" id="nameInput"> <input class="form-control text-center" type="text" placeholder="type here"
id="nameInput">
</div> </div>
</div> </div>
</div> </div>
<p class="small"> <p class="small">
<br> <br>
Names must follow these rules:<br> 名字必须遵从以下规则:<br>
-Must be unique<br> -不可重复<br>
-32 Characters or Less<br> -至多32字符<br>
-A-Z (lowercase)<br> -A-Z (小写字母)<br>
-Name cannot be <i>just</i> numbers, but numbers are allowed<br> -名字不能使用 <i></i> 数字, 但是数字是可以使用的<br>
-No special characters<br> -不可使用特殊字符<br>
-No more than one space between characters<br> -字符之间不得使用超过一个空格<br>
<br> <br>
If the transaction fails, one of these criteria was not met properly. <br> 如果交易失败,则说明无法正确满足其中至少一个标准。 <br>
<br> <br>
Names are yours permanently (for vanity URLS). But only your most recent name will show up on the leaderboard/game UI. You can own as many names as you'd like.<br><br> 名称是永久性的(用于推广链接)。您可以拥有任意数量的名称,但只有您最近的名字才会显示在排行榜/游戏用户界面上。<br><br>
Make it good.
</p> </p>
</div> </div>
</div> </div>
<div class="row"> <div class="row">
<div class="col"> <div class="col">
<button class="btn btn-purp btn-block btn-lg" id="namePurchase"><i class="fab fa-ethereum"></i> Purchase for 0.01 ETH</button> <button class="btn btn-gold btn-block btn-lg" id="namePurchase"><i
<p style="font-size:0.7rem;color:#afafaf"> The fee is distributed across community members who made this game possible.</p> class="fab fa-ethereum"></i> 支付 0.01 ETH 购买
</button>
</div> </div>
</div> </div>
<!-- /Name chooser -->
</div> </div>
</div> </div>
</div> </div>
...@@ -172,20 +176,20 @@ ...@@ -172,20 +176,20 @@
</div> </div>
</div> </div>
</div> --> </div> -->
</div> </div>
<div id="spacer" class="spacer"></div> <div id="spacer" class="spacer"></div>
<!-- main content (exchangeable) --> <!-- main content (exchangeable) -->
<module-template> <module-template>
</module-template> </module-template>
<module-airdrop> <module-airdrop>
</module-airdrop> </module-airdrop>
<module-modal> <module-modal>
</module-modal> </module-modal>
<!-- /main content --> <!-- /main content -->
</div> </div>
<!-- phishing warning --> <!-- phishing warning -->
<div class="modal" role="dialog" id="phishingWarning"> <div class="modal" role="dialog" id="phishingWarning">
<div class="modal-dialog" role="document"> <div class="modal-dialog" role="document">
<div class="modal-content bg-dark text-light"> <div class="modal-content bg-dark text-light">
<div class="modal-header"> <div class="modal-header">
...@@ -202,29 +206,31 @@ ...@@ -202,29 +206,31 @@
<p>这里是Fomo3D短时间版本。</p> <p>这里是Fomo3D短时间版本。</p>
<p>我们提供了更刺激的玩法,上限时间仅10分钟。</p> <p>我们提供了更刺激的玩法,上限时间仅10分钟。</p>
<p>且我们将p3d持有者的奖励全部返还到奖池中。</p> <p>且我们将p3d持有者的奖励全部返还到奖池中。</p>
<p><a href="https://hackmd.io/s/ryFTfx-Em#">官方中文简易指南 https://hackmd.io/s/ryFTfx-Em</a> (Author: maojk#6803)</p> <p><a href="https://hackmd.io/s/ryFTfx-Em#">官方中文简易指南 https://hackmd.io/s/ryFTfx-Em</a> (Author:
maojk#6803)</p>
<hr> <hr>
<p><a href="https://etherscan.io/address/0x0f90ef4e2526e3d1791862574f9fb26a0f39ec86#code">Contract Code</a></p> <p><a href="https://etherscan.io/address/0x0f90ef4e2526e3d1791862574f9fb26a0f39ec86#code">Contract
Code</a></p>
</div> </div>
<div class="modal-footer"> <div class="modal-footer">
<button type="button" class="btn btn-block btn-lg btn-secondary btn-purp" data-dismiss="modal">Got it!</button> <button type="button" class="btn btn-block btn-lg btn-secondary btn-purp" data-dismiss="modal">Got it!
</div> </button>
</div> </div>
</div> </div>
</div> </div>
</div>
<!-- owo --> <!-- owo -->
<div class="animation"> <div class="animation">
<img src="img/snorting_in_progress_pepe.png" height="150px"> <img src="img/snorting_in_progress_pepe.png" height="150px">
</div> </div>
<script src="https://cdn.jsdelivr.net/npm/clipboard@2/dist/clipboard.min.js"></script> <script src="js/clipboard.min.js"></script>
<script src="js/alertify.js"></script> <script src="js/alertify.js"></script>
<script src="js/bootstrap.bundle.js"></script> <script src="js/bootstrap.bundle.js"></script>
<!-- <script src="js/bootstrap.min.js"></script> --> <script src="js/fontawesome-all.min.js"></script>
<script src="js/fontawesome-all.min.js"></script> <script>
<script> if (!localStorage.getItem("seenWarning")) {
if(!localStorage.getItem("seenWarning")){
// Start phishing warning on load // Start phishing warning on load
jQuery("#phishingWarning").modal() jQuery("#phishingWarning").modal()
...@@ -233,15 +239,15 @@ ...@@ -233,15 +239,15 @@
// Vanity modal // Vanity modal
jQuery(".vanity").click(function(){ jQuery(".vanity").click(function () {
jQuery('#vanity').modal() jQuery('#vanity').modal()
}) })
jQuery(".closemodal").click(function(){ jQuery(".closemodal").click(function () {
jQuery('#vanity').modal('hide') jQuery('#vanity').modal('hide')
}) })
// Random Name generator // Random Name generator
jQuery('#randomName').click(function(){ jQuery('#randomName').click(function () {
jQuery('#nameInput').val(namegen.generate()); jQuery('#nameInput').val(namegen.generate());
}) })
...@@ -274,7 +280,7 @@ ...@@ -274,7 +280,7 @@
} }
}*/ }*/
</script> </script>
<script src="js/bundle.js"></script > <script src="js/bundle-cn.js"></script>
</body> </body>
</html> </html>
This source diff could not be displayed because it is too large. You can view the blob instead.
const Koa = require('koa');
const path = require('path');
const mime = require('mime');
const fs = require('mz/fs');
// 注意require('koa-router')返回的是函数:
const router = require('koa-router')();
const app = new Koa();
const url = '/';
const dir = 'src';
// log request URL:
app.use(async (ctx, next) => {
let rpath = ctx.request.path;
console.log(rpath);
if (rpath.startsWith('/img')||rpath.startsWith('/js')||rpath.startsWith('/css')||rpath==='/') {
if (rpath === '/') {
rpath = '/index.html';
}
let fp = path.join(dir, rpath.substring(url.length));
console.log(fp);
if (await fs.exists(fp)) {
ctx.response.type = mime.lookup(rpath);
console.log(ctx.response.type);
ctx.response.body = await fs.readFile(fp);
} else {
// 文件不存在:
ctx.response.status = 404;
}
} else {
// 不是指定前缀的URL,继续处理下一个middleware:
await next();
}
});
// add url-route:
router.get('/:name', async (ctx, next) => {
let rpath = '/index.html';
let fp = path.join(dir, rpath.substring(url.length));
console.log(fp);
if (await fs.exists(fp)) {
ctx.response.type = mime.lookup(rpath);
console.log(ctx.response.type);
ctx.response.body = await fs.readFile(fp);
} else {
ctx.response.status = 404;
}
});
// add router middleware:
app.use(router.routes());
app.listen(3000);
console.log('app started at port 3000...');
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment