"<!doctype html><html lang=zh-CN><head><meta charset=utf-8><meta name=viewport content='width=device-width,initial-scale=1'><title>意见反馈 - qutux</title><style>\n*{box-sizing:border-box;margin:0;padding:0}\nbody{font-family:system-ui,-apple-system,\"PingFang SC\",\"Microsoft YaHei\",sans-serif;background:#f3f5f9;color:#1f2937;font-size:14px;line-height:1.6}\n.wrap{max-width:640px;margin:0 auto;padding:14px 12px 60px}\n.hd{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:10px}\n.hd b{font-size:17px}\n.cnt{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}\n.cnt span{background:#fff;border:1px solid #e5e9f0;border-radius:999px;padding:3px 12px;font-size:12px;color:#6b7280}\n.cnt span b{color:#1f2937}\n.cnt span.warn b{color:#d93025}\n.chips{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}\n.chips a{text-decoration:none;font-size:12px;padding:3px 12px;border-radius:999px;border:1px solid #e0e5ee;background:#fff;color:#4b5563}\n.chips a.on{border-color:#3556e8;color:#3556e8;background:#eef2ff}\n.grp{font-size:13px;font-weight:700;color:#374151;margin:16px 0 8px}\n.card{background:#fff;border:1px solid #e5e9f0;border-radius:14px;padding:14px 16px;margin-bottom:10px}\n.chead{display:flex;align-items:center;gap:6px;flex-wrap:wrap}\n.chead .tid{color:#9aa3b2;font-size:12px}\n.chead b{font-size:14px;flex:1;min-width:180px}\n.tag{padding:1px 9px;border-radius:999px;font-size:11px;white-space:nowrap}\n.t-pending{background:#fdf6ec;color:#b88230}.t-planning{background:#eef2ff;color:#4b6bdf}\n.t-plan_wait{background:#f3e8ff;color:#8b3bdb}.t-fixing{background:#fef3c7;color:#a16207}\n.t-verify{background:#e0ecff;color:#1d4ed8}.t-answered{background:#eef2ff;color:#4b6bdf}\n.t-resolved{background:#f0f9eb;color:#4b8b2f}.t-rejected{background:#f4f4f5;color:#909399}\n.t-needinfo{background:#fff7ed;color:#c2610c}.t-processing{background:#ecfeff;color:#0e7490}\n.tag.urgent{background:#fef0f0;color:#f56c6c;font-weight:700}\n.tag.src{background:#f4f6fa;color:#6b7688}\n.meta{color:#8a94a3;font-size:12px;margin:4px 0 6px;word-break:break-all}\n.desc{white-space:pre-wrap;word-break:break-word;font-size:13px}\n.blk{background:#f8fafc;border:1px solid #eef1f5;border-radius:10px;padding:10px 12px;margin-top:8px;white-space:pre-wrap;word-break:break-word;font-size:13px}\n.blk b{display:block;font-size:12px;color:#6b7280;margin-bottom:4px}\n.blk.nowonfix{background:#fffbeb;border-color:#fdeeb0}\n.note{color:#b88230;font-size:12px;margin-top:6px}\n.shots img{max-width:100%;border-radius:8px;border:1px solid #eef1f5;margin:6px 6px 0 0;max-height:150px}\n.tl{margin-top:8px}\n.tl details{font-size:12px;color:#6b7280}\n.tl summary{cursor:pointer}\n.tl-item{margin:8px 0;padding-left:10px;border-left:2px solid #e5e9f0}\n.tl-item .who{font-weight:600;margin-right:6px;color:#1f2937}\n.tl-item.platform .who{color:#3b5bdb}.tl-item.system .who{color:#4b8b2f}\n.tl-item .c{white-space:pre-wrap;word-break:break-word;color:#374151}\n.tl-item.system .c{color:#4b8b2f}\n.btns{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}\n.btn{border:1px solid #e0e5ee;background:#fff;color:#374151;border-radius:8px;padding:7px 14px;font-size:13px;cursor:pointer}\n.btn.pri{border-color:#3556e8;color:#fff;background:#3556e8}\n.btn.grn{border-color:#4b8b2f;color:#fff;background:#4b8b2f}\n.btn.red{border-color:#f56c6c;color:#f56c6c;background:#fff}\n.btn:disabled{opacity:.5}\n.lb{display:flex;align-items:center;gap:6px;font-size:12px;color:#6b7280;margin-top:8px}\n.ok-badge{background:#f0f9eb;color:#4b8b2f;border:1px solid #e4f2d9;border-radius:8px;padding:6px 12px;font-size:12px;margin-top:8px}\n.frow{margin:10px 0}\n.frow label{display:block;font-size:12px;color:#6b7280;margin-bottom:4px}\n.frow input,.frow select,.frow textarea{width:100%;padding:10px 12px;border:1px solid #e0e5ee;border-radius:10px;font-size:14px;font-family:inherit;background:#fff}\n.frow textarea{min-height:110px;resize:vertical}\n.muted{color:#8a94a3;font-size:12px}\n.code-big{font-size:26px;font-weight:800;letter-spacing:2px;color:#3556e8;background:#eef2ff;border-radius:12px;padding:14px;text-align:center;margin:12px 0}\n.empty{text-align:center;color:#9aa3b2;padding:40px 0}\n.newbox details{background:#fff;border:1px dashed #c9d4e8;border-radius:12px;padding:10px 14px;margin-bottom:12px}\n.newbox summary{cursor:pointer;font-size:13px;color:#4b6bdf}\n</style></head><body><div class=\"wrap\"><div class=\"hd\"><b>qutux · 意见反馈</b></div><div id=\"fbox\"><div class=\"frow\"><label>类型</label><select id=\"fType\"><option value=\"bug\">功能异常</option><option value=\"consult\">使用咨询</option><option value=\"suggest\">功能建议</option><option value=\"data\">数据问题</option><option value=\"complaint\">投诉</option></select></div><div class=\"frow\"><label>称呼（可选）</label><input id=\"fName\"></div><div class=\"frow\"><label>联系方式（可选，便于回访）</label><input id=\"fContact\"></div><div class=\"frow\"><label>问题描述（在哪个页面、做了什么、发生了什么，或你的建议）</label><textarea id=\"fDesc\"></textarea></div><div class=\"btns\"><button class=\"btn pri\" id=\"fBtn\" onclick=\"submitFb()\">提交反馈</button></div></div></div><script>function submitFb(){ if(document.getElementById('fDesc').value.trim().length<5){alert('请把问题描述得再具体一点（至少 5 个字）');return} var b=document.getElementById('fBtn');b.disabled=true;b.textContent='提交中…'; fetch('/fb/qutux/submit',{method:'POST',headers:{'Content-Type':'application/json'},body:JSON.stringify({type:document.getElementById('fType').value,user_name:document.getElementById('fName').value,user_contact:document.getElementById('fContact').value,description:document.getElementById('fDesc').value})}).then(function(r){return r.json()}).then(function(j){ if(j.success===false){alert(j.msg);b.disabled=false;b.textContent='提交反馈';return} var d=j.data||{}; document.getElementById('fbox').innerHTML='<div class=ok-badge>提交成功，感谢你的反馈</div>'+'<div class=frow><label>你的工单码（请保存，用于查询进度）</label></div><div class=code-big>'+(d.code||'')+'</div>'+'<a class=btn href=/fb-status?code='+(d.code||'')+'>查看进度</a>';}).catch(function(){alert('提交失败，请稍后再试');b.disabled=false;b.textContent='提交反馈'})}</script></body></html>"