Skip to content

Commit a150875

Browse files
committed
feat: v3.0.0-rc.2 修复横竖屏/小屏布局与桌面歌词背景 bug
- 修复横竖屏切换时部分界面布局错乱 - 修复手机小屏下文字挤压成一团的问题 - 调整"回到顶部"按钮位置,不再遮挡其他控件 - 修复桌面歌词未开启文本背景遮罩时、锁定状态下仍显示背景的 bug - GitHub Actions 构建改为分架构打包(arm64-v8a / armeabi-v7a / x86_64 / x86) - 图标前景缩放至 75%,适配自适应图标安全区
1 parent 66c9aba commit a150875

59 files changed

Lines changed: 1576 additions & 453 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.dockerignore

Lines changed: 0 additions & 12 deletions
This file was deleted.

.github/ISSUE_TEMPLATE/bug.yml

Lines changed: 109 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -1,75 +1,147 @@
1-
name: 遇到问题
2-
description: 关于使用过程中遇到的问题
1+
name: 🐞 Bug 反馈
2+
description: 在 SPlayer for Android 使用中遇到的问题
3+
title: "[Bug] "
34
labels: [bug]
45
body:
56
- type: markdown
67
attributes:
78
value: |
89
---
9-
在此之前,我们默认你已经知道该如何提问。简而言之,**你要精确地描述问题并提供充足的信息**
10+
感谢你愿意反馈问题!请先阅读以下注意事项,再按模板填写:
1011
11-
此外,如果需要,你可以使用 <kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>I</kbd> 打开开发者工具为我们提供信息
12+
- 请**优先在此提交 Issue**,而不是仅在 QQ 群中反馈,便于跟踪与修复
13+
- **一个 Issue 只描述一个 Bug**,多个问题请分开提交
14+
- 请在标题中**精炼描述问题**,不要只写「有 Bug」「闪退」之类的内容
15+
- 请尽量提供能**稳定复现**的步骤,否则问题可能很难被定位
1216
1317
- type: checkboxes
1418
validations:
15-
required: false
19+
required: true
1620
attributes:
1721
label: "检查清单"
18-
description: |
19-
我们需要了解一些信息,你需要检查下面的检查项 <br />
20-
**这里并不是每一个检查项都必要,根据你的真实情况勾选即可**
22+
description: 提交前请确认以下事项
2123
options:
22-
- label: "我已检索仓库中所有的 Issues,确保我**没有重复提交问题**;或有相似 Issue,但我觉得我的情况不包含在那个相似 Issue 之内"
23-
- label: "我已经找到了可以复现这个问题的方法,并且写在了下面的「具体信息」中"
24-
- label: "此问题可以在我的设备和当前环境中**稳定复现**"
25-
- label: "此问题可以在最新版本 (Latest Release) 中复现"
26-
- label: "此问题是在我更新到当前版本后**才**出现的"
24+
- label: "我已在 [Issues](../../issues?q=) 中搜索过,**没有重复提交**相同问题"
25+
required: true
26+
- label: "我使用的是 **SPlayer for Android**,而非桌面端 / Web 端上游 SPlayer"
27+
required: true
28+
- label: "我已在 [最新 Release](../../releases/latest) 版本中确认此问题仍然存在"
29+
required: true
30+
- label: "问题可在我的设备上**稳定复现**,且我已在下方给出复现步骤"
31+
32+
- type: input
33+
id: app-version
34+
validations:
35+
required: true
36+
attributes:
37+
label: "应用版本"
38+
description: |
39+
见 **设置 → 关于软件** 中的版本号;若使用自行构建或 Actions 产物,请附上 Commit ID
40+
placeholder: "如:v3.0.0-rc.2 / 构建自 commit 66c9aba9"
2741

2842
- type: dropdown
43+
id: abi
2944
validations:
3045
required: true
3146
attributes:
32-
label: "是网页端还是客户端"
47+
label: "APK 架构 (ABI)"
48+
description: 从哪一份 APK 安装的?不确定时请在 Releases 文件名里确认
3349
options:
34-
- "客户端"
35-
- "网页端"
36-
default: 0
50+
- "arm64-v8a"
51+
- "armeabi-v7a"
52+
- "x86_64"
53+
- "x86"
54+
- "不确定 / 自行构建"
3755

3856
- type: input
57+
id: device
3958
validations:
4059
required: true
4160
attributes:
42-
label: "当前系统环境"
43-
placeholder: "如:Windows 11"
61+
label: "设备型号"
62+
placeholder: "如:Xiaomi 14 Pro / Pixel 8 / Redmi Pad SE"
4463

4564
- type: input
65+
id: android-version
4666
validations:
47-
required: false
67+
required: true
4868
attributes:
49-
label: "当前 Node.js 及 npm 版本"
50-
placeholder: "如:v18.16.0 / v9.6.7 (选填)"
69+
label: "Android 版本 / ROM"
70+
description: 系统版本与 ROM(如 MIUI / ColorOS / HyperOS / 原生 Android 等)
71+
placeholder: "如:Android 14 / HyperOS 1.0.6"
5172

5273
- type: input
74+
id: webview-version
5375
validations:
54-
required: true
76+
required: false
5577
attributes:
56-
label: "当前版本"
78+
label: "WebView 版本 (选填)"
5779
description: |
58-
填写关于软件里的或 Releases 中版本号即可 <br />
59-
如果是自行构建或从 GitHub Actions 下载的开发版,还需要提供 Commit ID
60-
placeholder: "如:v1.0.0"
80+
播放器核心依赖 Android System WebView,版本过旧可能导致音频 / 歌词异常。
81+
可在 **设置 → 应用 → Android System WebView** 查看版本号
82+
placeholder: "如:Chrome 124.0.6367.82"
83+
84+
- type: dropdown
85+
id: category
86+
validations:
87+
required: true
88+
attributes:
89+
label: "问题分类"
90+
multiple: true
91+
options:
92+
- "启动 / 闪退"
93+
- "播放 / 音频"
94+
- "歌词 / 桌面歌词"
95+
- "通知栏 / 后台播放"
96+
- "登录 / 账号"
97+
- "在线音乐 (网易云 / Jellyfin / Navidrome / Emby / Subsonic / Last.fm)"
98+
- "UI / 布局 / 主题"
99+
- "本地音乐 / 存储权限"
100+
- "设置项"
101+
- "其他"
61102

62103
- type: textarea
63-
id: other
104+
id: description
105+
validations:
106+
required: true
64107
attributes:
65-
label: "具体信息"
66-
description: |
67-
请填写完整的复现步骤和遇到的问题,还请尽量提供所有可能的信息,提供包括但不限于:
108+
label: "问题描述"
109+
description: 清晰描述你遇到的现象,以及期望的正常行为
110+
placeholder: |
111+
现象:点击桌面歌词开关后应用立刻闪退
112+
期望:开启桌面歌词并显示悬浮窗
113+
114+
- type: textarea
115+
id: reproduce
116+
validations:
117+
required: true
118+
attributes:
119+
label: "复现步骤"
120+
description: 请写出可复现的最小步骤
121+
placeholder: |
122+
1. 打开 SPlayer,开始播放任意歌曲
123+
2. 进入 设置 → 歌词 → 桌面歌词 → 开启
124+
3. 应用立即闪退回到桌面
125+
value: |
126+
1.
127+
2.
128+
3.
68129
69-
- 分步的复现步骤,可以使用 `1. xxx` (换行) `2. xxx` 的格式
70-
- 截图(如果结合复现步骤还是无法详细表述,甚至可以录屏)
71-
- 开发者工具中的:控制台输出报错、网络请求等
72-
- 出现问题的在线歌曲链接、出现问题的文件(本地歌曲、歌词等)的下载链接
130+
- type: textarea
131+
id: logs
132+
validations:
133+
required: false
134+
attributes:
135+
label: "日志 / 报错 (选填但强烈建议)"
136+
description: |
137+
- 闪退请提供 `adb logcat` 抓取的 crash 日志
138+
- 界面类问题可尝试连接 Chrome DevTools (`chrome://inspect`) 抓取控制台报错
139+
render: shell
73140

74-
等信息,以更好地帮助我们解决你的问题
75-
placeholder: "请填写具体的复现步骤和遇到的问题"
141+
- type: textarea
142+
id: extra
143+
validations:
144+
required: false
145+
attributes:
146+
label: "截图 / 录屏 / 其他信息"
147+
description: 可直接拖拽上传图片或视频;出现问题的在线歌曲链接、歌词 / 本地歌曲文件也请附上

.github/ISSUE_TEMPLATE/config.yml

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,11 @@
11
blank_issues_enabled: false
22
contact_links:
3-
- name: 提问的艺术
3+
- name: 💬 QQ 交流群
4+
url: https://qm.qq.com/q/AjIqKftqgM
5+
about: "群号 602750631 — 使用疑问与讨论可在群内交流,Bug 仍建议通过 Issue 提交"
6+
- name: 📖 提问的艺术
47
url: https://github.com/ryanhanwu/How-To-Ask-Questions-The-Smart-Way/blob/main/README-zh_CN.md
5-
about: 默认所有 Issues 发起者均已了解此处的内容
8+
about: 默认所有 Issue 发起者均已了解此处的内容
9+
- name: 🖥️ 桌面端 / Web 端问题
10+
url: https://github.com/imsyy/SPlayer/issues
11+
about: 与 Android 端无关的问题请前往上游 SPlayer 仓库反馈

.github/ISSUE_TEMPLATE/feature.yml

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
name: ✨ 功能建议
2+
description: 提出新的功能需求或改进想法
3+
title: "[Feature] "
4+
labels: [enhancement]
5+
body:
6+
- type: markdown
7+
attributes:
8+
value: |
9+
---
10+
感谢你的建议!请按以下模板填写,便于我们判断优先级与可行性。
11+
12+
- 一个 Issue 只描述一个功能建议
13+
- 若建议与桌面端 / Web 端上游 SPlayer 无关,请在此仓库提;反之请去 [上游仓库](https://github.com/imsyy/SPlayer/issues)
14+
15+
- type: checkboxes
16+
validations:
17+
required: true
18+
attributes:
19+
label: "检查清单"
20+
options:
21+
- label: "我已在 [Issues](../../issues?q=) 中搜索过,没有重复提交"
22+
required: true
23+
- label: "该建议是针对 **SPlayer for Android** 的,不是桌面端独有功能"
24+
required: true
25+
26+
- type: textarea
27+
id: problem
28+
validations:
29+
required: true
30+
attributes:
31+
label: "要解决的问题 / 使用场景"
32+
description: 简述你遇到的痛点或触发此想法的场景
33+
placeholder: "例如:坐车时想用耳机线控切换歌单,当前耳机双击只能切歌"
34+
35+
- type: textarea
36+
id: proposal
37+
validations:
38+
required: true
39+
attributes:
40+
label: "建议的方案"
41+
description: 期望的实现方式,UI / 交互 / 配置项等越具体越好
42+
placeholder: "例如:在 设置 → 播放 中新增「耳机三击切换歌单」开关"
43+
44+
- type: textarea
45+
id: alternatives
46+
validations:
47+
required: false
48+
attributes:
49+
label: "备选方案 (选填)"
50+
description: 你考虑过的其他做法,以及为什么不优先这些
51+
52+
- type: textarea
53+
id: extra
54+
validations:
55+
required: false
56+
attributes:
57+
label: "补充信息 (选填)"
58+
description: 参考实现、截图、其他软件的同类功能等

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
<!--
2+
感谢你为 SPlayer for Android 贡献代码!
3+
请认真填写下面的信息,便于 Review 与回归验证。
4+
标题格式建议:<type>(<scope>): <简要描述>
5+
例如:feat(DesktopLyric): 新增逐字描边开关
6+
-->
7+
8+
## 📌 变更类型
9+
10+
<!-- 勾选一项或多项 -->
11+
12+
- [ ] ✨ feat — 新功能
13+
- [ ] 🐞 fix — Bug 修复
14+
- [ ] 🎨 style — 仅样式 / 格式,不影响逻辑
15+
- [ ] ♻️ refactor — 重构,不改变外部行为
16+
- [ ] ⚡ perf — 性能优化
17+
- [ ] 📝 docs — 仅文档
18+
- [ ] 🧪 test — 新增 / 修改测试
19+
- [ ] 🔧 chore — 构建 / 脚本 / 依赖
20+
- [ ] 🚀 ci — 仅 CI 配置
21+
- [ ] ⏪ revert — 回滚
22+
23+
## 📝 变更说明
24+
25+
<!-- 清晰说明 **改了什么** 与 **为什么改**,而不是逐行复述 diff -->
26+
27+
28+
29+
## 🔗 关联 Issue
30+
31+
<!-- 用 Closes / Fixes 关键字关联,会在合并时自动关闭对应 Issue -->
32+
33+
Closes #
34+
35+
## 📱 影响范围
36+
37+
<!-- 勾选此 PR 实际影响到的模块 -->
38+
39+
- [ ] 🎵 播放引擎 / 音频
40+
- [ ] 📝 歌词 / 桌面歌词
41+
- [ ] 🔔 通知栏 / MediaSession
42+
- [ ] 🌐 在线音乐 (网易云 / Jellyfin / Navidrome / Emby / Subsonic / Last.fm)
43+
- [ ] 🧩 内置 API (nodejs-mobile)
44+
- [ ] 🎨 UI / 主题 / 布局
45+
- [ ] 📦 构建 / 打包 / 签名
46+
- [ ] 📱 Capacitor / 原生 Android 代码
47+
- [ ] 📄 文档 / README
48+
49+
## ✅ 自检清单
50+
51+
- [ ] 本 PR **目标分支为 `master`**
52+
- [ ] 本地已执行 `pnpm lint` 且无 warning
53+
- [ ] 本地已执行 `pnpm typecheck` 且无报错
54+
- [ ] 已在 **至少一台真机** 上构建并验证关键路径
55+
- [ ] UI 改动已兼顾 **手机竖屏 + 平板横屏** 两种布局
56+
- [ ] 新增 / 修改的文案使用中文,与项目整体风格一致
57+
- [ ] 未引入不必要的依赖 / 大体积资源
58+
- [ ] 未修改签名密钥 / CI Secrets 相关文件
59+
60+
## 📸 截图 / 录屏 (UI 类 PR 必填)
61+
62+
<!-- 前后对比更佳,可直接拖拽图片或视频 -->
63+
64+
| 改动前 | 改动后 |
65+
| :---: | :---: |
66+
| | |
67+
68+
## 🧪 测试方式
69+
70+
<!-- 评审者如何验证这次改动 -->
71+
72+
1.
73+
2.
74+
3.
75+
76+
## 💬 其他说明 (选填)
77+
78+
<!-- 兼容性风险、已知问题、后续计划等 -->

0 commit comments

Comments
 (0)