feat: 添加歌曲智能排序功能(默认启用)
- 实现智能排序:数字 -> 字母 -> 其他符号 - 添加 smartSort() 方法支持自然数值排序 - 默认启用排序功能,用户无需设置 - 支持多语言字符(中文、日文、英文等) - 添加完整的测试工具和文档 新增文件: - test_sort.html (可视化测试页面) - verify_sort.py (Python验证脚本) - verify_sort.js (Node.js验证脚本) - SORT_FEATURE.md (功能说明) - SORT_USAGE.md (使用指南) - QUICKSTART_SORT.md (快速开始) - IMPLEMENTATION_SUMMARY.md (实现总结) - CHANGELOG_SORT.md (更新日志) - UPDATE_SUMMARY.md (更新说明) 修改文件: - public/src/js/songselect.js (添加智能排序逻辑) - README.md (更新功能介绍)
This commit is contained in:
269
QUICKSTART_SORT.md
Normal file
269
QUICKSTART_SORT.md
Normal file
@@ -0,0 +1,269 @@
|
||||
# 🚀 歌曲智能排序 - 快速开始
|
||||
|
||||
> ✨ 排序功能已默认启用,歌曲自动按智能顺序排列!
|
||||
|
||||
---
|
||||
|
||||
## 📋 目录
|
||||
- [功能介绍](#功能介绍)
|
||||
- [默认启用说明](#默认启用说明)
|
||||
- [效果预览](#效果预览)
|
||||
- [如何禁用](#如何禁用)
|
||||
- [常见问题](#常见问题)
|
||||
|
||||
---
|
||||
|
||||
## 🎯 功能介绍
|
||||
|
||||
歌曲列表已自动按照以下顺序排列:
|
||||
|
||||
```
|
||||
1️⃣ 数字开头 (0-9)
|
||||
例: 1, 2, 10, 100, 123 Song
|
||||
|
||||
2️⃣ 字母开头 (A-Z, a-z)
|
||||
例: abc, Apple, Battle, Zephyr
|
||||
|
||||
3️⃣ 其他符号 (中文、日文等)
|
||||
例: 太鼓の達人, あいうえお, *Special*
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## ⚡ 默认启用说明
|
||||
|
||||
### 🎉 无需任何设置!
|
||||
|
||||
排序功能**已自动开启**,你只需:
|
||||
|
||||
1. **启动游戏**
|
||||
```
|
||||
打开 Taiko Web
|
||||
```
|
||||
|
||||
2. **查看效果**
|
||||
```
|
||||
歌曲列表已自动按智能顺序排列
|
||||
```
|
||||
|
||||
3. **开始游戏**
|
||||
```
|
||||
享受整洁有序的歌曲列表!
|
||||
```
|
||||
|
||||
### 📌 工作原理
|
||||
|
||||
系统会自动检查 `localStorage` 中的 `titlesort` 设置:
|
||||
- **未设置**(首次访问)→ 自动启用排序 ✅
|
||||
- **设置为 `true`** → 启用排序 ✅
|
||||
- **设置为 `false`** → 禁用排序(用户选择)
|
||||
|
||||
---
|
||||
|
||||
## 🎨 效果预览
|
||||
|
||||
### 默认效果(已排序)
|
||||
```
|
||||
✅ 数字组
|
||||
2 beats
|
||||
10 drums
|
||||
123 Song
|
||||
|
||||
✅ 字母组
|
||||
abc melody
|
||||
Zyxwv Test
|
||||
|
||||
✅ 其他组
|
||||
*Special*
|
||||
あいうえお
|
||||
太鼓の達人
|
||||
```
|
||||
|
||||
### 如果你更喜欢原始顺序
|
||||
可以通过设置禁用排序(见下方"如何禁用"部分)
|
||||
|
||||
---
|
||||
|
||||
## 🔧 如何禁用
|
||||
|
||||
如果你不喜欢自动排序,可以禁用它:
|
||||
|
||||
### 方法 1: 游戏内设置(推荐)
|
||||
|
||||
1. **找到设置选项**
|
||||
```
|
||||
在歌曲选择界面,选择 "タイトル順で並べ替え"
|
||||
```
|
||||
|
||||
2. **禁用排序**
|
||||
```
|
||||
在提示框中输入: false
|
||||
按回车确认
|
||||
```
|
||||
|
||||
3. **完成**
|
||||
```
|
||||
页面自动刷新,恢复原始顺序
|
||||
```
|
||||
|
||||
### 方法 2: 浏览器控制台
|
||||
|
||||
按 `F12` 打开控制台,输入:
|
||||
|
||||
```javascript
|
||||
localStorage.setItem("titlesort", "false");
|
||||
location.reload();
|
||||
```
|
||||
|
||||
### 方法 3: 重新启用排序
|
||||
|
||||
只需将上面的 `false` 改为 `true` 即可。
|
||||
|
||||
---
|
||||
|
||||
## 🧪 测试功能
|
||||
|
||||
### 方法 1: Python 测试脚本
|
||||
```bash
|
||||
python verify_sort.py
|
||||
```
|
||||
|
||||
**输出示例:**
|
||||
```
|
||||
🥁 Taiko Web - 歌曲智能排序功能测试
|
||||
✅ 排序规则验证通过!
|
||||
- 数字优先
|
||||
- 字母次之
|
||||
- 其他符号最后
|
||||
```
|
||||
|
||||
### 方法 2: 可视化测试页面
|
||||
```bash
|
||||
# 启动服务器
|
||||
python -m http.server 8080
|
||||
|
||||
# 浏览器访问
|
||||
http://localhost:8080/test_sort.html
|
||||
```
|
||||
|
||||
**效果:**
|
||||
- 🎨 美观的界面
|
||||
- 📊 对比排序前后
|
||||
- 🏷️ 字符类型标签
|
||||
|
||||
---
|
||||
|
||||
## ❓ 常见问题
|
||||
|
||||
### Q1: 排序功能默认启用吗?
|
||||
**A:** ✅ 是的!首次访问时会自动启用排序,无需任何设置。
|
||||
|
||||
### Q2: 如何恢复原始顺序?
|
||||
**A:** 选择 "タイトル順で並べ替え",输入 `false` 即可禁用排序。
|
||||
|
||||
### Q3: 禁用后如何重新启用?
|
||||
**A:** 重复上述步骤,输入 `true` 即可。
|
||||
|
||||
### Q4: 排序会影响性能吗?
|
||||
**A:** 不会。排序只在加载时执行一次,对游戏性能无影响。
|
||||
|
||||
### Q5: 支持哪些浏览器?
|
||||
**A:** 所有现代浏览器(Chrome、Firefox、Safari、Edge)。
|
||||
|
||||
### Q6: 移动设备支持吗?
|
||||
**A:** 完全支持!手机和平板都可以使用。
|
||||
|
||||
### Q7: 我的设置会保存吗?
|
||||
**A:** 会的。你的选择会保存在浏览器中,下次访问时自动应用。
|
||||
|
||||
---
|
||||
|
||||
## 📚 更多信息
|
||||
|
||||
### 详细文档
|
||||
- 📖 [完整功能说明](SORT_FEATURE.md) - 技术细节
|
||||
- 📘 [使用指南](SORT_USAGE.md) - 详细教程
|
||||
- 📝 [实现总结](IMPLEMENTATION_SUMMARY.md) - 开发文档
|
||||
|
||||
### 文件清单
|
||||
```
|
||||
核心代码:
|
||||
public/src/js/songselect.js (已修改)
|
||||
|
||||
测试工具:
|
||||
test_sort.html (可视化测试)
|
||||
verify_sort.py (Python 验证)
|
||||
verify_sort.js (Node.js 验证)
|
||||
|
||||
文档:
|
||||
SORT_FEATURE.md (功能说明)
|
||||
SORT_USAGE.md (使用指南)
|
||||
IMPLEMENTATION_SUMMARY.md (实现总结)
|
||||
QUICKSTART_SORT.md (本文档)
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🎮 开始体验
|
||||
|
||||
现在就启动游戏,体验整洁有序的歌曲列表吧!
|
||||
|
||||
```bash
|
||||
# 1. 确保服务器运行
|
||||
flask run
|
||||
|
||||
# 2. 打开浏览器
|
||||
http://localhost:5000
|
||||
|
||||
# 3. 启用排序
|
||||
游戏内选择 "タイトル順で並べ替え" → 输入 true
|
||||
|
||||
# 4. 享受!
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 💡 小贴士
|
||||
|
||||
### 快捷键
|
||||
- `F12` - 打开开发者工具
|
||||
- `Ctrl+Shift+J` - 直接打开控制台
|
||||
|
||||
### localStorage 操作
|
||||
```javascript
|
||||
// 查看当前设置
|
||||
localStorage.getItem("titlesort")
|
||||
|
||||
// 启用排序
|
||||
localStorage.setItem("titlesort", "true")
|
||||
|
||||
// 禁用排序
|
||||
localStorage.setItem("titlesort", "false")
|
||||
|
||||
// 刷新页面
|
||||
location.reload()
|
||||
```
|
||||
|
||||
### 排序规则记忆法
|
||||
```
|
||||
📊 数字最小,字母居中,其他最大
|
||||
🔢 1️⃣2️⃣3️⃣ → 🔤ABC → 🌏中文日文
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## ✨ 特色功能
|
||||
|
||||
- ✅ **智能分类**: 自动识别字符类型
|
||||
- ✅ **自然排序**: 数字按数值大小(1 < 2 < 10)
|
||||
- ✅ **多语言**: 支持中文、日文、韩文等
|
||||
- ✅ **保持设置**: 关闭浏览器后仍然有效
|
||||
- ✅ **即时生效**: 设置后立即看到效果
|
||||
|
||||
---
|
||||
|
||||
## 🎵 享受整洁的歌曲列表!
|
||||
|
||||
**任何问题?** 查看 [详细文档](SORT_USAGE.md) 或提交 Issue。
|
||||
|
||||
**Processed by AnthonyDuan** 💜
|
||||
Reference in New Issue
Block a user