7 Commits
Author SHA1 Message Date
Xiao-no-love f0fe50e484 feat: StarLight 第三方登录 + 安全加固 + 循环池 + 热配置
功能:
- StarLight Yggdrasil 第三方登录(后端中转,accessToken 不落地)
- 管理员可视化权限管理(用户列表 + 一键授予/移出)
- 设置页热配置(11 项可编辑,立即生效)
- 循环池(每流独立手动歌单,队列空时随机不重复抽取)
- 登录页统一主站浅色风格
- 全站改名「Starlight专属电台」
- 删除关于页

安全:
- 全局 CSRF 防护(双提交 Cookie)
- 登录限流防 XFF 伪造、错误信息脱敏
- 权限中间件 requireAdminForWrites(读放行/写 admin)
- 密码哈希存储(scrypt/sha256)
- SSRF 防护(封面下载域名白名单)
- 空 catch 加日志、SSE 连接上限

修复:
- 多角色账号 selectedProfile 缺失
- 普通用户越权删歌(V4)
- streams 写操作越权(V9)
- 设置页布局溢出

测试:38 项全绿(api16 / e2e17 / write5)
2026-10-06 16:37:03 +08:00
Xiao-no-love 789ee50391 docs: HANDOFF 精简重写 (v2.6 交接版)
- 版本流水账压缩为时间线表
- 补充 v2.5/v2.6 权限模型与 API
- 工具坑更新 powershell 行号偏移教训
2026-09-25 22:43:40 +08:00
Xiao-no-love 02ea161134 v2.6 设置页一键刷新缺失封面
- POST /api/music/refresh-covers (requireAdmin)
- 设置页封面维护卡片 + 前端事件
- 真实场景验证:清空封面后可刷回
2026-09-25 22:41:45 +08:00
Xiao-no-love f07fbbc21f v2.5 安全加固 + 权限体系 + 封面网络化
- 双密码(管理员/用户) + requireAdmin 角色隔离
- 登录失败按IP锁定 + 搜索缓存限流
- 封面远程URL优先+本地回退
- sessions.role / songs.cover_remote 运行时迁移
2026-09-25 22:25:25 +08:00
Xiao-no-love 16df0a7d08 v2.4: UI 规范化(token体系) + 复制直播链接 + 设置页间距
- 建立完整 token 体系: 色板/字号阶梯(9档)/圆角阶梯/阴影/动效/间距
- 字号 42→9 种、圆角 20→8 种、正文硬编码色清零
- 补丁区(v2/v2.1/v2.2 追加段)并入主体系: 统一缩进 + 全用 token
- header「打开直播流」改为「复制直播流链接」(navigator.clipboard + 降级)
- header 图标按钮统一为胶囊形(20px 圆角)
- 设置页: .page.active 加 gap, section-body 内边距对齐, 缓解拥挤

测试: api 16/16, e2e 17/17, write 5/5 全绿
2026-09-24 22:20:55 +08:00
Xiao-no-love 5d5d5cce19 v2.2+v2.3: 前端增强与 UI 去 AI 味重构
v2.2 前端增强:
- 站内 HLS 收听页 (#pageLive),hls.js 本地化 vendor/hls.min.js
- 设置页 (缓存/配置/日志)
- 上传进度百分比 (XHR upload.onprogress)
- 资源列表排序 (时间/热度/名称 ×升降)
- 面板正在播放实时化 (接 playlist-update/song-finished,删死监听)
- 死代码清理 + forgetSong 内存泄漏修复 + CORS 非法头移除
- start.cmd 托管启动脚本 (set "VAR=val" 避免尾部空格)

v2.3 UI 去 AI 味 (依据 ibelick/ui-skills baseline-ui):
- 频道管理+切换合并为单一入口 #btnStreamMgr.channel-btn
  (删除 header 的 #streamSelect 下拉,弹窗内统一切换/删除/新建)
- 清除全部 CSS 渐变与 glow: 橙红 #ff5f6d→#ffc371、紫 #8b5cf6、
  径向光晕、缓存条渐变 → 全部改为 accent/token 纯色
- live 区、modal 区硬编码色统一归 CSS 变量 token

测试: api 16/16, e2e 17/17, write 5/5 全绿
2026-09-24 21:55:23 +08:00
dev 4510d697f0 docs: 添加交接文档 HANDOFF.md 2026-09-24 20:38:50 +08:00