Commit 4df00855 authored by 铃兰's avatar 铃兰

cars页面增加期间使用率统计

parent 1d83b510
Pipeline #22654 passed with stages
in 2 minutes and 4 seconds
# 默认忽略的文件
/shelf/
/workspace.xml
# 基于编辑器的 HTTP 客户端请求
/httpRequests/
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/.idea/ygopro-arena-web.iml" filepath="$PROJECT_DIR$/.idea/ygopro-arena-web.iml" />
</modules>
</component>
</project>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="" vcs="Git" />
</component>
</project>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<module type="WEB_MODULE" version="4">
<component name="NewModuleRootManager">
<content url="file://$MODULE_DIR$">
<excludeFolder url="file://$MODULE_DIR$/.tmp" />
<excludeFolder url="file://$MODULE_DIR$/temp" />
<excludeFolder url="file://$MODULE_DIR$/tmp" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>
\ No newline at end of file
This diff is collapsed.
...@@ -10,154 +10,164 @@ const URL = "https://sapi.moecube.com:444/ygopro/arena" ...@@ -10,154 +10,164 @@ const URL = "https://sapi.moecube.com:444/ygopro/arena"
export default class Api { export default class Api {
static uploadUrl = `${URL}/upload` static uploadUrl = `${URL}/upload`
static implUrl = `${URL}/impltrack` static implUrl = `${URL}/impltrack`
static clkUrl = `${URL}/clktrack` static clkUrl = `${URL}/clktrack`
static getMonthlyWinRate() { static getMonthlyHistory(opt) {
const url = `https://sapi.moecube.com:444/ygopro/arena/historyScore`;
let monthlyWinRateUrl = 'https://sapi.moecube.com:444/ygopro/analytics/matchup/type?source=mycard-athletic' return Vue.http.get(url, { params: opt });
}
return Vue.http.get(monthlyWinRateUrl) // https://sapi.moecube.com:444/ygopro/arena/historyScore?username=id&season=yyyy-mm
}
static getDownloadUrl(url) {
url = url.slice(7)
static getDownloadUrl(url) { var downloadUrl = `${URL}/download/${url}`
url = url.slice(7) return downloadUrl
var downloadUrl = `${URL}/download/${url}` }
return downloadUrl
} static getCount(opt) {
var request = query.stringify(opt);
static getCount(opt) { const url = `${config.COUNTER_URL}?${request}`;
var request = query.stringify(opt); return Vue.http.get(url);
const url = `${config.COUNTER_URL}?${request}`; }
return Vue.http.get(url);
} static getUserInfo(opt) {
var request = query.stringify(opt);
static getUserInfo(opt) { const url = `${URL}/user?${request}`;
var request = query.stringify(opt); return Vue.http.get(url);
const url = `${URL}/user?${request}`; }
return Vue.http.get(url); static getUserInfoMonth(opt) {
} var request = query.stringify(opt);
const url = `${URL}/user?${request}`;
static getUsers(opt) { return Vue.http.get(url);
var request = query.stringify(opt); }
const url = `${URL}/users?${request}`; // https://sapi.moecube.com:444/ygopro/arena/historyScore?username=id&season=yyyy-mm
return Vue.http.get(url);
}
static getUserDueHistory(opt) {
return Vue.http.get(`${URL}/history`, { 'params': opt }); static getUsers(opt) {
} var request = query.stringify(opt);
const url = `${URL}/users?${request}`;
static getDownloadUrls() { return Vue.http.get(url);
return Vue.http.get('https://api.github.com/repos/mycard/mycard/releases/latest') }
}
static getUserDueHistory(opt) {
static getAvatar(opt) { return Vue.http.get(`${URL}/history`, {'params': opt});
return Vue.http.get(`https://sapi.moecube.com:444/accounts/users/${opt.username}.avatar`) }
}
static getCardInfo(opt) {
var request = query.stringify(opt);
const url = `${URL}/cardinfo?${request}`; static getDownloadUrls() {
return Vue.http.get(url); return Vue.http.get('https://api.github.com/repos/mycard/mycard/releases/latest')
} }
static getDeckInfo(opt) { static getAvatar(opt) {
return Vue.http.get(`${URL}/deckinfo`, { 'params': opt }); return Vue.http.get(`https://sapi.moecube.com:444/accounts/users/${opt.username}.avatar`)
} }
static saveDeck(opt) { static getCardInfo(opt) {
const url = `${URL}/deckinfo` var request = query.stringify(opt);
return Vue.http.post(url, opt, { 'emulateJSON': true }); const url = `${URL}/cardinfo?${request}`;
} return Vue.http.get(url);
}
static saveDeckDemo(opt) {
const url = `${URL}/deckdemo` static getDeckInfo(opt) {
return Vue.http.post(url, opt, { 'emulateJSON': true }); return Vue.http.get(`${URL}/deckinfo`, {'params': opt});
} }
static getReport(opt) { static saveDeck(opt) {
return Vue.http.get(`${URL}/report`, { 'params': opt }); const url = `${URL}/deckinfo`
} return Vue.http.post(url, opt, {'emulateJSON': true});
}
static getVoteList(opt) {
return Vue.http.get(`${URL}/votes`, { 'params': opt }); static saveDeckDemo(opt) {
} const url = `${URL}/deckdemo`
return Vue.http.post(url, opt, {'emulateJSON': true});
static saveVote(opt) { }
const url = `${URL}/votes`
return Vue.http.post(url, opt, { 'emulateJSON': true }); static getReport(opt) {
} return Vue.http.get(`${URL}/report`, {'params': opt});
}
static voteStatus(opt) {
const url = `${URL}/voteStatus` static getVoteList(opt) {
return Vue.http.post(url, opt, { 'emulateJSON': true }); return Vue.http.get(`${URL}/votes`, {'params': opt});
} }
static getVote(opt) { static saveVote(opt) {
return Vue.http.get(`${URL}/vote`, { 'params': opt }); const url = `${URL}/votes`
} return Vue.http.post(url, opt, {'emulateJSON': true});
}
static submitVote(opt) {
const url = `${URL}/submitVote` static voteStatus(opt) {
return Vue.http.post(url, opt, { 'emulateJSON': true }); const url = `${URL}/voteStatus`
} return Vue.http.post(url, opt, {'emulateJSON': true});
}
static saveAds(opt) {
const url = `${URL}/ads` static getVote(opt) {
return Vue.http.post(url, opt, { 'emulateJSON': true }); return Vue.http.get(`${URL}/vote`, {'params': opt});
} }
static getAdsList(opt) { static submitVote(opt) {
return Vue.http.get(`${URL}/ads`, { 'params': opt }); const url = `${URL}/submitVote`
} return Vue.http.post(url, opt, {'emulateJSON': true});
}
static adsStatus(opt) {
const url = `${URL}/adsStatus` static saveAds(opt) {
return Vue.http.post(url, opt, { 'emulateJSON': true }); const url = `${URL}/ads`
} return Vue.http.post(url, opt, {'emulateJSON': true});
}
static getAd(opt) {
return Vue.http.get(`${URL}/getAd`, { 'params': opt }); static getAdsList(opt) {
} return Vue.http.get(`${URL}/ads`, {'params': opt});
}
static adClick(opt) {
const url = `${URL}/adClick` static adsStatus(opt) {
return Vue.http.post(url, opt, { 'emulateJSON': true }); const url = `${URL}/adsStatus`
} return Vue.http.post(url, opt, {'emulateJSON': true});
}
static adImpl(opt) {
const url = `${URL}/adImpl` static getAd(opt) {
return Vue.http.post(url, opt, { 'emulateJSON': true }); return Vue.http.get(`${URL}/getAd`, {'params': opt});
} }
static getFirstWin(opt) { static adClick(opt) {
var request = query.stringify(opt); const url = `${URL}/adClick`
const url = `${URL}/firstwin?${request}`; return Vue.http.post(url, opt, {'emulateJSON': true});
return Vue.http.get(url); }
}
static adImpl(opt) {
static adSwitchChange(opt) { const url = `${URL}/adImpl`
const url = `${URL}/adSwitchChange` return Vue.http.post(url, opt, {'emulateJSON': true});
return Vue.http.post(url, opt, { 'emulateJSON': true }); }
}
static getFirstWin(opt) {
static saveActivity(opt) { var request = query.stringify(opt);
const url = `${URL}/activity` const url = `${URL}/firstwin?${request}`;
return Vue.http.post(url, opt, { 'emulateJSON': true }); return Vue.http.get(url);
} }
static saveLabel(opt) { static adSwitchChange(opt) {
const url = `${URL}/label` const url = `${URL}/adSwitchChange`
return Vue.http.post(url, opt, { 'emulateJSON': true }); return Vue.http.post(url, opt, {'emulateJSON': true});
} }
static getLabel(opt) { static saveActivity(opt) {
return Vue.http.get(`${URL}/label`, { 'params': {} }); const url = `${URL}/activity`
} return Vue.http.post(url, opt, {'emulateJSON': true});
}
static saveLabel(opt) {
const url = `${URL}/label`
return Vue.http.post(url, opt, {'emulateJSON': true});
}
static getLabel(opt) {
return Vue.http.get(`${URL}/label`, {'params': {}});
}
} }
...@@ -491,7 +491,6 @@ ...@@ -491,7 +491,6 @@
type: this.type, type: this.type,
page: this.page, page: this.page,
username: this.username, username: this.username,
type: this.type,
from_date: this.from_date, from_date: this.from_date,
to_date: this.to_date to_date: this.to_date
} }
...@@ -641,19 +640,19 @@ ...@@ -641,19 +640,19 @@
#history { #history {
margin-top: 100px; margin-top: 100px;
} }
.demo-table-expand { .demo-table-expand {
font-size: 0; font-size: 0;
} }
.demo-table-expand label { .demo-table-expand label {
width: 90px; width: 90px;
color: #99a9bf; color: #99a9bf;
} }
.demo-table-expand .el-form-item { .demo-table-expand .el-form-item {
margin-right: 0; margin-right: 0;
margin-bottom: 0; margin-bottom: 0;
width: 100%; width: 100%;
} }
</style> </style>
\ No newline at end of file
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
...@@ -41,6 +41,7 @@ module.exports = { ...@@ -41,6 +41,7 @@ module.exports = {
dueHistory: '最近决斗记录', dueHistory: '最近决斗记录',
athleticDueHistory: '竞技场决斗记录', athleticDueHistory: '竞技场决斗记录',
entertainDueHistory: '娱乐场决斗记录', entertainDueHistory: '娱乐场决斗记录',
monthlyHistory: '每月决斗记录',
tagInfo: '绿色表示获胜方,红色则表示掉线。', tagInfo: '绿色表示获胜方,红色则表示掉线。',
rates: '卡组胜率', rates: '卡组胜率',
......
module.exports = { module.exports = {
cn: { cn: {
"sProcessing": "处理中...", "sProcessing": "处理中...",
"sLengthMenu": "显示 _MENU_ 项结果", "sLengthMenu": "显示 _MENU_ 项结果",
"sZeroRecords": "没有匹配结果", "sZeroRecords": "没有匹配结果",
"sInfo": "显示第 _START_ 至 _END_ 项结果,共 _TOTAL_ 项", "sInfo": "显示第 _START_ 至 _END_ 项结果,共 _TOTAL_ 项",
"sInfoEmpty": "显示第 0 至 0 项结果,共 0 项", "sInfoEmpty": "显示第 0 至 0 项结果,共 0 项",
"sInfoFiltered": "(由 _MAX_ 项结果过滤)", "sInfoFiltered": "(由 _MAX_ 项结果过滤)",
"sInfoPostFix": "", "sInfoPostFix": "",
"sSearch": "搜索:", "sSearch": "搜索:",
"sUrl": "", "sUrl": "",
"sEmptyTable": "表中数据为空", "sEmptyTable": "表中数据为空",
"sLoadingRecords": "载入中...", "sLoadingRecords": "载入中...",
"sInfoThousands": ",", "sInfoThousands": ",",
"oPaginate": { "oPaginate": {
"sFirst": "首页", "sFirst": "首页",
"sPrevious": "上页", "sPrevious": "上页",
"sNext": "下页", "sNext": "下页",
"sLast": "末页" "sLast": "末页"
}, },
"oAria": { "oAria": {
"sSortAscending": ": 以升序排列此列", "sSortAscending": ": 以升序排列此列",
"sSortDescending": ": 以降序排列此列" "sSortDescending": ": 以降序排列此列"
}, },
rank: "排名", rank: "排名",
name: "用户名", name: "用户名",
exp: "EXP", exp: "EXP",
pt: "D.P", pt: "D.P",
win: "胜局", win: "胜局",
lose: "负局", lose: "负局",
wl: "胜率", wl: "胜率",
cardName: "卡名", cardName: "卡名",
used: "使用量", used: "使用量",
put1: "投入1", put1: "投入1",
put2: "投入2", put2: "投入2",
put3: "投入3", put3: "投入3",
deck: "卡组", deck: "卡组",
count: "使用数", count: "使用数",
topTags: "热门标签", PickRate : "使用率",
topTags: "热门标签",
playerA: '玩家A', playerA: '玩家A',
playerB: '玩家B', playerB: '玩家B',
startTime: '开始时间', startTime: '开始时间',
endTime: '结束时间', endTime: '结束时间',
},
en: {
"oPaginate": {
"sPrevious": "Pre",
}, },
en: { rank: "Rank",
"oPaginate": { name: "Name",
"sPrevious": "Pre", exp: "EXP",
}, pt: "D.P",
rank: "Rank", win: "Win",
name: "Name", lose: "Lose",
exp: "EXP", wl: "W/L",
pt: "D.P",
win: "Win",
lose: "Lose",
wl: "W/L",
cardName: "Card Name", cardName: "Card Name",
used: "Used", used: "Used",
put1: "Put one ", PickRate:"Pick Rate",
put2: "Put two ", put1: "Put one ",
put3: "Put three ", put2: "Put two ",
put3: "Put three ",
deck: "Deck", deck: "Deck",
count: "Count", count: "Count",
topTags: "Top Tags", topTags: "Top Tags",
playerA: 'PlayerA', playerA: 'PlayerA',
playerB: 'PlayerA', playerB: 'PlayerA',
startTime: 'Start Time', startTime: 'Start Time',
endTime: 'End Time', endTime: 'End Time',
} }
} }
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