chore: 清理后端冗余代码和数据库

- 移除 pinyin 拼音探索模块(routes/controllers/models)
- 移除 gallery、bgm、share、Level 等旧 WDKJ 模块
- 清理数据库 9 个无用集合(galleries/bgms/pinyin*等)
- 清理 38 条旧 loginlogs
- 移除旧脚本(initPinyinData/generateAudioUrls/init-knowledge-ai)
- 新增 enrich-content.js 内容丰富脚本
- 优化前端 16 页面文案,改为用户友好风格
- 修复 CSS 变量全局加载问题
- 修复排行榜公开访问问题
This commit is contained in:
Yuzhiran Dev
2026-07-10 23:32:06 +08:00
parent ffb23e75b4
commit 51b394bbde
45 changed files with 300 additions and 3609 deletions
+33 -33
View File
@@ -5,7 +5,39 @@ const ApiResponse = require('../utils/response')
const { userAuthMiddleware } = require('../middleware/auth')
const logger = require('../utils/logger')
// 应用用户认证中间件到所有路由
/**
* 获取排行榜(公开接口,无需登录)
* GET /api/user/leaderboard
*/
router.get('/leaderboard', async (req, res) => {
try {
const { limit = 50, dim } = req.query
const users = await User.getLeaderboard(dim ? parseInt(dim) : null, parseInt(limit))
const data = users.map((u, i) => ({
rank: i + 1,
openid: u.openid,
nickname: u.nickName || '星辰旅者',
avatar: u.avatarUrl || '',
totalScore: u.totalScore || 0,
dim1Score: u.dim1Score || 0,
dim2Score: u.dim2Score || 0,
dim3Score: u.dim3Score || 0,
dim4Score: u.dim4Score || 0,
dim5Score: u.dim5Score || 0,
unlockedDims: u.unlockedDims || [1]
}))
return ApiResponse.success(res, data)
} catch (error) {
logger.error('获取排行榜失败:', error)
return ApiResponse.serverError(res, error.message)
}
})
// 应用用户认证中间件到所有路由(排行榜已在上方公开)
router.use(userAuthMiddleware)
/**
@@ -162,38 +194,6 @@ router.post('/progress', async (req, res) => {
}
})
/**
* 获取排行榜
* GET /api/user/leaderboard
*/
router.get('/leaderboard', async (req, res) => {
try {
const { limit = 50, dim } = req.query
const users = await User.getLeaderboard(dim ? parseInt(dim) : null, parseInt(limit))
const data = users.map((u, i) => ({
rank: i + 1,
openid: u.openid,
nickname: u.nickName || '星辰旅者',
avatar: u.avatarUrl || '',
totalScore: u.totalScore || 0,
dim1Score: u.dim1Score || 0,
dim2Score: u.dim2Score || 0,
dim3Score: u.dim3Score || 0,
dim4Score: u.dim4Score || 0,
dim5Score: u.dim5Score || 0,
unlockedDims: u.unlockedDims || [1]
}))
return ApiResponse.success(res, data)
} catch (error) {
logger.error('获取排行榜失败:', error)
return ApiResponse.serverError(res, error.message)
}
})
/**
* 获取用户成就
* GET /api/user/achievements