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
|
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
|
65b6f8cf62
|
v2: SQLite + 多路流 + 鉴权 + 导入/删除 + 资源本地化 + 模块化重构
|
2026-09-24 20:34:39 +08:00 |
|
dev
|
fa6eeb25b9
|
baseline: 音乐在线电台 v1(重构前基线)
|
2026-09-24 19:46:35 +08:00 |
|