1662 lines
64 KiB
HTML
1662 lines
64 KiB
HTML
<!DOCTYPE html>
|
||
<html lang="zh-CN" data-theme-style="sakura">
|
||
<head>
|
||
<meta charset="utf-8">
|
||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||
<title>狼的提问箱 | 匿名提问箱</title>
|
||
<meta name="msvalidate.01" content="2F185E8E63C93635F50B3574F3B31E42" />
|
||
<meta name="description" content="狼的提问箱——一个无需注册、可匿名提问的匿名提问箱,安全地倾诉与回应。">
|
||
<meta name="keywords" content="匿名提问箱,提问箱,匿名提问,狼的提问箱,匿名问答,匿名提问网站">
|
||
|
||
<script>
|
||
(function () {
|
||
var m = document.cookie.match(/(?:^|;\s*)theme=([^;]*)/);
|
||
if (m && m[1] === 'dark') document.documentElement.setAttribute('data-theme', 'dark');
|
||
})();
|
||
</script>
|
||
|
||
<link rel="preconnect" href="https://r2.337845818.best" crossorigin>
|
||
<link rel="preconnect" href="https://cdnjs.snrat.com" crossorigin>
|
||
|
||
<link rel="stylesheet" href="https://cdnjs.snrat.com/ajax/libs/uikit/3.3.3/css/uikit.min.css"/>
|
||
|
||
<link rel="stylesheet" href="https://box-dev-api.337845818.best/static/css/base.css?v=20261019f"/>
|
||
|
||
<link rel="stylesheet" href="https://box-dev-api.337845818.best/static/css/themes/sakura.css?v=20261019f"/>
|
||
|
||
<link rel="stylesheet" href="https://r2.337845818.best/tamabox/cdn/waline/client/v2/waline-no-commits.css" media="print" onload="this.media='all'"/>
|
||
<script defer src="https://cdnjs.snrat.com/ajax/libs/uikit/3.3.3/js/uikit.min.js"></script>
|
||
<script defer src="https://cdnjs.snrat.com/ajax/libs/uikit/3.3.3/js/uikit-icons.min.js"></script>
|
||
|
||
<script defer src="https://cdnjs.snrat.com/ajax/libs/dayjs/1.10.8/dayjs.min.js"></script>
|
||
<script defer src="https://cdnjs.snrat.com/ajax/libs/alpinejs/3.9.0/cdn.min.js"></script>
|
||
|
||
|
||
<script defer src="https://cdnjs.snrat.com/ajax/libs/waline/2.15.8/waline.js"></script>
|
||
|
||
|
||
<style>
|
||
.captcha-equation-box {
|
||
display: inline-flex;
|
||
align-items: center;
|
||
background: #f0f2f5;
|
||
border: 1px solid #dcdcdc;
|
||
border-radius: 8px;
|
||
padding: 8px 8px 8px 16px;
|
||
gap: 6px;
|
||
transition: border-color 0.2s;
|
||
}
|
||
.captcha-equation-box:focus-within {
|
||
border-color: #1e87f0;
|
||
box-shadow: 0 0 0 3px rgba(30,135,240,0.12);
|
||
}
|
||
.math-captcha-modal-question {
|
||
font-size: 1.4rem;
|
||
font-family: "Courier New", monospace;
|
||
font-weight: 700;
|
||
color: #333;
|
||
letter-spacing: 1px;
|
||
white-space: nowrap;
|
||
}
|
||
#captcha-modal-answer {
|
||
width: 80px;
|
||
padding: 6px 10px;
|
||
text-align: center;
|
||
font-size: 1.2rem;
|
||
font-family: "Courier New", monospace;
|
||
font-weight: 600;
|
||
border: 1px solid #ccc;
|
||
border-radius: 5px;
|
||
outline: none;
|
||
transition: border-color 0.15s, box-shadow 0.15s;
|
||
background: #fff;
|
||
}
|
||
#captcha-modal-answer:focus {
|
||
border-color: #1e87f0;
|
||
box-shadow: 0 0 0 2px rgba(30,135,240,0.2);
|
||
}
|
||
|
||
#captcha-modal-answer::-webkit-inner-spin-button,
|
||
#captcha-modal-answer::-webkit-outer-spin-button {
|
||
-webkit-appearance: none;
|
||
margin: 0;
|
||
}
|
||
#captcha-modal-answer {
|
||
-moz-appearance: textfield;
|
||
}
|
||
</style>
|
||
|
||
|
||
|
||
|
||
|
||
<meta property="og:site_name" content="狼的提问箱 | 匿名提问箱" />
|
||
<meta property="og:type" content="website" />
|
||
<meta property="og:title" content=" - 狼的提问箱 | 匿名提问箱" />
|
||
<meta property="og:url" content="https://box-dev-api.337845818.best/user/questions" />
|
||
<meta property="og:description" content=" - 狼的提问箱——一个无需注册、可匿名提问的匿名提问箱,安全地倾诉与回应。" />
|
||
<meta name="robots" content="noindex">
|
||
|
||
<meta property="og:image" content="?og-image=1" />
|
||
<meta property="og:image:alt" content="" />
|
||
<meta itemprop="image" content="?og-image=1"/>
|
||
<meta name="msapplication-TileImage" content=""/>
|
||
<link rel="shortcut icon" href="?og-image=1"/>
|
||
<link rel="apple-touch-icon" href="?og-image=1"/>
|
||
<link rel="icon" sizes="192x192" href="?og-image=1">
|
||
<meta name="twitter:image:src" content="?og-image=1" />
|
||
|
||
|
||
|
||
<meta name="google-site-verification" content="fEPwRRJfiGsgwc5SINBQwZhPK8F0cwRaOvRx0YRurI4" />
|
||
|
||
<script>
|
||
window.addEventListener("load", function () {
|
||
var s = document.createElement("script");
|
||
s.src = "https://mami.shiroko.one/tamami.js";
|
||
s.setAttribute("data-website-id", "c42ebe8b-9281-4da0-83a4-8f18b3e710fe");
|
||
document.body.appendChild(s);
|
||
});
|
||
</script>
|
||
</head>
|
||
<body>
|
||
<script>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
window.tbRenderQR = function (el, getOptions) {
|
||
if (!el || typeof QRCode === 'undefined') return;
|
||
var opts = getOptions();
|
||
function remoteOf(o, key) {
|
||
var v = o[key];
|
||
return (typeof v === 'string' && v.indexOf('http') === 0) ? v : '';
|
||
}
|
||
var good = window._tbQrGood || (window._tbQrGood = {});
|
||
var bad = window._tbQrBad || (window._tbQrBad = {});
|
||
|
||
function layerState(url) { return !url ? '' : (good[url] ? 1 : (bad[url] ? 0 : null)); }
|
||
var layers = [
|
||
{ url: remoteOf(opts, 'logo'), st: null, present: function (o, on) {
|
||
if (on) { } else { o.logo = undefined; o.logoWidth = undefined; o.logoHeight = undefined; o.logoBackgroundTransparent = undefined; }
|
||
} },
|
||
{ url: remoteOf(opts, 'backgroundImage'), st: null, present: function (o, on) {
|
||
if (on) { } else { o.backgroundImage = undefined; o.backgroundImageAlpha = undefined; }
|
||
} }
|
||
];
|
||
var needProbe = false;
|
||
for (var i = 0; i < layers.length; i++) {
|
||
layers[i].st = layerState(layers[i].url);
|
||
if (layers[i].st === null) needProbe = true;
|
||
}
|
||
function paint(states) {
|
||
var o = {};
|
||
for (var k in opts) o[k] = opts[k];
|
||
for (var j = 0; j < layers.length; j++) layers[j].present(o, states[j] === 1);
|
||
el.innerHTML = '';
|
||
new QRCode(el, o);
|
||
}
|
||
|
||
var initStates = [];
|
||
for (var n = 0; n < layers.length; n++) initStates.push(layers[n].st === 1 ? 1 : 0);
|
||
paint(initStates);
|
||
if (!needProbe) return;
|
||
|
||
var pending = 0, cross = opts.crossOrigin || 'anonymous';
|
||
layers.forEach(function (L) {
|
||
if (L.st !== null) return;
|
||
pending++;
|
||
var im = new Image();
|
||
im.onload = function () { good[L.url] = true; L.st = 1; onDone(); };
|
||
im.onerror = function () { bad[L.url] = true; L.st = 0; onDone(); };
|
||
if (cross) im.crossOrigin = cross;
|
||
im.src = L.url;
|
||
});
|
||
function onDone() {
|
||
if (--pending > 0) return;
|
||
var finalStates = [];
|
||
for (var m = 0; m < layers.length; m++) finalStates.push(layers[m].st === 1 ? 1 : 0);
|
||
var changed = false;
|
||
for (var q = 0; q < finalStates.length; q++) if (finalStates[q] !== initStates[q]) changed = true;
|
||
if (changed) paint(finalStates);
|
||
}
|
||
|
||
setTimeout(function () { if (pending > 0) { pending = 0; onDone(); } }, 3000);
|
||
};
|
||
</script>
|
||
<nav class="uk-navbar-container uk-margin tb-navbar" uk-navbar>
|
||
<div class="uk-navbar-center">
|
||
<div class="uk-navbar-center-left">
|
||
<div>
|
||
<ul class="uk-navbar-nav">
|
||
|
||
<li><a href="/explore">探索</a></li>
|
||
|
||
|
||
<li><a href="/_/admin6">我的</a></li>
|
||
|
||
</ul>
|
||
</div>
|
||
</div>
|
||
|
||
<a class="uk-navbar-item uk-logo" href="/"><span class="emoji-placeholder" aria-label="random animal">🐺</span>的提问箱</a>
|
||
|
||
<div class="uk-navbar-center-right">
|
||
<div>
|
||
|
||
<ul class="uk-navbar-nav">
|
||
<li><a href="/user/questions">提问</a></li>
|
||
</ul>
|
||
<ul class="uk-navbar-nav">
|
||
<li><a href="/user/profile">设置</a></li>
|
||
</ul>
|
||
|
||
|
||
|
||
<ul class="uk-navbar-nav tb-nav-utils">
|
||
<li>
|
||
<a href="#" id="theme-toggle" title="切换深色/浅色模式" aria-label="切换深色/浅色模式">
|
||
<span class="tb-icon-light"><svg viewBox="0 0 24 24" width="16" height="16" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false"><path d="M20.5 14.3A8.6 8.6 0 0 1 9.7 3.5a8.6 8.6 0 1 0 10.8 10.8z"/></svg></span><span class="tb-icon-dark"><svg viewBox="0 0 24 24" width="16" height="16" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false"><circle cx="12" cy="12" r="4"/><path d="M12 2.5v2M12 19.5v2M2.5 12h2M19.5 12h2M5.2 5.2l1.4 1.4M17.4 17.4l1.4 1.4M18.8 5.2l-1.4 1.4M6.6 17.4l-1.4 1.4"/></svg></span>
|
||
</a>
|
||
</li>
|
||
</ul>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</nav>
|
||
|
||
<script>
|
||
document.addEventListener("DOMContentLoaded", function() {
|
||
const emojis = ["🐺","🐗","🐻","🐨","🐼","🐹","🐭","🐰","🦊","🐮","🐷","🐽","🐸","🐒","🦍","🐔","🐧","🐦","🐤","🐦⬛","🦅","🦉","🦇","🐴","🦄","🐝","🦎","🦖","🦕","🐙","🦑","🦐","🦞","🦀","🐡","🐠","🐟","🐬","🐳","🐋","🦈","🐊","🐅","🐆","🦓","🦍","🦧","🐘","🦛","🦏","🐪","🐫","🦒","🦘","🐃","🐂","🐄","🐎","🐖","🐏","🐑","🦙","🐐","🦌","🐕","🐩","🦮","🐕🦺","🐈","🐋","🐳","🐬","🐉","🐲"];
|
||
const placeholder = document.querySelector('.emoji-placeholder');
|
||
if (placeholder) {
|
||
placeholder.textContent = emojis[Math.floor(Math.random() * emojis.length)];
|
||
}
|
||
});
|
||
</script>
|
||
|
||
|
||
<div id="tb-mobile-utils">
|
||
|
||
<button type="button" id="theme-toggle-mobile" class="uk-button uk-button-default uk-button-small"
|
||
title="切换深色/浅色模式" aria-label="切换深色/浅色模式">
|
||
<span class="tb-icon-light"><svg viewBox="0 0 24 24" width="16" height="16" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false"><path d="M20.5 14.3A8.6 8.6 0 0 1 9.7 3.5a8.6 8.6 0 1 0 10.8 10.8z"/></svg></span><span class="tb-icon-dark"><svg viewBox="0 0 24 24" width="16" height="16" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false"><circle cx="12" cy="12" r="4"/><path d="M12 2.5v2M12 19.5v2M2.5 12h2M19.5 12h2M5.2 5.2l1.4 1.4M17.4 17.4l1.4 1.4M18.8 5.2l-1.4 1.4M6.6 17.4l-1.4 1.4"/></svg></span>
|
||
</button>
|
||
</div>
|
||
|
||
<script>
|
||
(function() {
|
||
|
||
var THEME_COOKIE = 'theme';
|
||
function getTheme() {
|
||
var m = document.cookie.match(/(?:^|;\s*)theme=([^;]*)/);
|
||
return m ? m[1] : '';
|
||
}
|
||
function applyTheme(theme) {
|
||
if (theme === 'dark') {
|
||
document.documentElement.setAttribute('data-theme', 'dark');
|
||
} else {
|
||
document.documentElement.removeAttribute('data-theme');
|
||
}
|
||
}
|
||
function toggleTheme() {
|
||
var next = getTheme() === 'dark' ? 'light' : 'dark';
|
||
applyTheme(next);
|
||
var expires = new Date(Date.now() + 365 * 24 * 3600 * 1000).toUTCString();
|
||
document.cookie = THEME_COOKIE + '=' + next + '; path=/; max-age=' + (365 * 24 * 3600) + '; SameSite=Lax';
|
||
}
|
||
|
||
document.addEventListener('DOMContentLoaded', function() {
|
||
|
||
var buttons = document.querySelectorAll('#theme-toggle, #theme-toggle-mobile');
|
||
buttons.forEach(function(btn) {
|
||
btn.addEventListener('click', function(e) {
|
||
e.preventDefault();
|
||
toggleTheme();
|
||
});
|
||
});
|
||
|
||
|
||
var langSel = document.getElementById('mobile-lang-select');
|
||
if (langSel) {
|
||
langSel.addEventListener('change', function() {
|
||
if (!this.value) return;
|
||
var to = window.location.pathname + window.location.search;
|
||
window.location.href = '/i18n/' + encodeURIComponent(this.value) + '?to=' + encodeURIComponent(to);
|
||
});
|
||
}
|
||
});
|
||
})();
|
||
</script>
|
||
|
||
|
||
<div class="uk-container uk-container-xsmall">
|
||
|
||
|
||
|
||
<div id="math-captcha-modal" uk-modal>
|
||
<div class="uk-modal-dialog uk-modal-body uk-text-center">
|
||
<h3 class="uk-modal-title">人机验证</h3>
|
||
<p class="uk-text-meta">请计算下方的算术题以验证你不是机器人</p>
|
||
<div class="captcha-equation-box">
|
||
<span id="captcha-modal-question" class="math-captcha-modal-question">加载中...</span>
|
||
<input type="number" id="captcha-modal-answer" placeholder="?" autocomplete="off" inputmode="numeric">
|
||
</div>
|
||
<div style="margin-top:6px;">
|
||
<button type="button" class="uk-button uk-button-text uk-text-small" id="captcha-modal-refresh">换一题</button>
|
||
</div>
|
||
<div id="captcha-modal-error" class="uk-text-danger uk-text-small" style="display:none;min-height:20px;"></div>
|
||
<div class="uk-margin-small-top">
|
||
<button type="button" class="uk-button uk-button-primary" id="captcha-modal-submit">提交</button>
|
||
<button type="button" class="uk-button uk-button-default uk-modal-close">取消</button>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<script>
|
||
var CAPTCHA_I18N = {
|
||
loading: "加载中...",
|
||
loadFailed: "加载失败",
|
||
loadRetry: "加载失败,请重试",
|
||
inputAnswer: "请输入答案",
|
||
wrongAnswer: "答案错误,请重新计算",
|
||
verifyFailed: "验证失败,请重试",
|
||
needPassword: "此提问箱需要密码",
|
||
needEmail: "请填写接收通知的邮箱地址"
|
||
};
|
||
</script>
|
||
|
||
<script>
|
||
(function() {
|
||
var captchaId = '';
|
||
var pendingForm = null;
|
||
var pendingNeedPassword = false;
|
||
var verifying = false;
|
||
|
||
function fetchCaptcha() {
|
||
var qEl = document.getElementById('captcha-modal-question');
|
||
var errEl = document.getElementById('captcha-modal-error');
|
||
var ansEl = document.getElementById('captcha-modal-answer');
|
||
qEl.textContent = CAPTCHA_I18N.loading;
|
||
fetch('/api/captcha/generate')
|
||
.then(function(r) { return r.json(); })
|
||
.then(function(data) {
|
||
if (data.code === 0 && data.data) {
|
||
captchaId = data.data.id;
|
||
qEl.textContent = data.data.question;
|
||
if (errEl) errEl.style.display = 'none';
|
||
if (ansEl) { ansEl.value = ''; ansEl.focus(); }
|
||
} else {
|
||
qEl.textContent = CAPTCHA_I18N.loadFailed;
|
||
}
|
||
})
|
||
.catch(function() {
|
||
qEl.textContent = CAPTCHA_I18N.loadRetry;
|
||
});
|
||
}
|
||
|
||
function getCSRFToken() {
|
||
var input = document.querySelector('input[name="_csrf"]');
|
||
return input ? input.value : '';
|
||
}
|
||
|
||
function doSubmit(form) {
|
||
|
||
var ans = document.getElementById('captcha-modal-answer').value.trim();
|
||
var hidden = form.querySelector('[name="g-recaptcha-response"]');
|
||
if (hidden) hidden.value = captchaId + ':' + (ans || '0');
|
||
|
||
UIkit.modal('#math-captcha-modal').hide();
|
||
|
||
|
||
if (pendingNeedPassword) {
|
||
UIkit.modal.prompt(CAPTCHA_I18N.needPassword, '', 'password')
|
||
.then(function(password) {
|
||
if (password) {
|
||
var pwInput = document.getElementById('ask_password_input');
|
||
if (pwInput) pwInput.value = password;
|
||
form.submit();
|
||
}
|
||
});
|
||
} else {
|
||
form.submit();
|
||
}
|
||
}
|
||
|
||
|
||
document.getElementById('captcha-modal-submit').addEventListener('click', function() {
|
||
if (verifying) return;
|
||
var ans = document.getElementById('captcha-modal-answer').value.trim();
|
||
if (!ans) {
|
||
var errEl = document.getElementById('captcha-modal-error');
|
||
errEl.textContent = CAPTCHA_I18N.inputAnswer;
|
||
errEl.style.display = 'block';
|
||
return;
|
||
}
|
||
verifying = true;
|
||
fetch('/api/captcha/verify', {
|
||
method: 'POST',
|
||
headers: {
|
||
'Content-Type': 'application/json',
|
||
'X-CSRF-Token': getCSRFToken()
|
||
},
|
||
body: JSON.stringify({ id: captchaId, answer: parseInt(ans, 10) })
|
||
})
|
||
.then(function(r) { return r.json(); })
|
||
.then(function(data) {
|
||
verifying = false;
|
||
if (data.correct) {
|
||
if (pendingForm) doSubmit(pendingForm);
|
||
} else {
|
||
var errEl = document.getElementById('captcha-modal-error');
|
||
errEl.textContent = CAPTCHA_I18N.wrongAnswer;
|
||
errEl.style.display = 'block';
|
||
fetchCaptcha();
|
||
}
|
||
})
|
||
.catch(function() {
|
||
verifying = false;
|
||
var errEl = document.getElementById('captcha-modal-error');
|
||
errEl.textContent = CAPTCHA_I18N.verifyFailed;
|
||
errEl.style.display = 'block';
|
||
fetchCaptcha();
|
||
});
|
||
});
|
||
|
||
|
||
document.getElementById('captcha-modal-answer').addEventListener('keydown', function(e) {
|
||
if (e.key === 'Enter') {
|
||
e.preventDefault();
|
||
document.getElementById('captcha-modal-submit').click();
|
||
}
|
||
});
|
||
|
||
|
||
document.getElementById('captcha-modal-refresh').addEventListener('click', fetchCaptcha);
|
||
|
||
|
||
document.addEventListener('click', function(e) {
|
||
var btn = e.target.closest('.math-captcha-trigger');
|
||
if (!btn) return;
|
||
e.preventDefault();
|
||
|
||
var form = btn.closest('form');
|
||
if (!form) return;
|
||
pendingForm = form;
|
||
|
||
|
||
pendingNeedPassword = !!(form.querySelector('#ask_password_input'));
|
||
|
||
|
||
var notifyCb = document.getElementById('notify-checkbox');
|
||
var emailInput = document.getElementById('email-input');
|
||
if (notifyCb && notifyCb.checked && emailInput && emailInput.value.trim() === '') {
|
||
UIkit.modal.alert(CAPTCHA_I18N.needEmail);
|
||
return;
|
||
}
|
||
|
||
fetchCaptcha();
|
||
UIkit.modal('#math-captcha-modal').show();
|
||
});
|
||
})();
|
||
</script>
|
||
|
||
|
||
<style>
|
||
.qlist-tabs {
|
||
display: flex;
|
||
justify-content: center;
|
||
gap: 4px;
|
||
padding: 4px;
|
||
margin: 6px auto 20px;
|
||
max-width: 320px;
|
||
border: 1px solid var(--tb-border);
|
||
border-radius: 9px;
|
||
background: var(--tb-surface-2);
|
||
}
|
||
.qlist-tab {
|
||
flex: 1 1 0;
|
||
border: 0;
|
||
border-radius: 6px;
|
||
padding: 8px 15px;
|
||
background: transparent;
|
||
color: var(--tb-text-secondary);
|
||
cursor: pointer;
|
||
font-size: 0.9rem;
|
||
transition: background 0.2s ease, color 0.2s ease;
|
||
}
|
||
.qlist-tab:hover { color: var(--tb-primary); }
|
||
.qlist-tab.is-active {
|
||
background: #fff;
|
||
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.10);
|
||
color: var(--tb-primary);
|
||
font-weight: 600;
|
||
}
|
||
.qlist-panel[hidden] { display: none !important; }
|
||
.all-votes-list { display: grid; gap: 10px; }
|
||
.all-vote-item {
|
||
display: flex;
|
||
align-items: center;
|
||
justify-content: space-between;
|
||
gap: 16px;
|
||
padding: 14px 16px;
|
||
border-bottom: 1px solid var(--tb-border);
|
||
text-decoration: none;
|
||
}
|
||
.all-vote-item:first-child { border-top: 1px solid var(--tb-border); }
|
||
.all-vote-item:hover { background: #f8fbff; text-decoration: none; }
|
||
.all-vote-item .hot-vote-title { max-width: 100%; }
|
||
.hot-vote-title {
|
||
display: block;
|
||
overflow: hidden;
|
||
color: var(--tb-text);
|
||
font-size: 0.98rem;
|
||
font-weight: 600;
|
||
line-height: 1.45;
|
||
text-overflow: ellipsis;
|
||
white-space: nowrap;
|
||
}
|
||
.hot-vote-title:hover { color: var(--tb-primary); }
|
||
.hot-vote-meta {
|
||
display: flex;
|
||
flex-wrap: wrap;
|
||
align-items: center;
|
||
gap: 7px;
|
||
margin-top: 8px;
|
||
}
|
||
.hot-vote-meta .uk-label { font-size: 0.72rem; line-height: 1.6; }
|
||
.hot-vote-action { flex: 0 0 auto; color: var(--tb-primary); font-size: 0.82rem; white-space: nowrap; }
|
||
|
||
.qlist-pills .qlist-pill {
|
||
display: inline-flex;
|
||
align-items: center;
|
||
justify-content: center;
|
||
height: 24px;
|
||
min-width: 40px;
|
||
padding: 0 8px;
|
||
box-sizing: border-box;
|
||
font-size: 0.72rem;
|
||
line-height: 1;
|
||
white-space: nowrap;
|
||
border-radius: 2px;
|
||
border: 0;
|
||
vertical-align: middle;
|
||
}
|
||
.qlist-pills .tb-short { display: inline; }
|
||
.qlist-pills .tb-text { display: none; }
|
||
|
||
.qlist-pills .qlist-pill.tb-label-btn {
|
||
cursor: pointer;
|
||
font-family: inherit;
|
||
-webkit-appearance: none;
|
||
appearance: none;
|
||
background-image: none;
|
||
outline: none;
|
||
margin: 0;
|
||
}
|
||
.qlist-pills .qlist-pill.tb-label-btn:hover { opacity: 0.85; }
|
||
@media (min-width: 640px) {
|
||
|
||
.qlist-pills .qlist-pill { min-width: 62px; padding: 0 10px; }
|
||
.qlist-pills .tb-short { display: none; }
|
||
.qlist-pills .tb-text { display: inline; }
|
||
}
|
||
html[data-theme="dark"] .qlist-tabs { border-color: var(--tb-border); background: var(--tb-surface-2); }
|
||
html[data-theme="dark"] .qlist-tab { color: var(--tb-text-muted); }
|
||
html[data-theme="dark"] .qlist-tab.is-active { background: var(--tb-surface); color: var(--tb-primary); }
|
||
html[data-theme="dark"] .all-vote-item { border-color: var(--tb-border); }
|
||
html[data-theme="dark"] .all-vote-item:hover { background: rgba(78, 168, 245, 0.10); }
|
||
html[data-theme="dark"] .hot-vote-title { color: var(--tb-text); }
|
||
|
||
.qlist-stats {
|
||
display: grid;
|
||
grid-template-columns: repeat(4, 1fr);
|
||
gap: 8px;
|
||
margin-bottom: 16px;
|
||
}
|
||
@media (min-width: 768px) {
|
||
.qlist-stats { grid-template-columns: repeat(7, 1fr); }
|
||
}
|
||
.qlist-stats--4 { grid-template-columns: repeat(4, 1fr); }
|
||
@media (min-width: 768px) {
|
||
.qlist-stats--4 { grid-template-columns: repeat(4, 1fr); }
|
||
}
|
||
|
||
.qlist-stats--2 { grid-template-columns: repeat(2, 1fr); }
|
||
@media (min-width: 768px) {
|
||
.qlist-stats--2 { grid-template-columns: repeat(2, 1fr); }
|
||
}
|
||
.qlist-stat {
|
||
background: #fff;
|
||
border: 1px solid var(--tb-border);
|
||
border-radius: 9px;
|
||
padding: 8px 6px;
|
||
text-align: center;
|
||
}
|
||
.qlist-stat .qlist-stat-num {
|
||
display: block;
|
||
font-size: 1.15rem;
|
||
font-weight: 700;
|
||
line-height: 1.15;
|
||
color: #222;
|
||
}
|
||
.qlist-stat .qlist-stat-lbl {
|
||
display: block;
|
||
margin-top: 2px;
|
||
font-size: 0.7rem;
|
||
color: #888;
|
||
line-height: 1.15;
|
||
}
|
||
html[data-theme="dark"] .qlist-stat { background: var(--tb-surface); border-color: var(--tb-border); }
|
||
html[data-theme="dark"] .qlist-stat .qlist-stat-num { color: var(--tb-text); }
|
||
html[data-theme="dark"] .qlist-stat .qlist-stat-lbl { color: var(--tb-text-muted); }
|
||
</style>
|
||
|
||
<div class="uk-container">
|
||
<div class="uk-flex uk-flex-middle uk-flex-between uk-margin-small-bottom">
|
||
<h2 class="uk-margin-remove">我的提问</h2>
|
||
<a class="uk-button uk-button-default uk-button-small" href="/user/profile">设置</a>
|
||
</div>
|
||
|
||
|
||
<div class="qlist-tabs" role="tablist" aria-label="我的提问">
|
||
<button type="button" class="qlist-tab is-active" data-qlist-tab="questions" role="tab" aria-selected="true">提问</button>
|
||
<button type="button" class="qlist-tab" data-qlist-tab="votes" role="tab" aria-selected="false">投票</button>
|
||
<button type="button" class="qlist-tab" data-qlist-tab="chats" role="tab" aria-selected="false">私聊</button>
|
||
</div>
|
||
|
||
|
||
<div class="qlist-panel" data-qlist-panel="questions">
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<div class="qlist-stats">
|
||
<div class="qlist-stat"><span class="qlist-stat-num">6</span><span class="qlist-stat-lbl">总提问数</span></div>
|
||
<div class="qlist-stat"><span class="qlist-stat-num">5</span><span class="qlist-stat-lbl">已回答</span></div>
|
||
<div class="qlist-stat"><span class="qlist-stat-num">1</span><span class="qlist-stat-lbl">未回答</span></div>
|
||
<div class="qlist-stat"><span class="qlist-stat-num">5</span><span class="qlist-stat-lbl">已读</span></div>
|
||
<div class="qlist-stat"><span class="qlist-stat-num">1</span><span class="qlist-stat-lbl">未读</span></div>
|
||
<div class="qlist-stat"><span class="qlist-stat-num">5</span><span class="qlist-stat-lbl">私密提问</span></div>
|
||
<div class="qlist-stat"><span class="qlist-stat-num">0</span><span class="qlist-stat-lbl">置顶</span></div>
|
||
</div>
|
||
|
||
<div class="uk-margin-medium-bottom uk-text-center">
|
||
|
||
<form method="get" action="" class="uk-form-stacked">
|
||
<div class="uk-flex uk-flex-center uk-flex-nowrap uk-overflow-auto">
|
||
<div class="uk-margin-small-right uk-width-expand" style="max-width: 420px;">
|
||
<input type="text" name="q" class="uk-input uk-form-small" value="" placeholder="搜索问题或回答内容..." aria-label="搜索问题或回答内容...">
|
||
</div>
|
||
<div class="uk-margin-small-right">
|
||
<button type="submit" class="uk-button uk-button-primary uk-button-small">搜索</button>
|
||
</div>
|
||
|
||
</div>
|
||
</form>
|
||
<form method="get" action="" class="uk-form-stacked uk-margin-small-top">
|
||
<div class="uk-flex uk-flex-center uk-flex-nowrap uk-overflow-auto">
|
||
<div class="uk-margin-small-right" style="width: 120px;">
|
||
<label class="uk-form-label uk-text-small">排序</label>
|
||
<select name="sort" class="uk-select uk-form-small" onchange="this.form.submit()" style="width: 100%;">
|
||
<option value="latest" selected>最新</option>
|
||
<option value="oldest" >最早</option>
|
||
</select>
|
||
</div>
|
||
<div class="uk-margin-small-right" style="width: 120px;">
|
||
<label class="uk-form-label uk-text-small">状态</label>
|
||
<select name="status" class="uk-select uk-form-small" onchange="this.form.submit()" style="width: 100%;">
|
||
<option value="all" selected>全部</option>
|
||
<option value="answered" >已回答</option>
|
||
<option value="unanswered" >未回答</option>
|
||
</select>
|
||
</div>
|
||
<div class="uk-margin-small-right" style="width: 120px;">
|
||
<label class="uk-form-label uk-text-small">类型</label>
|
||
<select name="type" class="uk-select uk-form-small" onchange="this.form.submit()" style="width: 100%;">
|
||
<option value="all" selected>全部</option>
|
||
<option value="public" >一般提问</option>
|
||
<option value="private_question" >私密提问</option>
|
||
</select>
|
||
</div>
|
||
<div class="uk-margin-small-right" style="width: 120px;">
|
||
<label class="uk-form-label uk-text-small">举报</label>
|
||
<select name="reported" class="uk-select uk-form-small" onchange="this.form.submit()" style="width: 100%;">
|
||
<option value="all" selected>全部</option>
|
||
<option value="reported" >仅被举报</option>
|
||
</select>
|
||
</div>
|
||
<div style="width: 120px;">
|
||
<label class="uk-form-label uk-text-small">阅读状态</label>
|
||
<select name="read" class="uk-select uk-form-small" onchange="this.form.submit()" style="width: 100%;">
|
||
<option value="all" selected>全部</option>
|
||
<option value="read" >已读</option>
|
||
<option value="unread" >未读</option>
|
||
</select>
|
||
</div>
|
||
</div>
|
||
</form>
|
||
</div>
|
||
|
||
|
||
<h4>我收到的提问</h4>
|
||
|
||
|
||
<div class="uk-margin-medium-bottom" id="question-95">
|
||
<hr>
|
||
|
||
<div class="uk-flex uk-flex-middle uk-flex-wrap qlist-pills" style="gap: 6px;">
|
||
|
||
<div class="uk-flex uk-flex-middle uk-flex-wrap" style="gap: 6px;">
|
||
<span class="uk-text-small uk-text-muted">2026-10-19 00:58:03</span>
|
||
|
||
|
||
<span class="uk-label uk-label-warning qlist-pill" title="私密"><span class="tb-short">私密</span><span class="tb-text">私密</span></span>
|
||
|
||
|
||
|
||
|
||
<span class="uk-label uk-label-success qlist-pill" title="已读"><span class="tb-short">已读</span><span class="tb-text">已读</span></span>
|
||
|
||
</div>
|
||
|
||
<div class="uk-flex uk-flex-middle uk-flex-wrap" style="gap: 6px; margin-left: auto;">
|
||
|
||
|
||
<form method="post" action="/_/admin6/95/pin" style="margin: 0; display: contents;">
|
||
<input type="hidden" name="_csrf" value="00zRuKLCmxUUCGr0-wtUZhKTGdo6MTc5MjM5ODI4MjU3NTU4ODUyMQ">
|
||
<button type="submit" class="uk-label tb-label-btn uk-label-primary qlist-pill" title="置顶"><span class="tb-short">置顶</span><span class="tb-text">置顶</span></button>
|
||
</form>
|
||
</div>
|
||
</div>
|
||
<a href="/_/admin6/95?from=admin">
|
||
<div class="uk-text-small uk-text-break tb-preline tb-clamp-5 uk-margin-small-top">等宽按钮自检B 005800
|
||
</div>
|
||
</a>
|
||
</div>
|
||
|
||
<div class="uk-margin-medium-bottom" id="question-94">
|
||
<hr>
|
||
|
||
<div class="uk-flex uk-flex-middle uk-flex-wrap qlist-pills" style="gap: 6px;">
|
||
|
||
<div class="uk-flex uk-flex-middle uk-flex-wrap" style="gap: 6px;">
|
||
<span class="uk-text-small uk-text-muted">2026-10-19 00:40:58</span>
|
||
|
||
|
||
|
||
<span class="uk-label qlist-pill" title="未回答"><span class="tb-short">待答</span><span class="tb-text">未回答</span></span>
|
||
|
||
|
||
|
||
<span class="uk-label qlist-pill" title="未读"><span class="tb-short">未读</span><span class="tb-text">未读</span></span>
|
||
|
||
</div>
|
||
|
||
<div class="uk-flex uk-flex-middle uk-flex-wrap" style="gap: 6px; margin-left: auto;">
|
||
|
||
|
||
<form method="post" action="/_/admin6/94/read" style="margin: 0; display: contents;">
|
||
<input type="hidden" name="_csrf" value="00zRuKLCmxUUCGr0-wtUZhKTGdo6MTc5MjM5ODI4MjU3NTU4ODUyMQ">
|
||
<button type="submit" class="uk-label tb-label-btn uk-label-success qlist-pill" title="标记为已读"><span class="tb-short">标记</span><span class="tb-text">标记为已读</span></button>
|
||
</form>
|
||
|
||
|
||
<form method="post" action="/_/admin6/94/pin" style="margin: 0; display: contents;">
|
||
<input type="hidden" name="_csrf" value="00zRuKLCmxUUCGr0-wtUZhKTGdo6MTc5MjM5ODI4MjU3NTU4ODUyMQ">
|
||
<button type="submit" class="uk-label tb-label-btn uk-label-primary qlist-pill" title="置顶"><span class="tb-short">置顶</span><span class="tb-text">置顶</span></button>
|
||
</form>
|
||
</div>
|
||
</div>
|
||
<a href="/_/admin6/94?from=admin">
|
||
<div class="uk-text-small uk-text-break tb-preline tb-clamp-5 uk-margin-small-top">等宽按钮自检 004055
|
||
</div>
|
||
</a>
|
||
</div>
|
||
|
||
<div class="uk-margin-medium-bottom" id="question-90">
|
||
<hr>
|
||
|
||
<div class="uk-flex uk-flex-middle uk-flex-wrap qlist-pills" style="gap: 6px;">
|
||
|
||
<div class="uk-flex uk-flex-middle uk-flex-wrap" style="gap: 6px;">
|
||
<span class="uk-text-small uk-text-muted">2026-10-18 21:53:28</span>
|
||
|
||
|
||
<span class="uk-label uk-label-warning qlist-pill" title="私密"><span class="tb-short">私密</span><span class="tb-text">私密</span></span>
|
||
|
||
|
||
|
||
|
||
<span class="uk-label uk-label-success qlist-pill" title="已读"><span class="tb-short">已读</span><span class="tb-text">已读</span></span>
|
||
|
||
</div>
|
||
|
||
<div class="uk-flex uk-flex-middle uk-flex-wrap" style="gap: 6px; margin-left: auto;">
|
||
|
||
|
||
<form method="post" action="/_/admin6/90/pin" style="margin: 0; display: contents;">
|
||
<input type="hidden" name="_csrf" value="00zRuKLCmxUUCGr0-wtUZhKTGdo6MTc5MjM5ODI4MjU3NTU4ODUyMQ">
|
||
<button type="submit" class="uk-label tb-label-btn uk-label-primary qlist-pill" title="置顶"><span class="tb-short">置顶</span><span class="tb-text">置顶</span></button>
|
||
</form>
|
||
</div>
|
||
</div>
|
||
<a href="/_/admin6/90?from=admin">
|
||
<div class="uk-text-small uk-text-break tb-preline tb-clamp-5 uk-margin-small-top">自检用提问 L3:今天更新吗(restrict self-check L3)
|
||
</div>
|
||
</a>
|
||
</div>
|
||
|
||
<div class="uk-margin-medium-bottom" id="question-89">
|
||
<hr>
|
||
|
||
<div class="uk-flex uk-flex-middle uk-flex-wrap qlist-pills" style="gap: 6px;">
|
||
|
||
<div class="uk-flex uk-flex-middle uk-flex-wrap" style="gap: 6px;">
|
||
<span class="uk-text-small uk-text-muted">2026-10-18 21:48:21</span>
|
||
|
||
|
||
<span class="uk-label uk-label-warning qlist-pill" title="私密"><span class="tb-short">私密</span><span class="tb-text">私密</span></span>
|
||
|
||
|
||
|
||
|
||
<span class="uk-label uk-label-success qlist-pill" title="已读"><span class="tb-short">已读</span><span class="tb-text">已读</span></span>
|
||
|
||
</div>
|
||
|
||
<div class="uk-flex uk-flex-middle uk-flex-wrap" style="gap: 6px; margin-left: auto;">
|
||
|
||
|
||
<form method="post" action="/_/admin6/89/pin" style="margin: 0; display: contents;">
|
||
<input type="hidden" name="_csrf" value="00zRuKLCmxUUCGr0-wtUZhKTGdo6MTc5MjM5ODI4MjU3NTU4ODUyMQ">
|
||
<button type="submit" class="uk-label tb-label-btn uk-label-primary qlist-pill" title="置顶"><span class="tb-short">置顶</span><span class="tb-text">置顶</span></button>
|
||
</form>
|
||
</div>
|
||
</div>
|
||
<a href="/_/admin6/89?from=admin">
|
||
<div class="uk-text-small uk-text-break tb-preline tb-clamp-5 uk-margin-small-top">自检用提问:今天更新吗(restrict self-check)
|
||
</div>
|
||
</a>
|
||
</div>
|
||
|
||
<div class="uk-margin-medium-bottom" id="question-88">
|
||
<hr>
|
||
|
||
<div class="uk-flex uk-flex-middle uk-flex-wrap qlist-pills" style="gap: 6px;">
|
||
|
||
<div class="uk-flex uk-flex-middle uk-flex-wrap" style="gap: 6px;">
|
||
<span class="uk-text-small uk-text-muted">2026-10-18 21:39:41</span>
|
||
|
||
|
||
<span class="uk-label uk-label-warning qlist-pill" title="私密"><span class="tb-short">私密</span><span class="tb-text">私密</span></span>
|
||
|
||
|
||
|
||
|
||
<span class="uk-label uk-label-success qlist-pill" title="已读"><span class="tb-short">已读</span><span class="tb-text">已读</span></span>
|
||
|
||
</div>
|
||
|
||
<div class="uk-flex uk-flex-middle uk-flex-wrap" style="gap: 6px; margin-left: auto;">
|
||
|
||
|
||
<form method="post" action="/_/admin6/88/pin" style="margin: 0; display: contents;">
|
||
<input type="hidden" name="_csrf" value="00zRuKLCmxUUCGr0-wtUZhKTGdo6MTc5MjM5ODI4MjU3NTU4ODUyMQ">
|
||
<button type="submit" class="uk-label tb-label-btn uk-label-primary qlist-pill" title="置顶"><span class="tb-short">置顶</span><span class="tb-text">置顶</span></button>
|
||
</form>
|
||
</div>
|
||
</div>
|
||
<a href="/_/admin6/88?from=admin">
|
||
<div class="uk-text-small uk-text-break tb-preline tb-clamp-5 uk-margin-small-top">啊吧啊吧
|
||
</div>
|
||
</a>
|
||
</div>
|
||
|
||
<div class="uk-margin-medium-bottom" id="question-73">
|
||
<hr>
|
||
|
||
<div class="uk-flex uk-flex-middle uk-flex-wrap qlist-pills" style="gap: 6px;">
|
||
|
||
<div class="uk-flex uk-flex-middle uk-flex-wrap" style="gap: 6px;">
|
||
<span class="uk-text-small uk-text-muted">2026-08-20 16:01:14</span>
|
||
|
||
|
||
<span class="uk-label uk-label-warning qlist-pill" title="私密"><span class="tb-short">私密</span><span class="tb-text">私密</span></span>
|
||
|
||
|
||
|
||
|
||
<span class="uk-label uk-label-success qlist-pill" title="已读"><span class="tb-short">已读</span><span class="tb-text">已读</span></span>
|
||
|
||
</div>
|
||
|
||
<div class="uk-flex uk-flex-middle uk-flex-wrap" style="gap: 6px; margin-left: auto;">
|
||
|
||
|
||
<form method="post" action="/_/admin6/73/pin" style="margin: 0; display: contents;">
|
||
<input type="hidden" name="_csrf" value="00zRuKLCmxUUCGr0-wtUZhKTGdo6MTc5MjM5ODI4MjU3NTU4ODUyMQ">
|
||
<button type="submit" class="uk-label tb-label-btn uk-label-primary qlist-pill" title="置顶"><span class="tb-short">置顶</span><span class="tb-text">置顶</span></button>
|
||
</form>
|
||
</div>
|
||
</div>
|
||
<a href="/_/admin6/73?from=admin">
|
||
<div class="uk-text-small uk-text-break tb-preline tb-clamp-5 uk-margin-small-top">测试!
|
||
</div>
|
||
</a>
|
||
</div>
|
||
|
||
|
||
|
||
</div>
|
||
|
||
|
||
<div class="qlist-panel" data-qlist-panel="votes" hidden>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<div class="qlist-stats qlist-stats--2">
|
||
<div class="qlist-stat"><span class="qlist-stat-num">12</span><span class="qlist-stat-lbl">投票总数</span></div>
|
||
<div class="qlist-stat"><span class="qlist-stat-num">7</span><span class="qlist-stat-lbl">进行中</span></div>
|
||
</div>
|
||
|
||
<div class="uk-card uk-card-default uk-card-small uk-card-body uk-margin-bottom uk-flex uk-flex-between uk-flex-middle">
|
||
<div>
|
||
<div class="uk-text-bold">我创建的投票</div>
|
||
<div class="uk-text-meta uk-text-small">创建与管理你的匿名投票</div>
|
||
</div>
|
||
<a class="uk-button uk-button-primary uk-button-small" href="/user/votes/new">新建投票</a>
|
||
</div>
|
||
|
||
|
||
|
||
<div class="uk-margin-medium-bottom">
|
||
<hr>
|
||
|
||
<div class="uk-flex uk-flex-middle uk-flex-wrap" style="gap: 8px;">
|
||
<span class="uk-text-bold">吃什么</span>
|
||
|
||
|
||
|
||
|
||
<span class="tb-chip">表单收集</span>
|
||
|
||
<span class="uk-label uk-label-success">进行中</span>
|
||
|
||
|
||
|
||
<span class="uk-text-meta">参与: 0</span>
|
||
<span class="uk-text-meta">无限期</span>
|
||
<span class="uk-text-meta">创建于: 2026-08-26 19:16</span>
|
||
</div>
|
||
|
||
<div class="uk-flex uk-flex-wrap uk-margin-small-top" style="gap: 6px; justify-content: flex-end;">
|
||
|
||
|
||
<form method="post" action="/user/votes/13/close" class="uk-display-inline">
|
||
<input type="hidden" name="_csrf" value="00zRuKLCmxUUCGr0-wtUZhKTGdo6MTc5MjM5ODI4MjU3NTU4ODUyMQ">
|
||
<button class="uk-button uk-button-warning uk-button-small" onclick="return confirm('确定结束该投票吗?结束后参与者将无法再投票。')">结束</button>
|
||
</form>
|
||
|
||
|
||
<a class="uk-button uk-button-default uk-button-small" href="/user/votes/13/edit">编辑</a>
|
||
|
||
|
||
<a class="uk-button uk-button-default uk-button-small" href="/user/votes/13/results">结果</a>
|
||
<a class="uk-button uk-button-default uk-button-small" href="/user/votes/13/export">导出 CSV</a>
|
||
|
||
|
||
<button class="uk-button uk-button-default uk-button-small" onclick="copyShareURL('t86urUZo26xE', this)">复制链接</button>
|
||
|
||
<form method="post" action="/user/votes/13/delete" class="uk-display-inline">
|
||
<input type="hidden" name="_csrf" value="00zRuKLCmxUUCGr0-wtUZhKTGdo6MTc5MjM5ODI4MjU3NTU4ODUyMQ">
|
||
<button class="uk-button uk-button-danger uk-button-small" onclick="return confirm('确定删除该投票吗?投票数据将一并删除,不可恢复!')">删除</button>
|
||
</form>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="uk-margin-medium-bottom">
|
||
<hr>
|
||
|
||
<div class="uk-flex uk-flex-middle uk-flex-wrap" style="gap: 8px;">
|
||
<span class="uk-text-bold">测试功能</span>
|
||
|
||
|
||
|
||
|
||
<span class="tb-chip">表单收集</span>
|
||
|
||
<span class="uk-label uk-label-success">进行中</span>
|
||
|
||
|
||
|
||
<span class="uk-text-meta">参与: 3</span>
|
||
<span class="uk-text-meta">无限期</span>
|
||
<span class="uk-text-meta">创建于: 2026-08-25 19:04</span>
|
||
</div>
|
||
|
||
<div class="uk-flex uk-flex-wrap uk-margin-small-top" style="gap: 6px; justify-content: flex-end;">
|
||
|
||
|
||
<form method="post" action="/user/votes/12/close" class="uk-display-inline">
|
||
<input type="hidden" name="_csrf" value="00zRuKLCmxUUCGr0-wtUZhKTGdo6MTc5MjM5ODI4MjU3NTU4ODUyMQ">
|
||
<button class="uk-button uk-button-warning uk-button-small" onclick="return confirm('确定结束该投票吗?结束后参与者将无法再投票。')">结束</button>
|
||
</form>
|
||
|
||
|
||
<a class="uk-button uk-button-default uk-button-small" href="/user/votes/12/edit">编辑</a>
|
||
|
||
|
||
<a class="uk-button uk-button-default uk-button-small" href="/user/votes/12/results">结果</a>
|
||
<a class="uk-button uk-button-default uk-button-small" href="/user/votes/12/export">导出 CSV</a>
|
||
|
||
|
||
<button class="uk-button uk-button-default uk-button-small" onclick="copyShareURL('9wfpVjXi73mc', this)">复制链接</button>
|
||
|
||
<form method="post" action="/user/votes/12/delete" class="uk-display-inline">
|
||
<input type="hidden" name="_csrf" value="00zRuKLCmxUUCGr0-wtUZhKTGdo6MTc5MjM5ODI4MjU3NTU4ODUyMQ">
|
||
<button class="uk-button uk-button-danger uk-button-small" onclick="return confirm('确定删除该投票吗?投票数据将一并删除,不可恢复!')">删除</button>
|
||
</form>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="uk-margin-medium-bottom">
|
||
<hr>
|
||
|
||
<div class="uk-flex uk-flex-middle uk-flex-wrap" style="gap: 8px;">
|
||
<span class="uk-text-bold">今天吃什么</span>
|
||
|
||
|
||
|
||
|
||
<span class="tb-chip">表单收集</span>
|
||
<span class="uk-label">草稿</span>
|
||
|
||
|
||
|
||
|
||
<span class="uk-text-meta">参与: 0</span>
|
||
|
||
<span class="uk-text-meta">创建于: 2026-08-25 17:34</span>
|
||
</div>
|
||
|
||
<div class="uk-flex uk-flex-wrap uk-margin-small-top" style="gap: 6px; justify-content: flex-end;">
|
||
|
||
<form method="post" action="/user/votes/11/publish" class="uk-display-inline">
|
||
<input type="hidden" name="_csrf" value="00zRuKLCmxUUCGr0-wtUZhKTGdo6MTc5MjM5ODI4MjU3NTU4ODUyMQ">
|
||
<button class="uk-button uk-button-primary uk-button-small" onclick="return confirm('确定发布该投票吗?发布后即生成可分享链接。')">发布</button>
|
||
</form>
|
||
<a class="uk-button uk-button-default uk-button-small" href="/user/votes/11/preview">预览</a>
|
||
|
||
|
||
|
||
<a class="uk-button uk-button-default uk-button-small" href="/user/votes/11/edit">编辑</a>
|
||
|
||
|
||
|
||
<form method="post" action="/user/votes/11/delete" class="uk-display-inline">
|
||
<input type="hidden" name="_csrf" value="00zRuKLCmxUUCGr0-wtUZhKTGdo6MTc5MjM5ODI4MjU3NTU4ODUyMQ">
|
||
<button class="uk-button uk-button-danger uk-button-small" onclick="return confirm('确定删除该投票吗?投票数据将一并删除,不可恢复!')">删除</button>
|
||
</form>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="uk-margin-medium-bottom">
|
||
<hr>
|
||
|
||
<div class="uk-flex uk-flex-middle uk-flex-wrap" style="gap: 8px;">
|
||
<span class="uk-text-bold">测试</span>
|
||
|
||
|
||
|
||
|
||
<span class="tb-chip">表单收集</span>
|
||
<span class="uk-label">草稿</span>
|
||
|
||
|
||
|
||
|
||
<span class="uk-text-meta">参与: 0</span>
|
||
|
||
<span class="uk-text-meta">创建于: 2026-08-25 16:12</span>
|
||
</div>
|
||
|
||
<div class="uk-flex uk-flex-wrap uk-margin-small-top" style="gap: 6px; justify-content: flex-end;">
|
||
|
||
<form method="post" action="/user/votes/10/publish" class="uk-display-inline">
|
||
<input type="hidden" name="_csrf" value="00zRuKLCmxUUCGr0-wtUZhKTGdo6MTc5MjM5ODI4MjU3NTU4ODUyMQ">
|
||
<button class="uk-button uk-button-primary uk-button-small" onclick="return confirm('确定发布该投票吗?发布后即生成可分享链接。')">发布</button>
|
||
</form>
|
||
<a class="uk-button uk-button-default uk-button-small" href="/user/votes/10/preview">预览</a>
|
||
|
||
|
||
|
||
<a class="uk-button uk-button-default uk-button-small" href="/user/votes/10/edit">编辑</a>
|
||
|
||
|
||
|
||
<form method="post" action="/user/votes/10/delete" class="uk-display-inline">
|
||
<input type="hidden" name="_csrf" value="00zRuKLCmxUUCGr0-wtUZhKTGdo6MTc5MjM5ODI4MjU3NTU4ODUyMQ">
|
||
<button class="uk-button uk-button-danger uk-button-small" onclick="return confirm('确定删除该投票吗?投票数据将一并删除,不可恢复!')">删除</button>
|
||
</form>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="uk-margin-medium-bottom">
|
||
<hr>
|
||
|
||
<div class="uk-flex uk-flex-middle uk-flex-wrap" style="gap: 8px;">
|
||
<span class="uk-text-bold">测试</span>
|
||
|
||
|
||
|
||
|
||
<span class="tb-chip">表单收集</span>
|
||
|
||
<span class="uk-label uk-label-success">进行中</span>
|
||
|
||
|
||
|
||
<span class="uk-text-meta">参与: 0</span>
|
||
<span class="uk-text-meta">无限期</span>
|
||
<span class="uk-text-meta">创建于: 2026-08-25 16:11</span>
|
||
</div>
|
||
|
||
<div class="uk-flex uk-flex-wrap uk-margin-small-top" style="gap: 6px; justify-content: flex-end;">
|
||
|
||
|
||
<form method="post" action="/user/votes/9/close" class="uk-display-inline">
|
||
<input type="hidden" name="_csrf" value="00zRuKLCmxUUCGr0-wtUZhKTGdo6MTc5MjM5ODI4MjU3NTU4ODUyMQ">
|
||
<button class="uk-button uk-button-warning uk-button-small" onclick="return confirm('确定结束该投票吗?结束后参与者将无法再投票。')">结束</button>
|
||
</form>
|
||
|
||
|
||
<a class="uk-button uk-button-default uk-button-small" href="/user/votes/9/edit">编辑</a>
|
||
|
||
|
||
<a class="uk-button uk-button-default uk-button-small" href="/user/votes/9/results">结果</a>
|
||
<a class="uk-button uk-button-default uk-button-small" href="/user/votes/9/export">导出 CSV</a>
|
||
|
||
|
||
<button class="uk-button uk-button-default uk-button-small" onclick="copyShareURL('7kcP5kR8YnJC', this)">复制链接</button>
|
||
|
||
<form method="post" action="/user/votes/9/delete" class="uk-display-inline">
|
||
<input type="hidden" name="_csrf" value="00zRuKLCmxUUCGr0-wtUZhKTGdo6MTc5MjM5ODI4MjU3NTU4ODUyMQ">
|
||
<button class="uk-button uk-button-danger uk-button-small" onclick="return confirm('确定删除该投票吗?投票数据将一并删除,不可恢复!')">删除</button>
|
||
</form>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="uk-margin-medium-bottom">
|
||
<hr>
|
||
|
||
<div class="uk-flex uk-flex-middle uk-flex-wrap" style="gap: 8px;">
|
||
<span class="uk-text-bold">测试7</span>
|
||
<span class="tb-chip">单选</span>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<span class="uk-label uk-label-warning">已结束</span>
|
||
|
||
<span class="uk-text-meta">参与: 0</span>
|
||
|
||
<span class="uk-text-meta">创建于: 2026-08-25 14:43</span>
|
||
</div>
|
||
|
||
<div class="uk-flex uk-flex-wrap uk-margin-small-top" style="gap: 6px; justify-content: flex-end;">
|
||
|
||
|
||
|
||
<a class="uk-button uk-button-default uk-button-small" href="/user/votes/8/edit">编辑</a>
|
||
|
||
|
||
<a class="uk-button uk-button-default uk-button-small" href="/user/votes/8/results">结果</a>
|
||
<a class="uk-button uk-button-default uk-button-small" href="/user/votes/8/export">导出 CSV</a>
|
||
|
||
|
||
<form method="post" action="/user/votes/8/delete" class="uk-display-inline">
|
||
<input type="hidden" name="_csrf" value="00zRuKLCmxUUCGr0-wtUZhKTGdo6MTc5MjM5ODI4MjU3NTU4ODUyMQ">
|
||
<button class="uk-button uk-button-danger uk-button-small" onclick="return confirm('确定删除该投票吗?投票数据将一并删除,不可恢复!')">删除</button>
|
||
</form>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="uk-margin-medium-bottom">
|
||
<hr>
|
||
|
||
<div class="uk-flex uk-flex-middle uk-flex-wrap" style="gap: 8px;">
|
||
<span class="uk-text-bold">测试5</span>
|
||
<span class="tb-chip">单选</span>
|
||
|
||
|
||
|
||
|
||
|
||
<span class="uk-label uk-label-success">进行中</span>
|
||
|
||
|
||
|
||
<span class="uk-text-meta">参与: 0</span>
|
||
<span class="uk-text-meta">无限期</span>
|
||
<span class="uk-text-meta">创建于: 2026-08-25 11:21</span>
|
||
</div>
|
||
|
||
<div class="uk-flex uk-flex-wrap uk-margin-small-top" style="gap: 6px; justify-content: flex-end;">
|
||
|
||
|
||
<form method="post" action="/user/votes/7/close" class="uk-display-inline">
|
||
<input type="hidden" name="_csrf" value="00zRuKLCmxUUCGr0-wtUZhKTGdo6MTc5MjM5ODI4MjU3NTU4ODUyMQ">
|
||
<button class="uk-button uk-button-warning uk-button-small" onclick="return confirm('确定结束该投票吗?结束后参与者将无法再投票。')">结束</button>
|
||
</form>
|
||
|
||
|
||
<a class="uk-button uk-button-default uk-button-small" href="/user/votes/7/edit">编辑</a>
|
||
|
||
|
||
<a class="uk-button uk-button-default uk-button-small" href="/user/votes/7/results">结果</a>
|
||
<a class="uk-button uk-button-default uk-button-small" href="/user/votes/7/export">导出 CSV</a>
|
||
|
||
|
||
<button class="uk-button uk-button-default uk-button-small" onclick="copyShareURL('C84m7PoENWsG', this)">复制链接</button>
|
||
|
||
<form method="post" action="/user/votes/7/delete" class="uk-display-inline">
|
||
<input type="hidden" name="_csrf" value="00zRuKLCmxUUCGr0-wtUZhKTGdo6MTc5MjM5ODI4MjU3NTU4ODUyMQ">
|
||
<button class="uk-button uk-button-danger uk-button-small" onclick="return confirm('确定删除该投票吗?投票数据将一并删除,不可恢复!')">删除</button>
|
||
</form>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="uk-margin-medium-bottom">
|
||
<hr>
|
||
|
||
<div class="uk-flex uk-flex-middle uk-flex-wrap" style="gap: 8px;">
|
||
<span class="uk-text-bold">测试4</span>
|
||
|
||
|
||
|
||
|
||
<span class="tb-chip">表单收集</span>
|
||
|
||
<span class="uk-label uk-label-success">进行中</span>
|
||
|
||
|
||
|
||
<span class="uk-text-meta">参与: 0</span>
|
||
<span class="uk-text-meta">无限期</span>
|
||
<span class="uk-text-meta">创建于: 2026-08-24 18:36</span>
|
||
</div>
|
||
|
||
<div class="uk-flex uk-flex-wrap uk-margin-small-top" style="gap: 6px; justify-content: flex-end;">
|
||
|
||
|
||
<form method="post" action="/user/votes/6/close" class="uk-display-inline">
|
||
<input type="hidden" name="_csrf" value="00zRuKLCmxUUCGr0-wtUZhKTGdo6MTc5MjM5ODI4MjU3NTU4ODUyMQ">
|
||
<button class="uk-button uk-button-warning uk-button-small" onclick="return confirm('确定结束该投票吗?结束后参与者将无法再投票。')">结束</button>
|
||
</form>
|
||
|
||
|
||
<a class="uk-button uk-button-default uk-button-small" href="/user/votes/6/edit">编辑</a>
|
||
|
||
|
||
<a class="uk-button uk-button-default uk-button-small" href="/user/votes/6/results">结果</a>
|
||
<a class="uk-button uk-button-default uk-button-small" href="/user/votes/6/export">导出 CSV</a>
|
||
|
||
|
||
<button class="uk-button uk-button-default uk-button-small" onclick="copyShareURL('z9F8mIqPtDOA', this)">复制链接</button>
|
||
|
||
<form method="post" action="/user/votes/6/delete" class="uk-display-inline">
|
||
<input type="hidden" name="_csrf" value="00zRuKLCmxUUCGr0-wtUZhKTGdo6MTc5MjM5ODI4MjU3NTU4ODUyMQ">
|
||
<button class="uk-button uk-button-danger uk-button-small" onclick="return confirm('确定删除该投票吗?投票数据将一并删除,不可恢复!')">删除</button>
|
||
</form>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="uk-margin-medium-bottom">
|
||
<hr>
|
||
|
||
<div class="uk-flex uk-flex-middle uk-flex-wrap" style="gap: 8px;">
|
||
<span class="uk-text-bold">11</span>
|
||
|
||
|
||
|
||
|
||
<span class="tb-chip">表单收集</span>
|
||
|
||
<span class="uk-label uk-label-success">进行中</span>
|
||
|
||
|
||
|
||
<span class="uk-text-meta">参与: 2</span>
|
||
<span class="uk-text-meta">无限期</span>
|
||
<span class="uk-text-meta">创建于: 2026-08-24 15:22</span>
|
||
</div>
|
||
|
||
<div class="uk-flex uk-flex-wrap uk-margin-small-top" style="gap: 6px; justify-content: flex-end;">
|
||
|
||
|
||
<form method="post" action="/user/votes/5/close" class="uk-display-inline">
|
||
<input type="hidden" name="_csrf" value="00zRuKLCmxUUCGr0-wtUZhKTGdo6MTc5MjM5ODI4MjU3NTU4ODUyMQ">
|
||
<button class="uk-button uk-button-warning uk-button-small" onclick="return confirm('确定结束该投票吗?结束后参与者将无法再投票。')">结束</button>
|
||
</form>
|
||
|
||
|
||
<a class="uk-button uk-button-default uk-button-small" href="/user/votes/5/edit">编辑</a>
|
||
|
||
|
||
<a class="uk-button uk-button-default uk-button-small" href="/user/votes/5/results">结果</a>
|
||
<a class="uk-button uk-button-default uk-button-small" href="/user/votes/5/export">导出 CSV</a>
|
||
|
||
|
||
<button class="uk-button uk-button-default uk-button-small" onclick="copyShareURL('urSsfenvRomb', this)">复制链接</button>
|
||
|
||
<form method="post" action="/user/votes/5/delete" class="uk-display-inline">
|
||
<input type="hidden" name="_csrf" value="00zRuKLCmxUUCGr0-wtUZhKTGdo6MTc5MjM5ODI4MjU3NTU4ODUyMQ">
|
||
<button class="uk-button uk-button-danger uk-button-small" onclick="return confirm('确定删除该投票吗?投票数据将一并删除,不可恢复!')">删除</button>
|
||
</form>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="uk-margin-medium-bottom">
|
||
<hr>
|
||
|
||
<div class="uk-flex uk-flex-middle uk-flex-wrap" style="gap: 8px;">
|
||
<span class="uk-text-bold">测试</span>
|
||
<span class="tb-chip">单选</span>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<span class="uk-label uk-label-warning">已结束</span>
|
||
|
||
<span class="uk-text-meta">参与: 1</span>
|
||
|
||
<span class="uk-text-meta">创建于: 2026-08-24 14:38</span>
|
||
</div>
|
||
|
||
<div class="uk-flex uk-flex-wrap uk-margin-small-top" style="gap: 6px; justify-content: flex-end;">
|
||
|
||
|
||
|
||
<a class="uk-button uk-button-default uk-button-small" href="/user/votes/4/edit">编辑</a>
|
||
|
||
|
||
<a class="uk-button uk-button-default uk-button-small" href="/user/votes/4/results">结果</a>
|
||
<a class="uk-button uk-button-default uk-button-small" href="/user/votes/4/export">导出 CSV</a>
|
||
|
||
|
||
<form method="post" action="/user/votes/4/delete" class="uk-display-inline">
|
||
<input type="hidden" name="_csrf" value="00zRuKLCmxUUCGr0-wtUZhKTGdo6MTc5MjM5ODI4MjU3NTU4ODUyMQ">
|
||
<button class="uk-button uk-button-danger uk-button-small" onclick="return confirm('确定删除该投票吗?投票数据将一并删除,不可恢复!')">删除</button>
|
||
</form>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="uk-margin-medium-bottom">
|
||
<hr>
|
||
|
||
<div class="uk-flex uk-flex-middle uk-flex-wrap" style="gap: 8px;">
|
||
<span class="uk-text-bold">明天吃什么</span>
|
||
|
||
|
||
<span class="tb-chip">评分</span>
|
||
|
||
|
||
|
||
<span class="uk-label uk-label-success">进行中</span>
|
||
|
||
|
||
|
||
<span class="uk-text-meta">参与: 1</span>
|
||
<span class="uk-text-meta">无限期</span>
|
||
<span class="uk-text-meta">创建于: 2026-08-24 13:20</span>
|
||
</div>
|
||
|
||
<div class="uk-flex uk-flex-wrap uk-margin-small-top" style="gap: 6px; justify-content: flex-end;">
|
||
|
||
|
||
<form method="post" action="/user/votes/3/close" class="uk-display-inline">
|
||
<input type="hidden" name="_csrf" value="00zRuKLCmxUUCGr0-wtUZhKTGdo6MTc5MjM5ODI4MjU3NTU4ODUyMQ">
|
||
<button class="uk-button uk-button-warning uk-button-small" onclick="return confirm('确定结束该投票吗?结束后参与者将无法再投票。')">结束</button>
|
||
</form>
|
||
|
||
|
||
<a class="uk-button uk-button-default uk-button-small" href="/user/votes/3/edit">编辑</a>
|
||
|
||
|
||
<a class="uk-button uk-button-default uk-button-small" href="/user/votes/3/results">结果</a>
|
||
<a class="uk-button uk-button-default uk-button-small" href="/user/votes/3/export">导出 CSV</a>
|
||
|
||
|
||
<button class="uk-button uk-button-default uk-button-small" onclick="copyShareURL('GJkdls4fH78y', this)">复制链接</button>
|
||
|
||
<form method="post" action="/user/votes/3/delete" class="uk-display-inline">
|
||
<input type="hidden" name="_csrf" value="00zRuKLCmxUUCGr0-wtUZhKTGdo6MTc5MjM5ODI4MjU3NTU4ODUyMQ">
|
||
<button class="uk-button uk-button-danger uk-button-small" onclick="return confirm('确定删除该投票吗?投票数据将一并删除,不可恢复!')">删除</button>
|
||
</form>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="uk-margin-medium-bottom">
|
||
<hr>
|
||
|
||
<div class="uk-flex uk-flex-middle uk-flex-wrap" style="gap: 8px;">
|
||
<span class="uk-text-bold">今天吃什么</span>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<span class="uk-label uk-label-warning">已结束</span>
|
||
|
||
<span class="uk-text-meta">参与: 2</span>
|
||
|
||
<span class="uk-text-meta">创建于: 2026-08-21 15:07</span>
|
||
</div>
|
||
|
||
<div class="uk-flex uk-flex-wrap uk-margin-small-top" style="gap: 6px; justify-content: flex-end;">
|
||
|
||
|
||
|
||
<a class="uk-button uk-button-default uk-button-small" href="/user/votes/2/edit">编辑</a>
|
||
|
||
|
||
<a class="uk-button uk-button-default uk-button-small" href="/user/votes/2/results">结果</a>
|
||
<a class="uk-button uk-button-default uk-button-small" href="/user/votes/2/export">导出 CSV</a>
|
||
|
||
|
||
<form method="post" action="/user/votes/2/delete" class="uk-display-inline">
|
||
<input type="hidden" name="_csrf" value="00zRuKLCmxUUCGr0-wtUZhKTGdo6MTc5MjM5ODI4MjU3NTU4ODUyMQ">
|
||
<button class="uk-button uk-button-danger uk-button-small" onclick="return confirm('确定删除该投票吗?投票数据将一并删除,不可恢复!')">删除</button>
|
||
</form>
|
||
</div>
|
||
</div>
|
||
|
||
|
||
|
||
</div>
|
||
|
||
|
||
<div class="qlist-panel" data-qlist-panel="chats" hidden>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<div class="qlist-stats qlist-stats--4">
|
||
<div class="qlist-stat"><span class="qlist-stat-num">1</span><span class="qlist-stat-lbl">总私聊</span></div>
|
||
<div class="qlist-stat"><span class="qlist-stat-num">0</span><span class="qlist-stat-lbl">我收到的</span></div>
|
||
<div class="qlist-stat"><span class="qlist-stat-num">1</span><span class="qlist-stat-lbl">我发起的</span></div>
|
||
<div class="qlist-stat"><span class="qlist-stat-num">0</span><span class="qlist-stat-lbl">已关闭</span></div>
|
||
</div>
|
||
|
||
|
||
<h4>我收到的私聊(0)</h4>
|
||
|
||
<p class="uk-text-muted">还没有私聊,把提问箱分享出去让大家来私聊吧~</p>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<h4 class="uk-margin-top">我发起的私聊(1)</h4>
|
||
|
||
<a href="/_/admin3/chat/0BUEpt" class="uk-display-block uk-overflow-hidden uk-margin-medium-bottom">
|
||
<div>
|
||
<hr>
|
||
<span class="uk-label uk-label-warning uk-float-right uk-margin-small-right">私聊</span>
|
||
|
||
<div class="uk-text-left uk-text-small uk-text-muted">2026-09-02 19:20:22</div>
|
||
<div class="uk-text-small uk-text-break tb-preline tb-clamp-5 uk-margin-small-top">测试</div>
|
||
</div>
|
||
</a>
|
||
|
||
|
||
|
||
</div>
|
||
</div>
|
||
|
||
<script>
|
||
function copyShareURL(token, btn) {
|
||
var url = window.location.origin + "/vote/" + token;
|
||
if (navigator.clipboard && navigator.clipboard.writeText) {
|
||
navigator.clipboard.writeText(url).then(function () {
|
||
var old = btn.textContent;
|
||
btn.textContent = '已复制';
|
||
setTimeout(function () { btn.textContent = old; }, 1500);
|
||
});
|
||
} else {
|
||
prompt('投票分享链接', url);
|
||
}
|
||
}
|
||
|
||
document.addEventListener('DOMContentLoaded', function() {
|
||
const tabs = document.querySelectorAll('[data-qlist-tab]');
|
||
const panels = document.querySelectorAll('[data-qlist-panel]');
|
||
function showQlistPanel(name) {
|
||
tabs.forEach(function(tab) {
|
||
const active = tab.dataset.qlistTab === name;
|
||
tab.classList.toggle('is-active', active);
|
||
tab.setAttribute('aria-selected', active ? 'true' : 'false');
|
||
});
|
||
panels.forEach(function(panel) {
|
||
panel.hidden = panel.dataset.qlistPanel !== name;
|
||
});
|
||
if (window.history && window.history.replaceState) {
|
||
const hash = name === 'votes' ? '#votes' : (name === 'chats' ? '#chats' : '');
|
||
window.history.replaceState({}, document.title, window.location.pathname + hash);
|
||
}
|
||
}
|
||
tabs.forEach(function(tab) {
|
||
tab.addEventListener('click', function() { showQlistPanel(tab.dataset.qlistTab); });
|
||
});
|
||
if (window.location.hash === '#votes') showQlistPanel('votes');
|
||
if (window.location.hash === '#chats') showQlistPanel('chats');
|
||
});
|
||
</script>
|
||
|
||
<p class=" uk-text-right uk-text-muted uk-text-small">
|
||
<br>
|
||
<a href="/rules">社区规则</a> |
|
||
|
||
<a href="https://box.shiroko.one/_/tamakyi" target="_blank">找站长</a>
|
||
<br>
|
||
<a href="https://share.shiroko.one" target="_blank">盘</a>
|
||
| <a href="https://blog.shiroko.one" target="_blank">公告板</a>
|
||
| <a href="https://chat.shiroko.one" target="_blank">聊天室</a>
|
||
| <a href="https://status.shiroko.one" target="_blank">监控板</a>
|
||
| <a href="https://shiroko.one" target="_blank">导航页</a>
|
||
<br>Powered by NekoBox | 狼ICP备 20230101
|
||
<br>提问箱已成功存活:<span id="box_runtime"></span>
|
||
</p>
|
||
|
||
<script>
|
||
|
||
|
||
|
||
|
||
(function () {
|
||
var create = Math.round(Date.UTC(2023, 6, 1, 18, 15, 43) / 1000);
|
||
function tick() {
|
||
var el = document.getElementById("box_runtime");
|
||
if (!el) return;
|
||
var s = Math.round((Date.now() + 8 * 3600 * 1000) / 1000) - create;
|
||
var t = [0, 0, 0, 0, 0];
|
||
if (s >= 31536000) { t[0] = s / 31536000 | 0; s %= 31536000; }
|
||
if (s >= 86400) { t[1] = s / 86400 | 0; s %= 86400; }
|
||
if (s >= 3600) { t[2] = s / 3600 | 0; s %= 3600; }
|
||
if (s >= 60) { t[3] = s / 60 | 0; s %= 60; }
|
||
if (s > 0) { t[4] = s; }
|
||
el.innerHTML = t[0] + '年 ' + t[1] + '天 ' + t[2] + '时 ' + t[3] + '分 ' + t[4] + '秒 ';
|
||
}
|
||
tick();
|
||
setInterval(tick, 1000);
|
||
})();
|
||
</script>
|
||
<br>
|
||
</div>
|
||
|
||
<script>
|
||
|
||
|
||
|
||
|
||
var SUBMIT_I18N = {
|
||
submitting: '提交中...',
|
||
uploading: '上传中...'
|
||
};
|
||
|
||
function tbResetSubmitButtons() {
|
||
document.querySelectorAll('button[data-tb-submitting]').forEach(function(b) {
|
||
b.disabled = false;
|
||
b.removeAttribute('data-tb-submitting');
|
||
var orig = b.getAttribute('data-tb-restore');
|
||
if (orig !== null) {
|
||
b.innerHTML = orig;
|
||
b.removeAttribute('data-tb-restore');
|
||
}
|
||
});
|
||
}
|
||
|
||
document.addEventListener('submit', function(e) {
|
||
var form = e.target;
|
||
if (!form || form.tagName !== 'FORM') return;
|
||
|
||
|
||
|
||
if (e.defaultPrevented || form.getAttribute('data-tb-skip-submit-feedback') === '1') {
|
||
form.removeAttribute('data-tb-skip-submit-feedback');
|
||
return;
|
||
}
|
||
|
||
|
||
|
||
if (form.getAttribute('target') === '_blank') return;
|
||
|
||
|
||
var trigger = e.submitter || form.querySelector('button[type="submit"]');
|
||
|
||
|
||
var hasFile = false;
|
||
form.querySelectorAll('input[type="file"]').forEach(function(f) {
|
||
if (f.files && f.files.length > 0) hasFile = true;
|
||
});
|
||
var label = hasFile ? SUBMIT_I18N.uploading : SUBMIT_I18N.submitting;
|
||
|
||
if (trigger && trigger.tagName === 'BUTTON') {
|
||
trigger.setAttribute('data-tb-restore', trigger.innerHTML);
|
||
trigger.innerHTML = '<span uk-spinner="ratio: 0.6"></span> ' + label;
|
||
}
|
||
|
||
|
||
form.querySelectorAll('button').forEach(function(b) {
|
||
b.disabled = true;
|
||
b.setAttribute('data-tb-submitting', '1');
|
||
});
|
||
});
|
||
|
||
|
||
window.addEventListener('pageshow', tbResetSubmitButtons);
|
||
</script>
|
||
</body>
|
||
</html>
|
||
|