Skip to content
GitLab
菜单
项目
群组
代码片段
/
帮助
帮助
支持
社区论坛
快捷键
?
提交反馈
登录/注册
切换导航
菜单
打开侧边栏
Wei Zhu
yobot
提交
7717d958
提交
7717d958
编辑于
5月 25, 2020
作者:
AzurCrystal
浏览文件
Merge remote-tracking branch 'upstream/master'
上级
cb89032a
39c48e50
变更
32
展开全部
Hide whitespace changes
Inline
Side-by-side
.github/ISSUE_TEMPLATE/bug-report
---bug---
.md
→
.github/ISSUE_TEMPLATE/bug-report.md
浏览文件 @
7717d958
...
...
@@ -2,13 +2,13 @@
name
:
Bug report / Bug 反馈
about
:
Create a report to help us improve
title
:
"
[BUG]
标题"
labels
:
'
'
labels
:
'
bug
'
assignees
:
'
'
---
首先通过 issues 的搜索功能,查找这个 bug 是否已经被反馈过。
请仔细描述这个 bug 是如何出现的,并附上 bug 出现时的截图。
最好能同时附上控制台的报错信息、版本信息。
首先通过 issues 的搜索功能,查找这个 bug 是否已经被反馈过。
请仔细描述这个 bug 是如何出现的,并附上 bug 出现时的截图。
(如果网页问题,请附上浏览器控制台错误信息)
最好能同时附上控制台的报错信息、版本信息。
请删除上面的内容并开始描述问题。
.github/ISSUE_TEMPLATE/feature-request
-----
.md
→
.github/ISSUE_TEMPLATE/feature-request.md
浏览文件 @
7717d958
...
...
@@ -2,7 +2,7 @@
name
:
Feature request / 建议
about
:
Suggest an idea for this project
title
:
"
[Feature
request]
标题"
labels
:
'
'
labels
:
'
enhancement
'
assignees
:
'
'
---
...
...
.github/ISSUE_TEMPLATE/question
-------
.md
→
.github/ISSUE_TEMPLATE/question.md
浏览文件 @
7717d958
...
...
@@ -2,12 +2,12 @@
name
:
Question / 使用问题
about
:
Question about the usage
title
:
"
[Question]
标题"
labels
:
'
'
labels
:
'
question
'
assignees
:
'
'
---
首先查看文档中 FAQ,确认这个问题不在常见问题里。
请仔细描述使用场景、你进行的操作、你期望的表现与实际表现不一致的地方。
首先查看文档中 FAQ,确认这个问题不在常见问题里。
请仔细描述使用场景、你进行的操作、你期望的表现与实际表现不一致的地方。
请删除上面的内容并开始描述内容。
.gitignore
浏览文件 @
7717d958
...
...
@@ -7,6 +7,7 @@ src/client/*/
!src/client/ybplugins/
!src/client/yybplugins/
!src/client/public/
!src/client/packedfiles/
src/client/.*
src/client/*.json
!src/client/default_*
...
...
@@ -15,7 +16,6 @@ src/client/*.db
src/client/*.db-*
src/client/*.ics
src/client/*.pid
src/client/*.spec
src/client/test.py
.env
cqhttp
...
...
docs/v3/ver.json
浏览文件 @
7717d958
{
"stable"
:
{
"version"
:
34
58
,
"url"
:
"http://img.yobot.xyz/yobot/yobot34
58
.zip"
"version"
:
34
77
,
"url"
:
"http://img.yobot.xyz/yobot/yobot34
77
.zip"
}
}
\ No newline at end of file
documents/.vuepress/config.yml
浏览文件 @
7717d958
...
...
@@ -11,7 +11,8 @@ head:
href
:
/logo/logo.ico
themeConfig
:
logo
:
/logo/logo.png
search
:
false
search
:
true
searchMaxSuggestions
:
10
smoothScroll
:
true
repo
:
https://github.com/yuudi/yobot
docsDir
:
documents
...
...
@@ -58,6 +59,8 @@ themeConfig:
link
:
/project/open-source/
-
text
:
更新日志
link
:
/project/changelog/
-
text
:
项目贡献者
link
:
/project/contributors/
-
text
:
待办事项
link
:
https://github.com/yuudi/yobot/projects/1
plugins
:
...
...
documents/about.md
浏览文件 @
7717d958
...
...
@@ -12,6 +12,7 @@ QQ群:
1044314369(满)
1067699252(满)
774394459
<!-- 1087420601 -->
[
项目贡献者
](
./project/contributors.md
)
[
更新日志
](
./project/changelog.md
)
...
...
documents/features/web.md
浏览文件 @
7717d958
...
...
@@ -58,6 +58,7 @@
| (自动:新闻推送) | 推送最新的新闻 |
| 日程(今日/明日/x月x日)(可自动) | 查看活动日程 |
| 日程表 | 查看一周日程 |
| 挖矿计算 +当前名次 | 计算剩余可获得的奖励钻石 |
## 娱乐类
...
...
documents/project/changelog.md
浏览文件 @
7717d958
# 更新日志
## 3.6.2
-
按日计算的统计图表(
[
#99
](
https://github.com/yuudi/yobot/pull/99
)
)
-
优化 Dockerfile(
[
#97
](
https://github.com/yuudi/yobot/pull/97
)
)
-
挖矿计算(
[
#103
](
https://github.com/yuudi/yobot/pull/103
)
)
## 3.6.1
-
竞技场查询支持pcrdfans
...
...
@@ -9,11 +15,9 @@
## 3.6.0
-
公会战数据多存档
-
开放统计
api与数据下载
-
开放统计
-
统计:出刀顺序表(
[
#75
](
https://github.com/yuudi/yobot/pull/75
)
)
-
统计:出刀统计图(
[
#77
](
https://github.com/yuudi/yobot/pull/77
)
、
[
#79
](
https://github.com/yuudi/yobot/pull/79
)
)
-
自动更新时有反馈
-
允许删除公会
## 3.5
...
...
documents/project/contributors.md
浏览文件 @
7717d958
...
...
@@ -17,6 +17,7 @@
[
@winrey
](
https://github.com/winrey
)
[
@yyuueexxiinngg
](
https://github.com/yyuueexxiinngg
)
[
@AzurCrystal
](
https://github.com/AzurCrystal
)
## Bug Report
...
...
src/client/README.md
浏览文件 @
7717d958
...
...
@@ -2,7 +2,23 @@
## 运行环境
python最低要求为
`python3.6`
python最低要求为
`python3.6`
## 打包
安装
`pyinstaller`
```
sh
pip
install
pyinstaller
```
打包程序
```
sh
pyinstaller main.spec
```
在
`dist`
中找到目标文件
## 扩展
...
...
src/client/logo.ico
0 → 100644
浏览文件 @
7717d958
16.6 KB
src/client/main.py
浏览文件 @
7717d958
...
...
@@ -15,14 +15,17 @@ loop=true
while $loop
do
loop=false
python3 main.py
-g
{}
-g
if [ -f .YOBOT_RESTART ]
then
loop=true
rm .YOBOT_RESTART
fi
done
"""
)
"""
.
format
(
'./yobot'
if
'_MEIPASS'
in
dir
(
sys
)
else
'python3 main.py'
)
)
print
(
'请通过"sh yobotg.sh"启动'
)
sys
.
exit
()
if
os
.
path
.
exists
(
'.YOBOT_RESTART'
):
...
...
src/client/main.spec
0 → 100644
浏览文件 @
7717d958
# -*- mode: python ; coding: utf-8 -*-
import
os
import
site
sitepackages
=
site
.
getsitepackages
()
def
sitepackages_location
(
package_name
):
for
sp
in
sitepackages
:
if
os
.
path
.
exists
(
os
.
path
.
join
(
sp
,
package_name
)):
return
sp
raise
RuntimeError
(
f
"
{
package_name
}
not found"
)
block_cipher
=
None
a
=
Analysis
(
[
'main.py'
],
pathex
=
[
'.'
],
binaries
=
[],
datas
=
[
(
"packedfiles"
,
"packedfiles"
),
(
"public"
,
"public"
),
(
f
"
{
sitepackages_location
(
'opencc'
)
}
/opencc/config"
,
"opencc/config"
),
(
f
"
{
sitepackages_location
(
'opencc'
)
}
/opencc/dictionary"
,
"opencc/dictionary"
),
],
hiddenimports
=
[],
hookspath
=
[],
runtime_hooks
=
[],
excludes
=
[],
win_no_prefer_redirects
=
False
,
win_private_assemblies
=
False
,
cipher
=
block_cipher
,
noarchive
=
False
)
pyz
=
PYZ
(
a
.
pure
,
a
.
zipped_data
,
cipher
=
block_cipher
)
exe
=
EXE
(
pyz
,
a
.
scripts
,
a
.
binaries
,
a
.
zipfiles
,
a
.
datas
,
[],
name
=
'yobot'
,
debug
=
False
,
bootloader_ignore_signals
=
False
,
strip
=
False
,
upx
=
True
,
upx_exclude
=
[],
runtime_tmpdir
=
None
,
console
=
True
,
icon
=
'./logo.ico'
,
)
src/client/default_boss.json
→
src/client/
packedfiles/
default_boss.json
浏览文件 @
7717d958
文件已移动
src/client/default_config.json
→
src/client/
packedfiles/
default_config.json
浏览文件 @
7717d958
文件已移动
src/client/default_pool.json
→
src/client/
packedfiles/
default_pool.json
浏览文件 @
7717d958
文件已移动
src/client/public/static/clan/statistics/statistics2.js
浏览文件 @
7717d958
此差异已折叠。
点击以展开。
src/client/public/template/clan/setting.html
浏览文件 @
7717d958
...
...
@@ -55,6 +55,7 @@
{#-
<el-button
type=
"primary"
@
click=
"new_data_slot"
icon=
"el-icon-document-add"
size=
"mini"
>
新建档案
</el-button>
-#}
<el-button
type=
"primary"
@
click=
"get_data_slot_record_count();switchVisible = true"
icon=
"el-icon-receiving"
size=
"mini"
>
切换档案
</el-button>
<el-dialog
title=
"切换档案"
:visible.sync=
"switchVisible"
>
<el-alert
title=
"你可以切换存档编号,以记录不同期的公会战数据,这样能保留历史数据,也可以在统计里随时查看"
type=
"info"
close-text=
"知道了"
></el-alert>
<ul>
<li
v-for=
"item in data_slot_record_count"
>
[[ item.battle_id ]]号存档:[[ item.record_count ]]条记录
...
...
src/client/public/template/clan/statistics/statistics2.html
浏览文件 @
7717d958
...
...
@@ -37,7 +37,6 @@
<!--以后有用-->
<el-date-picker
v-model=
"range"
v-if=
"false"
type=
"daterange"
unlink-panels
range-separator=
"至"
...
...
@@ -46,17 +45,17 @@
:picker-options=
"pickerOptions"
>
</el-date-picker>
<el-tabs
v-model=
"selecting
_t
ab"
>
<el-tabs
v-model=
"selecting
T
ab"
>
<el-tab-pane
label=
"整体数据"
name=
"total"
>
<div>
<p>
<a>
共[[ members.length ]]人,[[ challenge
_c
ount(total
_d
amage, true) ]]刀
</a>
<el-checkbox
style=
"margin-left: 20px;"
v-model=
"contain
_t
ail
_and_c
ontinue"
></el-checkbox>
<a>
共[[ members.length ]]人,[[ challenge
C
ount(total
D
amage, true) ]]刀
</a>
<el-checkbox
style=
"margin-left: 20px;"
v-model=
"contain
T
ail
AndC
ontinue"
></el-checkbox>
<a>
刀均伤害中计入尾刀和剩余刀
</a>
<a
style=
"margin-left: 20px"
>
</a>
<a
class=
"digit6"
>
十万
</a>
<a
class=
"digit7"
>
百万
</a>
<a
class=
"digit8"
>
千万
</a>
<a
class=
"digit9"
>
亿
</a>
</p>
<el-table
v-loading=
"is
_l
oading"
:data=
"global
_t
able
_d
ata"
style=
"width: 100%"
stripe
border
:default-sort =
"{prop: 'sum
_d
mg', order: 'descending'}"
>
<el-table
v-loading=
"is
L
oading"
:data=
"global
T
able
D
ata"
style=
"width: 100%"
stripe
border
:default-sort =
"{prop: 'sum
D
mg', order: 'descending'}"
>
<el-table-column
prop=
"qqid"
label=
"QQ号"
width=
"125"
sortable
></el-table-column>
<el-table-column
prop=
"nickname"
label=
"昵称"
width=
"200"
sortable
></el-table-column>
<el-table-column
prop=
"count"
width=
"120"
sortable
>
...
...
@@ -65,24 +64,24 @@
<el-popover
placement=
"top"
effect=
"light"
trigger=
"hover"
>
刀数=正常刀+(补偿刀+尾刀)/2
<i
class=
"el-icon-question"
slot=
"reference"
></i></el-popover>
</template>
</el-table-column>
<el-table-column
prop=
"count
_t
ail"
label=
"尾刀"
width=
"120"
sortable
></el-table-column>
<el-table-column
prop=
"count
_c
ontinue"
label=
"补偿刀"
width=
"120"
sortable
></el-table-column>
<el-table-column
prop=
"avg
_d
mg"
width=
"270"
sortable
sort-by=
"avg
_d
mg"
>
<el-table-column
prop=
"count
T
ail"
label=
"尾刀"
width=
"120"
sortable
></el-table-column>
<el-table-column
prop=
"count
C
ontinue"
label=
"补偿刀"
width=
"120"
sortable
></el-table-column>
<el-table-column
prop=
"avg
D
mg"
width=
"270"
sortable
sort-by=
"avg
D
mg"
>
<template
slot=
"header"
slot-scope=
"scope"
>
<a>
刀均伤害
</a>
<el-popover
v-if=
"!contain
_t
ail
_and_c
ontinue"
placement=
"top"
effect=
"light"
trigger=
"hover"
>
当前刀均伤害未计入尾刀和补偿刀
<i
class=
"el-icon-question"
slot=
"reference"
></i></el-popover>
<el-popover
v-if=
"contain
_t
ail
_and_c
ontinue"
placement=
"top"
effect=
"light"
trigger=
"hover"
>
当前刀均伤害已计入尾刀和补偿刀
<i
class=
"el-icon-question"
slot=
"reference"
></i></el-popover>
<el-popover
v-if=
"!contain
T
ail
AndC
ontinue"
placement=
"top"
effect=
"light"
trigger=
"hover"
>
当前刀均伤害未计入尾刀和补偿刀
<i
class=
"el-icon-question"
slot=
"reference"
></i></el-popover>
<el-popover
v-if=
"contain
T
ail
AndC
ontinue"
placement=
"top"
effect=
"light"
trigger=
"hover"
>
当前刀均伤害已计入尾刀和补偿刀
<i
class=
"el-icon-question"
slot=
"reference"
></i></el-popover>
</template>
<template
slot-scope=
"scope"
>
<a
:class=
'"digit" + scope.row.avg
_d
mg.toString().length'
>
[[scope.row.avg
_d
mg]]
</a>
<a
:class=
'"digit" + scope.row.avg
D
mg.toString().length'
>
[[scope.row.avg
D
mg]]
</a>
</template>
</el-table-column>
<el-table-column
prop=
"sum
_d
mg"
label=
"总伤害"
width=
"270"
sortable
sort-by=
"sum
_d
mg"
>
<el-table-column
prop=
"sum
D
mg"
label=
"总伤害"
width=
"270"
sortable
sort-by=
"sum
D
mg"
>
<template
slot-scope=
"scope"
>
<a
:class=
'"digit" + scope.row.sum
_d
mg.toString().length'
>
[[scope.row.sum
_d
mg]]
</a>
<a
:class=
'"digit" + scope.row.sum
D
mg.toString().length'
>
[[scope.row.sum
D
mg]]
</a>
</template>
</el-table-column>
<el-table-column
prop=
"sum
_dmg_r
ate"
label=
"总伤害占比"
min-width=
"150"
sortable
></el-table-column>
<el-table-column
prop=
"sum
DmgR
ate"
label=
"总伤害占比"
min-width=
"150"
sortable
></el-table-column>
</el-table>
</div>
</el-tab-pane>
...
...
@@ -90,30 +89,30 @@
<div>
<div
style=
"display: flex; height: 450px"
>
<div
style=
"width: 100%"
>
<div
style=
"margin: 10px; padding: 20px; border: 1px solid #EBEEF5; height: 400px;"
id=
"miss
_c
hart"
></div>
<div
style=
"margin: 10px; padding: 20px; border: 1px solid #EBEEF5; height: 400px;"
id=
"miss
C
hart"
></div>
</div>
</div>
<div
style=
"display: flex; height: 450px"
>
<div
style=
"width: 50%"
>
<div
style=
"margin: 10px; padding: 20px; border: 1px solid #EBEEF5; height: 400px;"
id=
"last
_c
hart"
></div>
<div
style=
"margin: 10px; padding: 20px; border: 1px solid #EBEEF5; height: 400px;"
id=
"last
C
hart"
></div>
</div>
<div
style=
"width: 50%"
>
<div
style=
"margin: 10px; padding: 20px; border: 1px solid #EBEEF5; height: 400px;"
id=
"total
_t
ime
_c
hart"
></div>
<div
style=
"margin: 10px; padding: 20px; border: 1px solid #EBEEF5; height: 400px;"
id=
"total
T
ime
C
hart"
></div>
</div>
</div>
<div
style=
"display: flex; height: 450px"
>
<div
style=
"width: 100%"
>
<div
style=
"margin: 10px; padding: 20px; border: 1px solid #EBEEF5; height: 400px;"
id=
"boss
_b
lood
_c
hart"
></div>
<div
style=
"margin: 10px; padding: 20px; border: 1px solid #EBEEF5; height: 400px;"
id=
"boss
B
lood
C
hart"
></div>
</div>
</div>
<div
style=
"display: flex; height: 450px"
>
<div
style=
"width: 100%"
>
<div
style=
"margin: 10px; padding: 20px; border: 1px solid #EBEEF5; height: 400px;"
id=
"boss
_hit_c
hart"
></div>
<div
style=
"margin: 10px; padding: 20px; border: 1px solid #EBEEF5; height: 400px;"
id=
"boss
HitC
hart"
></div>
</div>
</div>
<div
style=
"display: flex; height: 450px"
>
<div
style=
"width: 100%"
>
<div
style=
"margin: 10px; padding: 20px; border: 1px solid #EBEEF5; height: 400px;"
id=
"total
_d
amage
_c
hart"
></div>
<div
style=
"margin: 10px; padding: 20px; border: 1px solid #EBEEF5; height: 400px;"
id=
"total
D
amage
C
hart"
></div>
</div>
</div>
</div>
...
...
@@ -124,7 +123,7 @@
<div
style=
"width: 50%;"
>
<p>
<a>
选择玩家:
</a>
<el-select
v-model=
"selecting
_qq
id"
placeholder=
"请选择"
>
<el-select
v-model=
"selecting
QQ
id"
placeholder=
"请选择"
>
<el-option
v-for=
"member in members"
:key=
"member.qqid"
...
...
@@ -132,26 +131,26 @@
:value=
"member.qqid"
>
</el-option>
</el-select>
<el-checkbox
style=
"margin-left: 20px;"
v-model=
"contain
_t
ail
_and_c
ontinue"
></el-checkbox>
<el-checkbox
style=
"margin-left: 20px;"
v-model=
"contain
T
ail
AndC
ontinue"
></el-checkbox>
<a>
刀均伤害中计入尾刀和剩余刀
</a>
</p>
<div
style=
"width: 80%;"
>
<el-table
:data=
"player
_d
ata.damage"
:show-header=
"false"
>
<el-table
:data=
"player
D
ata.damage"
:show-header=
"false"
>
<el-table-column
prop=
"label"
label=
""
></el-table-column>
<el-table-column
prop=
"value"
label=
""
></el-table-column>
</el-table>
</div>
</div>
<div
v-show=
"selecting
_t
ab != 'total'"
style=
"width: 50%"
>
<div
style=
"margin: 10px; padding: 20px; border: 1px solid #EBEEF5; height: 400px;"
id=
"sum
_dmg_c
hart"
></div>
<div
v-show=
"selecting
T
ab != 'total'"
style=
"width: 50%"
>
<div
style=
"margin: 10px; padding: 20px; border: 1px solid #EBEEF5; height: 400px;"
id=
"sum
DmgC
hart"
></div>
</div>
</div>
<div
style=
"display: flex; height: 450px"
>
<div
style=
"width: 50%"
>
<div
style=
"margin: 10px; padding: 20px; border: 1px solid #EBEEF5; height: 400px;"
id=
"personal
_p
rogress
_c
hart"
></div>
<div
style=
"margin: 10px; padding: 20px; border: 1px solid #EBEEF5; height: 400px;"
id=
"personal
P
rogress
C
hart"
></div>
</div>
<div
style=
"width: 50%"
>
<div
style=
"margin: 10px; padding: 20px; border: 1px solid #EBEEF5; height: 400px;"
id=
"personal
_t
ime
_c
hart"
></div>
<div
style=
"margin: 10px; padding: 20px; border: 1px solid #EBEEF5; height: 400px;"
id=
"personal
T
ime
C
hart"
></div>
</div>
</div>
</div>
...
...
@@ -159,10 +158,10 @@
</el-tabs>
<div
style=
"display: flex; height: 400px"
>
<div
style=
"width: 50%"
>
<div
style=
"margin: 10px; padding: 20px; border: 1px solid #EBEEF5; height: 100%;"
id=
"boss
_dmg_c
hart"
></div>
<div
style=
"margin: 10px; padding: 20px; border: 1px solid #EBEEF5; height: 100%;"
id=
"boss
DmgC
hart"
></div>
</div>
<div
style=
"width: 50%"
>
<div
style=
"margin: 10px; padding: 20px; border: 1px solid #EBEEF5; height: 100%;"
id=
"challenge
_c
hart"
></div>
<div
style=
"margin: 10px; padding: 20px; border: 1px solid #EBEEF5; height: 100%;"
id=
"challenge
C
hart"
></div>
</div>
</div>
</div>
...
...
@@ -170,7 +169,7 @@
</body>
<script>
var
csrf
_t
oken
=
"
{{ session['csrf_token'] }}
"
;
var
qqid
=
"
{{ session['yobot_user'] }}
"
</script>
<script>
var
csrf
T
oken
=
"
{{ session['csrf_token'] }}
"
;
var
qqid
=
"
{{ session['yobot_user'] }}
"
</script>
<script
src=
"https://cdn.bootcdn.net/ajax/libs/echarts/4.7.0/echarts.min.js"
></script>
<script
src=
"{{ url_for('yobot_static', filename='clan/statistics/statistics2.js') }}"
></script>
...
...
上一页
1
2
下一页
编辑
预览
支持
Markdown
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录