fix: site name in top logo + server-list public + external API docs page

- app.js: set #logo-text (top bar) from window.__SITE_NAME__ - the
  top-right site name stayed default because only #site-title and
  #sidebar-title were set
- security.js: apiKeyGuard whitelist /api/polls/server-list so the
  ticket create page can load sub-servers (was 401 without api key)
- external-api.js: management page now only creates/manages clients,
  removed inline endpoint table
- new external-api-docs.js: full API doc page (auth flow, all 11
  endpoints, request/response examples, Node sample) at
  #/external-api-docs, linked from the management page
- index.html: load external-api-docs.js
This commit is contained in:
2026-08-22 02:18:29 +08:00
parent c4363deb46
commit effc262382
5 changed files with 130 additions and 19 deletions

View File

@@ -49,6 +49,7 @@ const App = {
}
if (window.__SITE_NAME__) {
document.getElementById('site-title').textContent = window.__SITE_NAME__;
document.getElementById('logo-text').textContent = window.__SITE_NAME__;
document.getElementById('sidebar-title').textContent = window.__SITE_NAME__ || '举报系统';
}
this._footerLoaded = false;
@@ -129,6 +130,7 @@ const App = {
case 'users': this.renderMain('用户管理', UsersPage, param); break;
case 'notifications': this.renderMain('通知配置', NotificationsPage, param); break;
case 'external-api': this.renderMain('外部API', ExternalApiPage, param); break;
case 'external-api-docs': this.renderMain('外部API文档', ExternalApiDocsPage, param); break;
case 'sources': this.renderMain('来源管理', SourcesPage, param); break;
case 'templates': this.renderMain('邮件模板', TemplatesPage, param); break;
case 'settings': this.renderMain('系统设置', SettingsPage, param); break;