版本与 Git 信息
基本信息
| 属性 | 值 |
|---|---|
| 包 | alexiil.mods.load.git |
| 字段 | CommitInfo、GitHubUser、Commit、Release |
| HTTP 工具 | SiteRequester(字符串解析 GitHub API) |
数据模型
GitHubUser
| 字段 | 含义 |
|---|---|
login |
用户名 |
commits |
贡献数 |
avatar_url |
头像 URL(注释提示"可能用于新 GUI") |
url |
GitHub 用户主页 URL |
CommitInfo
message、url、comment_countcommitter+author都是Commiter(name, email, date)tree:Tree(sha, url)
Commit
commit: CommitInfo、sha: String、url: String、author: GitHubUser
Release
name: String、commit: Commit
SiteRequester(HTTP 抓取)
- 字符串关键字解析 GitHub API JSON:
"login":"、"avatar_url":"、"contributions":、"url":"。 accessToken:可选 GitHub token(私有字段)。usersCache:本地 Map,避免重复解析。getContributors(site):拉取贡献者后按commits倒序排序,写入 cache,返回 list。getCommits(site)/getReleases(site):对应接口。
使用方式
BetterLoadingScreen.initSiteVersioning:被getCommits/getCurrentCommit/getReleases共用的 lazy initializer。当前实现是空方法{},所以 commits/releases 始终为null,CommitScrollingList会显示空列表(这是已知未完成功能)。
已知
initSiteVersioning当前实现{},BaseConfig 右侧 commit 列表在没有外部配置触发时一直为空。getCurrentCommit也返回null,因此CommitScrollingList.populateStrings中thisOne始终为false,所有 commit 都是蓝色。
相关条目
- Preview/Editor GUI - CommitScrollingList 在 BaseConfig 右侧
- 通用配置 - 该模块与配置的关系