feat: 添加侧边栏贡献按钮,优化打开上传页面逻辑,更新相关测试

This commit is contained in:
QLHazyCoder
2026-04-19 00:51:36 +08:00
parent cf794e3fe0
commit 49707ffa74
7 changed files with 216 additions and 36 deletions
+45 -10
View File
@@ -22,6 +22,7 @@ const btnAccountRecordsNext = document.getElementById('btn-account-records-next'
const btnCloseAccountRecords = document.getElementById('btn-close-account-records');
const btnClearAccountRecords = document.getElementById('btn-clear-account-records');
const updateSection = document.getElementById('update-section');
const btnRepoHome = document.getElementById('btn-repo-home');
const extensionUpdateStatus = document.getElementById('extension-update-status');
const extensionVersionMeta = document.getElementById('extension-version-meta');
const btnReleaseLog = document.getElementById('btn-release-log');
@@ -1823,21 +1824,47 @@ function openExternalUrl(url) {
window.open(targetUrl, '_blank', 'noopener');
}
function getRepositoryHomeUrl() {
const serviceRepositoryUrl = String(sidepanelUpdateService?.repositoryUrl || '').trim();
if (serviceRepositoryUrl) {
return serviceRepositoryUrl;
}
const releasesPageUrl = String(sidepanelUpdateService?.releasesPageUrl || '').trim();
if (releasesPageUrl) {
return releasesPageUrl.replace(/\/releases\/?$/, '');
}
return 'https://github.com/QLHazyCoder/codex-oauth-automation-extension';
}
function getReleaseListUrl() {
const snapshotReleaseListUrl = String(currentReleaseSnapshot?.releasesPageUrl || '').trim();
if (snapshotReleaseListUrl) {
return snapshotReleaseListUrl;
}
const serviceReleaseListUrl = String(sidepanelUpdateService?.releasesPageUrl || '').trim();
if (serviceReleaseListUrl) {
return serviceReleaseListUrl;
}
return `${getRepositoryHomeUrl()}/releases`;
}
function openRepositoryHomePage() {
openExternalUrl(getRepositoryHomeUrl());
}
function openReleaseListPage() {
openExternalUrl(getReleaseListUrl());
}
async function openContributionUploadPage() {
if (isContributionButtonLocked()) {
throw new Error('当前流程运行中,请先停止后再打开贡献页面。');
}
const confirmed = await openConfirmModal({
title: '账号贡献',
message: '确认打开账号贡献上传页面吗?',
confirmLabel: '前往上传',
confirmVariant: 'btn-primary',
});
if (!confirmed) {
return false;
}
openExternalUrl(CONTRIBUTION_UPLOAD_URL);
return true;
}
@@ -3289,6 +3316,14 @@ btnContributionMode?.addEventListener('click', async () => {
}
});
btnRepoHome?.addEventListener('click', () => {
openRepositoryHomePage();
});
extensionUpdateStatus?.addEventListener('click', () => {
openReleaseListPage();
});
configMenu?.addEventListener('click', (event) => {
event.stopPropagation();
});