feat: 支持 Lore-char 命名的总结世界书识别

- isSummaryBook 函数新增对 Lore-char/lore-char 的检测
- 修复启用记忆搜索助手时进度条重复显示总结世界书任务的问题
- 更新错误提示信息,说明支持的命名规则

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Cola-Echo
2026-01-17 00:49:28 +08:00
commit 6b80f1b755
416 changed files with 397389 additions and 0 deletions

49
games/tetris/app-1.0.1.js Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
{"version":3,"sources":[],"names":[],"mappings":"","file":"css-1.0.1.css","sourceRoot":""}

20
games/tetris/index.html Normal file
View File

@@ -0,0 +1,20 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta name="renderer" content="webkit">
<meta name="description" content="使用React、Redux、Immutable制作的俄罗斯方块" />
<meta name="keywords" content="俄罗斯方块,Tetris,React,Redux,Immuatble,JavaScript">
<meta name="format-detection" content="telephone=no"/>
<script>;(function(){var w=parseInt(window.screen.width),s=w/640,u=navigator.userAgent.toLowerCase(),m='<meta name="viewport" content="width=640,';if(/android (\d+\.\d+)/.test(u)){if(parseFloat(RegExp.$1)>2.3)m+='minimum-scale='+s+',maximum-scale='+s+',';}else{m+='user-scalable=no,';}m+='target-densitydpi=device-dpi">';document.write(m);}());</script>
<meta charset="UTF-8">
<title>俄罗斯方块</title>
<link href="./loader.css" rel="stylesheet" />
<link href="css-1.0.1.css" rel="stylesheet"></head>
<body>
<div id="root">
<div class="load">
<div class="loader">加载中...</div>
</div>
</div>
<script type="text/javascript" src="app-1.0.1.js"></script></body>
</html>

84
games/tetris/loader.css Normal file
View File

@@ -0,0 +1,84 @@
body{
background: #009688;
padding: 0;
margin: 0;
}
.load{
width:240px;
height:240px;
position:absolute;
top:50%;
left:50%;
margin:-120px 0 0 -120px;
color:#efcc19;
-webkit-animation:fadeIn 2s infinite ease-in-out;
animation:fadeIn 2s infinite ease-in-out;
-webkit-animation-delay:2s;
animation-delay:2s;
opacity:0;
}
.load .loader,.load .loader:before,.load .loader:after{
background:#efcc19;
-webkit-animation:load 1s infinite ease-in-out;
animation:load 1s infinite ease-in-out;
width:1em;
height:4em
}
.load .loader:before,.load .loader:after{
position:absolute;
top:0;
content:''
}
.load .loader:before{
left:-1.5em;
-webkit-animation-delay:-0.32s;
animation-delay:-0.32s
}
.load .loader{
text-indent:-9999em;
margin:8em auto;
position:relative;
font-size:11px;
-webkit-animation-delay:-0.16s;
animation-delay:-0.16s
}
.load .loader:after{
left:1.5em
}
@-webkit-keyframes load{
0%,80%,100%{
box-shadow:0 0 #efcc19;
height:4em
}
40%{
box-shadow:0 -2em #efcc19;height:5em
}
}
@keyframes load{
0%,80%,100%{
box-shadow:0 0 #efcc19;
height:4em
}
40%{
box-shadow:0 -2em #efcc19;
height:5em
}
}
@-webkit-keyframes fadeIn{
0%{
opacity:0;
}
100%{
opacity:1;
}
}
@keyframes fadeIn{
0%{
opacity:0;
}
100%{
opacity:1;
}
}

BIN
games/tetris/music.mp3 Normal file

Binary file not shown.