feat: top bar, footer, login/register buttons, ICP/copyright settings

This commit is contained in:
2026-07-12 01:32:18 +08:00
parent e44ee885ca
commit a6058bf207
5 changed files with 45 additions and 0 deletions

View File

@@ -12,10 +12,21 @@ const App = {
],
init() {
this.loadFooter();
window.addEventListener('hashchange', () => this.route());
this.route();
},
async loadFooter() {
try {
const s = await API.get('/settings/settings');
const cr = document.getElementById('footer-copyright');
const icp = document.getElementById('footer-icp');
if (cr && s.copyright) cr.innerHTML = s.copyright.value;
if (icp && s.icp && s.icp.value) icp.innerHTML = `<a href="https://beian.miit.gov.cn" target="_blank">${s.icp.value}</a>`;
} catch {}
},
afterLogin() { location.hash = '#/dashboard'; },
logout() { Auth.logout(); },
closeModal() { document.getElementById('modal-overlay').classList.add('hidden'); },
@@ -73,6 +84,7 @@ const App = {
},
showPublic(page) {
document.getElementById('top-auth').classList.remove('hidden');
document.getElementById('main-layout').classList.add('hidden');
const pub = document.getElementById('public-page');
pub.classList.remove('hidden');
@@ -81,6 +93,7 @@ const App = {
},
showLayout() {
document.getElementById('top-auth').classList.add('hidden');
document.getElementById('public-page').classList.add('hidden');
document.getElementById('main-layout').classList.remove('hidden');
const u = Auth.user();

View File

@@ -12,6 +12,8 @@ const SettingsPage = {
<form id="site-form">
<div class="grid-2"><div class="form-group"><label>站点名称</label><input id="s-name" value="${U.esc(settings.site_name?.value||'')}"></div>
<div class="form-group"><label>站点地址</label><input id="s-url" value="${U.esc(settings.site_url?.value||'')}"></div></div>
<div class="grid-2"><div class="form-group"><label>页尾版权</label><input id="s-copyright" value="${U.esc(settings.copyright?.value||'')}" placeholder="&copy; 2024 MC举报系统"></div>
<div class="form-group"><label>ICP备案号</label><input id="s-icp" value="${U.esc(settings.icp?.value||'')}" placeholder="沪ICP备XXXXXXXX号"></div></div>
<button type="submit" class="btn btn-p btn-sm"><i class="fas fa-save"></i> 保存站点设置</button>
</form>
</div></div>
@@ -35,6 +37,8 @@ const SettingsPage = {
await API.put('/settings/settings', {
site_name: {value: document.getElementById('s-name').value, label:'站点名称'},
site_url: {value: document.getElementById('s-url').value, label:'站点地址'},
copyright: {value: document.getElementById('s-copyright').value, label:'页尾版权'},
icp: {value: document.getElementById('s-icp').value, label:'ICP备案号'},
});
alert('已保存');
} catch (ex) { alert(ex.message); }