Commit aed5260b authored by GaiaXalter's avatar GaiaXalter 💬

决斗数据库 暗黑版

parent 7e4b9602
Pipeline #8301 failed with stages
in 2 minutes and 26 seconds
...@@ -431,8 +431,47 @@ ...@@ -431,8 +431,47 @@
<style scoped> <style scoped>
.nav-tabs>li.active>a, .nav-tabs>li.active>a:hover, .nav-tabs>li.active>a:focus
{
background-color: #1a4861;
border: 3px solid #161b22;
}
.nav-tabs {
border-bottom: 1px solid black;
}
.well
{
background-color: #1a4861;
border:none;
}
.input-group-addon
{
color: white;
background-color: #161b22;
border: 1px solid black;
}
.form-control
{
border: 1px solid black;
color: white;
background-color: #283044;
}
.tab-img { .tab-img {
height: 72px; height: 72px;
width: 120px; width: 120px;
} }
.table-responsive {
border: 1px solid black;
}
</style> </style>
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -6,16 +6,33 @@ ...@@ -6,16 +6,33 @@
<!--<nav class="navbar navbar-inverse">--> <!--<nav class="navbar navbar-inverse">-->
<div class="container"> <div class="container">
<div class="navbar-header"> <div class="navbar-header">
<a class="navbar-brand navbar-link" href="index.html"><img src="../assets/img/mycardlogo.png" id="logo">{{lang.database}} </a> <a class="navbar-brand navbar-link" href="index.html"><img src="../assets/img/mycardlogo.png" id="logo">MyCard
<button class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navcol-1"><span class="sr-only">Toggle navigation</span><span class="icon-bar"></span><span class="icon-bar"></span><span class="icon-bar"></span></button> </a>
<button class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navcol-1"><span
class="sr-only">Toggle navigation</span><span class="icon-bar"></span><span class="icon-bar"></span><span
class="icon-bar"></span></button>
</div> </div>
<div class="collapse navbar-collapse" id="navcol-1"> <div class="collapse navbar-collapse" id="navcol-1">
<ul class="nav navbar-nav navbar-right"> <ul class="nav navbar-nav navbar-right">
<li role="presentation"><a href="https://ygobbs.com/" target="_blank">{{lang.forum}} </a></li>
<li role="presentation"><a href="https://shop387046095.taobao.com/?spm=2013.1.1000126.2.61a97e3emY0JZB">{{lang.shop}} </a>
</li>
<li class="dropdown">
<a class="dropdown-toggle" data-toggle="dropdown" aria-expanded="false" href="#">
{{lang.database}} <span class="caret"></span></a>
<ul class="dropdown-menu" role="menu">
<li role="presentation"><a href="#/ranking">{{lang.rank}} </a></li> <li role="presentation"><a href="#/ranking">{{lang.rank}} </a></li>
<li role="presentation"><a href="#/cards">{{lang.card_rank}} </a></li> <li role="presentation"><a href="#/cards">{{lang.card_rank}} </a></li>
<li role="presentation"><a href="https://ygobbs.com/" target="_blank">{{lang.forum}} </a></li> </ul>
<li role="presentation"><a href="https://event.ygobbs.com" target="_blank">{{lang.race}} </a></li> </li>
<li role="presentation"><a href=" https://event.ygobbs.com">{{lang.race}} </a></li>
<li role="presentation"><a href="#/download">{{lang.download}} </a></li>
<li class="dropdown"> <li class="dropdown">
<a class="dropdown-toggle" data-toggle="dropdown" aria-expanded="false" href="#"> <a class="dropdown-toggle" data-toggle="dropdown" aria-expanded="false" href="#">
...@@ -23,12 +40,13 @@ ...@@ -23,12 +40,13 @@
<ul class="dropdown-menu" role="menu"> <ul class="dropdown-menu" role="menu">
<li role="presentation"><a href="#/deckprint">{{lang.deckprint}} </a></li> <li role="presentation"><a href="#/deckprint">{{lang.deckprint}} </a></li>
<li role="presentation"><a href="#/tabulate">{{lang.tabulate}} </a></li> <li role="presentation"><a href="#/tabulate">{{lang.tabulate}} </a></li>
<li role="presentation"><a href="https://rep.ygobbs.com" target="_blank">{{lang.battlelog}} </a></li> <li role="presentation"><a href="https://rep.ygobbs.com">{{lang.battlelog}} </a></li>
</ul> </ul>
</li> </li>
<li v-if="user.isLogin" class="dropdown"> <li v-if="user.isLogin" class="dropdown">
<a class="dropdown-toggle" data-toggle="dropdown" aria-expanded="false" href="#"><img v-bind:src="user.avatar_url" id="head-portrait">{{user.username}} <span class="caret"></span></a> <a class="dropdown-toggle" data-toggle="dropdown" aria-expanded="false" href="#"><img
v-bind:src="user.avatar_url" id="head-portrait">{{user.username}} <span class="caret"></span></a>
<ul class="dropdown-menu" role="menu"> <ul class="dropdown-menu" role="menu">
<li role="presentation"><a href="#/profile">{{lang.profile}} </a></li> <li role="presentation"><a href="#/profile">{{lang.profile}} </a></li>
<li role="presentation"><a href="https://accounts.moecube.com/profiles">{{lang.account}} </a></li> <li role="presentation"><a href="https://accounts.moecube.com/profiles">{{lang.account}} </a></li>
...@@ -54,12 +72,12 @@ ...@@ -54,12 +72,12 @@
<!--<other-component></other-component>--> <!--<other-component></other-component>-->
<!-- Form --> <!-- Form -->
<el-dialog title="MCPRO服务改进调查" v-if="!(voteObj.multiple)" :visible.sync="dialogFormVisible" :size='size'> <el-dialog title="MCPRO服务改进调查" v-if="!(voteObj.multiple)" :visible.sync="dialogFormVisible" :size='size'>
<div class="voteTitle">{{ voteObj.title }} </div><br> <div class="voteTitle">{{ voteObj.title }}</div>
<br>
<el-form :model="form"> <el-form :model="form">
...@@ -82,7 +100,8 @@ ...@@ -82,7 +100,8 @@
<el-dialog title="MCPRO服务改进调查" v-if="voteObj.multiple" :visible.sync="dialogFormVisible" :size='size'> <el-dialog title="MCPRO服务改进调查" v-if="voteObj.multiple" :visible.sync="dialogFormVisible" :size='size'>
<div class="voteTitle">{{ voteObj.title }} (最多选{{voteObj.max}}项)</div><br> <div class="voteTitle">{{ voteObj.title }} (最多选{{voteObj.max}}项)</div>
<br>
<el-form :model="form"> <el-form :model="form">
...@@ -101,13 +120,15 @@ ...@@ -101,13 +120,15 @@
<div id="ads" style="display: none;position: relative;"> <div id="ads" style="display: none;position: relative;">
<div @click="adClick"> <div @click="adClick">
<div v-if="autoClose" style="text-align: center;position: absolute;width:20px;height: 20px;margin-top: 0px; float: right;background-color: red">{{timer}}</div> <div v-if="autoClose"
style="text-align: center;position: absolute;width:20px;height: 20px;margin-top: 0px; float: right;background-color: red">
{{timer}}
</div>
<img v-bind:style="{ height: 'auto', width: width }" v-bind:src="adObj.src"> <img v-bind:style="{ height: 'auto', width: width }" v-bind:src="adObj.src">
</div> </div>
</div> </div>
</div> </div>
</template> </template>
...@@ -116,7 +137,7 @@ ...@@ -116,7 +137,7 @@
import crypto from 'crypto'; import crypto from 'crypto';
import language from './lang'; import language from './lang';
import { mapGetters } from 'vuex' import {mapGetters} from 'vuex'
import API from '../api' import API from '../api'
import moment from 'moment' import moment from 'moment'
...@@ -136,9 +157,7 @@ ...@@ -136,9 +157,7 @@
multiple: false, multiple: false,
options: [] options: []
}, },
adObj: { adObj: {},
},
autoClose: false, autoClose: false,
size: 'small', size: 'small',
dialogFormVisible: false, dialogFormVisible: false,
...@@ -160,7 +179,6 @@ ...@@ -160,7 +179,6 @@
this.init() this.init()
var regex_match = /(nokia|iphone|android|motorola|^mot-|softbank|foma|docomo|kddi|up.browser|up.link|htc|dopod|blazer|netfront|helio|hosin|huawei|novarra|CoolPad|webos|techfaith|palmsource|blackberry|alcatel|amoi|ktouch|nexian|samsung|^sam-|s[cg]h|^lge|ericsson|philips|sagem|wellcom|bunjalloo|maui|symbian|smartphone|midp|wap|phone|windows ce|iemobile|^spice|^bird|^zte-|longcos|pantech|gionee|^sie-|portalmmm|jigs browser|hiptop|^benq|haier|^lct|operas*mobi|opera*mini|320x320|240x320|176x220)/i; var regex_match = /(nokia|iphone|android|motorola|^mot-|softbank|foma|docomo|kddi|up.browser|up.link|htc|dopod|blazer|netfront|helio|hosin|huawei|novarra|CoolPad|webos|techfaith|palmsource|blackberry|alcatel|amoi|ktouch|nexian|samsung|^sam-|s[cg]h|^lge|ericsson|philips|sagem|wellcom|bunjalloo|maui|symbian|smartphone|midp|wap|phone|windows ce|iemobile|^spice|^bird|^zte-|longcos|pantech|gionee|^sie-|portalmmm|jigs browser|hiptop|^benq|haier|^lct|operas*mobi|opera*mini|320x320|240x320|176x220)/i;
if (regex_match.exec(navigator.userAgent)) { if (regex_match.exec(navigator.userAgent)) {
this.isMobile = true this.isMobile = true
...@@ -178,7 +196,6 @@ ...@@ -178,7 +196,6 @@
} }
// var voteTime = localStorage.getItem('voteTime'); // var voteTime = localStorage.getItem('voteTime');
// if (voteTime) { // if (voteTime) {
// var today = moment().format('YYYY-MM-DD') // var today = moment().format('YYYY-MM-DD')
...@@ -198,7 +215,7 @@ ...@@ -198,7 +215,7 @@
var time = 5000 var time = 5000
var _this = this var _this = this
API.getAd({type:1}).then((res) => { API.getAd({type: 1}).then((res) => {
if (res.data.auto_close_ad && res.data.auto_close_ad === "true") { if (res.data.auto_close_ad && res.data.auto_close_ad === "true") {
_this.autoClose = true _this.autoClose = true
} }
...@@ -265,13 +282,12 @@ ...@@ -265,13 +282,12 @@
}); });
if (!this.user.isLogin) { if (!this.user.isLogin) {
return; return;
} }
API.getVote({ user: this.user.id, username: this.user.username }).then((res) => { API.getVote({user: this.user.id, username: this.user.username}).then((res) => {
if (res.data.data && res.data.data !== "null") { if (res.data.data && res.data.data !== "null") {
this.voteObj = res.data.data this.voteObj = res.data.data
this.voteObj.options = JSON.parse(this.voteObj.options) this.voteObj.options = JSON.parse(this.voteObj.options)
...@@ -290,21 +306,32 @@ ...@@ -290,21 +306,32 @@
layer.open({ layer.open({
type: 1 type: 1
, title: '' ,
, offset: 'b' //具体配置参考:http://www.layui.com/doc/modules/layer.html#offset title: ''
, area: ['100%', 'auto'] ,
, closeBtn: 0 offset: 'b' //具体配置参考:http://www.layui.com/doc/modules/layer.html#offset
, id: 'layerDemo' ,
area: ['100%', 'auto']
,
closeBtn: 0
,
id: 'layerDemo'
// ,skin: 'demo-class' // ,skin: 'demo-class'
, content: '<div style="padding: 20px;margin-bottom: -20px; text-align: center">' + '是否参与问卷调查? <br><p class="voteFoot">参与调查可以改善您游戏体验与获得EXP!</p> ' + '</div>' ,
, btn: ['投票Start!', '但是我拒绝!'] content: '<div style="padding: 20px;margin-bottom: -20px; text-align: center">' + '是否参与问卷调查? <br><p class="voteFoot">参与调查可以改善您游戏体验与获得EXP!</p> ' + '</div>'
, btnAlign: 'c' //按钮居中 ,
, shade: 0 //不显示遮罩 btn: ['投票Start!', '但是我拒绝!']
, yes: function () { ,
btnAlign: 'c' //按钮居中
,
shade: 0 //不显示遮罩
,
yes: function () {
layer.closeAll(); layer.closeAll();
_this.dialogFormVisible = true; _this.dialogFormVisible = true;
} }
, btn2: function () { ,
btn2: function () {
console.log('拒绝!') console.log('拒绝!')
} }
}); });
...@@ -324,16 +351,24 @@ ...@@ -324,16 +351,24 @@
layer.open({ layer.open({
type: 1 type: 1
, title: 'Hi, ' + _this.user.username ,
, offset: 'rb' //具体配置参考:http://www.layui.com/doc/modules/layer.html#offset title: 'Hi, ' + _this.user.username
,
offset: 'rb' //具体配置参考:http://www.layui.com/doc/modules/layer.html#offset
// , area: ['100%', 'auto'] // , area: ['100%', 'auto']
, id: 'layerDemo' ,
id: 'layerDemo'
// ,skin: 'demo-class' // ,skin: 'demo-class'
, content: '<div style="padding: 20px;margin-bottom: -20px; text-align: center">' + '是否参与问卷调查? <br><p class="voteFoot">参与调查可以改善您游戏体验与获得EXP!</p> ' + '</div>' ,
, btn: '好的' content: '<div style="padding: 20px;margin-bottom: -20px; text-align: center">' + '是否参与问卷调查? <br><p class="voteFoot">参与调查可以改善您游戏体验与获得EXP!</p> ' + '</div>'
, btnAlign: 'c' //按钮居中 ,
, shade: 0 //不显示遮罩 btn: '好的'
, yes: function () { ,
btnAlign: 'c' //按钮居中
,
shade: 0 //不显示遮罩
,
yes: function () {
layer.closeAll(); layer.closeAll();
_this.dialogFormVisible = true; _this.dialogFormVisible = true;
} }
...@@ -343,15 +378,11 @@ ...@@ -343,15 +378,11 @@
} }
}, (res) => { }, (res) => {
console.log(res) console.log(res)
}); });
}, },
computed: { computed: {
...@@ -364,7 +395,7 @@ ...@@ -364,7 +395,7 @@
adClick: function () { adClick: function () {
API.adClick({ id: this.adObj.id }).then((res) => { API.adClick({id: this.adObj.id}).then((res) => {
}, (res) => { }, (res) => {
console.log(res) console.log(res)
...@@ -375,7 +406,7 @@ ...@@ -375,7 +406,7 @@
adImpl: function () { adImpl: function () {
API.adImpl({ id: this.adObj.id }).then((res) => { API.adImpl({id: this.adObj.id}).then((res) => {
}, (res) => { }, (res) => {
console.log(res) console.log(res)
...@@ -449,19 +480,19 @@ ...@@ -449,19 +480,19 @@
layer.closeAll(); layer.closeAll();
//return false 开启该代码可禁止点击该按钮关闭 //return false 开启该代码可禁止点击该按钮关闭
API.getVote({ user: _this.user.id, username: _this.user.username }).then((res) => { API.getVote({user: _this.user.id, username: _this.user.username}).then((res) => {
if (res.data.data && res.data.data !== "null") { if (res.data.data && res.data.data !== "null") {
_this.voteObj = res.data.data _this.voteObj = res.data.data
_this.voteObj.options = JSON.parse(_this.voteObj.options) _this.voteObj.options = JSON.parse(_this.voteObj.options)
_this.dialogFormVisible = true; _this.dialogFormVisible = true;
} else { } else {
API.getVote({ user: _this.user.id, username: _this.user.username }).then((res) => { API.getVote({user: _this.user.id, username: _this.user.username}).then((res) => {
if (res.data.data && res.data.data !== "null") { if (res.data.data && res.data.data !== "null") {
_this.voteObj = res.data.data _this.voteObj = res.data.data
_this.voteObj.options = JSON.parse(_this.voteObj.options) _this.voteObj.options = JSON.parse(_this.voteObj.options)
_this.dialogFormVisible = true; _this.dialogFormVisible = true;
} else { } else {
API.getVote({ user: _this.user.id, username: _this.user.username }).then((res) => { API.getVote({user: _this.user.id, username: _this.user.username}).then((res) => {
if (res.data.data && res.data.data !== "null") { if (res.data.data && res.data.data !== "null") {
_this.voteObj = res.data.data _this.voteObj = res.data.data
_this.voteObj.options = JSON.parse(_this.voteObj.options) _this.voteObj.options = JSON.parse(_this.voteObj.options)
...@@ -507,19 +538,19 @@ ...@@ -507,19 +538,19 @@
layer.closeAll(); layer.closeAll();
//return false 开启该代码可禁止点击该按钮关闭 //return false 开启该代码可禁止点击该按钮关闭
API.getVote({ user: _this.user.id, username: _this.user.username }).then((res) => { API.getVote({user: _this.user.id, username: _this.user.username}).then((res) => {
if (res.data.data && res.data.data !== "null") { if (res.data.data && res.data.data !== "null") {
_this.voteObj = res.data.data _this.voteObj = res.data.data
_this.voteObj.options = JSON.parse(_this.voteObj.options) _this.voteObj.options = JSON.parse(_this.voteObj.options)
_this.dialogFormVisible = true; _this.dialogFormVisible = true;
} else { } else {
API.getVote({ user: _this.user.id, username: _this.user.username }).then((res) => { API.getVote({user: _this.user.id, username: _this.user.username}).then((res) => {
if (res.data.data && res.data.data !== "null") { if (res.data.data && res.data.data !== "null") {
_this.voteObj = res.data.data _this.voteObj = res.data.data
_this.voteObj.options = JSON.parse(_this.voteObj.options) _this.voteObj.options = JSON.parse(_this.voteObj.options)
_this.dialogFormVisible = true; _this.dialogFormVisible = true;
} else { } else {
API.getVote({ user: _this.user.id, username: _this.user.username }).then((res) => { API.getVote({user: _this.user.id, username: _this.user.username}).then((res) => {
if (res.data.data && res.data.data !== "null") { if (res.data.data && res.data.data !== "null") {
_this.voteObj = res.data.data _this.voteObj = res.data.data
_this.voteObj.options = JSON.parse(_this.voteObj.options) _this.voteObj.options = JSON.parse(_this.voteObj.options)
...@@ -547,8 +578,6 @@ ...@@ -547,8 +578,6 @@
} }
// localStorage.setItem('voteTime', moment().format('YYYY-MM-DD')); // localStorage.setItem('voteTime', moment().format('YYYY-MM-DD'));
}, (res) => { }, (res) => {
console.log(res) console.log(res)
...@@ -637,6 +666,7 @@ ...@@ -637,6 +666,7 @@
width: 260px; width: 260px;
/*word-break:break-all; width:100px; overflow:auto;*/ /*word-break:break-all; width:100px; overflow:auto;*/
} }
/*body .demo-class .layui-layer-title{background:#c00; color:#fff; border: none;} /*body .demo-class .layui-layer-title{background:#c00; color:#fff; border: none;}
body .demo-class .layui-layer-btn{border-top:1px solid #E9E7E7} body .demo-class .layui-layer-btn{border-top:1px solid #E9E7E7}
body .demo-class .layui-layer-btn a{background:#333;} body .demo-class .layui-layer-btn a{background:#333;}
......
...@@ -52,7 +52,7 @@ module.exports = { ...@@ -52,7 +52,7 @@ module.exports = {
all: '总场', all: '总场',
ratio: '胜率', ratio: '胜率',
violation: '违规次数', violation: '违规次数',
shop:"Merch❤",
userRank: { userRank: {
expRank: 'EXP排名', expRank: 'EXP排名',
pointRank: '竞技场排名', pointRank: '竞技场排名',
...@@ -93,15 +93,15 @@ module.exports = { ...@@ -93,15 +93,15 @@ module.exports = {
}, },
index: { index: {
p1: 'MyCard是一款免费开源的游戏平台,支持着YGOPro,东方弹幕等游戏的联机。同时平台内也自带制作组自主研发的单机游戏。', p1: 'MyCard是一款免费开源的游戏平台,支持着YGOPRO,东方弹幕等游戏的联机。同时平台内也自带制作组自主研发的单机游戏。',
srartNow: 'START NOW!', srartNow: 'START NOW!',
p2: '欢迎来到MCPro决斗数据库', p2: '欢迎来到MyCard决斗数据库',
p3: '在这里你可以找到一切与MyCard中YGOPro决斗有关的数据。强力的决斗者离不开数据分析参考,请尽情使用这些数据变的更强吧!', p3: '在这里你可以找到一切MyCard决斗有关的数据。强力的决斗者离不开数据分析参考,请尽情使用这些数据变的更强吧!',
p4: '查看EXP与竞技场排行榜,你是否也是榜上有名的明星决斗者?', p4: '查看EXP与竞技场排行榜,你是否也是榜上有名的明星决斗者?',
p5: '查看玩家详细资料,记录你的MyCard决斗生涯。', p5: '查看玩家详细资料,记录你的MyCard决斗生涯。',
p6: '查看各卡片 / 卡组的使用状况,这个环境的主流是什么?', p6: '查看各卡片 / 卡组的使用状况,这个环境的主流是什么?',
p7: 'YGOPro战队联盟存放统计友谊赛战报的地方。', p7: 'Ygopro战队联盟存放统计友谊赛战报的地方。',
h1: '决斗排名', h1: '决斗排名',
h2: '玩家信息', h2: '玩家信息',
h3: '卡片排名', h3: '卡片排名',
...@@ -115,7 +115,6 @@ module.exports = { ...@@ -115,7 +115,6 @@ module.exports = {
lang: '语言', lang: '语言',
cn: '中文', cn: '中文',
en: 'English', en: 'English',
database: 'MCPro Database',
forum: 'Forum', forum: 'Forum',
rank: 'User rank', rank: 'User rank',
battlelog: 'Battle log', battlelog: 'Battle log',
...@@ -163,7 +162,8 @@ module.exports = { ...@@ -163,7 +162,8 @@ module.exports = {
all: 'All', all: 'All',
ratio: 'W/L', ratio: 'W/L',
violation: 'Violation', violation: 'Violation',
shop:"Merch❤",
database:"DataBase",
userRank: { userRank: {
expRank: 'EXP Rank', expRank: 'EXP Rank',
pointRank: 'Athletic Rank', pointRank: 'Athletic Rank',
......
...@@ -89,3 +89,52 @@ body { ...@@ -89,3 +89,52 @@ body {
} }
.table-striped > tbody > tr:nth-of-type(even) {
background-color: #283044;
}
.table-striped > tbody > tr:nth-of-type(odd) {
background-color: transparent;
}
body {
background-color: #1b2738;
color: #ebf5ee;
}
a {
color: #ebf5ee;
}
.table-bordered {
border: none;
}
.table-bordered > thead > tr > th, .table-bordered > tbody > tr > th, .table-bordered > tfoot > tr > th, .table-bordered > thead > tr > td, .table-bordered > tbody > tr > td, .table-bordered > tfoot > tr > td {
border: none;
}
thead {
background-color: #1a4861;
}
.navbar-inverse {
background-color: #161b22;
border-color: #dddddd;
}
.navbar-inverse .navbar-nav>li>a {
color: #bdbcba;
}
.navbar-inverse .navbar-link {
color: #FFFFFF;
}
.navbar-inverse .navbar-nav>.open>a, .navbar-inverse .navbar-nav>.open>a:hover, .navbar-inverse .navbar-nav>.open>a:focus {
color: #FFFFFF;
}
.navbar-nav>li>a:hover, .navbar-inverse .navbar-nav>li>a:focus {
color: #FFFFFF!important;
}
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