0908
This commit is contained in:
2
aio-mcp/功能设计.md
Normal file
2
aio-mcp/功能设计.md
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
1. aio-mcp,aio的意思是all in one 的意思
|
||||||
|
2. 整个项目 有一个共用的sqlite 数据库 ,一个mcp server 和一个rest api server 组成
|
||||||
@@ -74,6 +74,32 @@ ul { list-style: none; }
|
|||||||
|
|
||||||
.header-actions { display: flex; align-items: center; gap: 12px; flex: none; }
|
.header-actions { display: flex; align-items: center; gap: 12px; flex: none; }
|
||||||
|
|
||||||
|
/* 移动端汉堡按钮 */
|
||||||
|
.nav-toggle {
|
||||||
|
display: none;
|
||||||
|
order: 3;
|
||||||
|
width: 40px;
|
||||||
|
height: 40px;
|
||||||
|
padding: 0;
|
||||||
|
border: 1px solid var(--border);
|
||||||
|
background: #fff;
|
||||||
|
border-radius: 8px;
|
||||||
|
cursor: pointer;
|
||||||
|
flex: none;
|
||||||
|
}
|
||||||
|
.nav-toggle span {
|
||||||
|
display: block;
|
||||||
|
width: 18px;
|
||||||
|
height: 2px;
|
||||||
|
background: var(--text);
|
||||||
|
margin: 3.5px auto;
|
||||||
|
border-radius: 2px;
|
||||||
|
transition: transform .25s, opacity .2s;
|
||||||
|
}
|
||||||
|
.nav-toggle.active span:nth-child(1) { transform: translateY(5.5px) rotate(45deg); }
|
||||||
|
.nav-toggle.active span:nth-child(2) { opacity: 0; }
|
||||||
|
.nav-toggle.active span:nth-child(3) { transform: translateY(-5.5px) rotate(-45deg); }
|
||||||
|
|
||||||
/* 按钮 */
|
/* 按钮 */
|
||||||
.btn {
|
.btn {
|
||||||
display: inline-flex;
|
display: inline-flex;
|
||||||
@@ -301,6 +327,10 @@ table.result-table th { background: var(--bg-soft); color: var(--text-sub); font
|
|||||||
.footer-bottom a { color: var(--text-light); transition: color .2s; }
|
.footer-bottom a { color: var(--text-light); transition: color .2s; }
|
||||||
.footer-bottom a:hover { color: var(--mi-orange); }
|
.footer-bottom a:hover { color: var(--mi-orange); }
|
||||||
|
|
||||||
|
/* 表格横向滚动容器 */
|
||||||
|
.table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
|
||||||
|
.table-wrap table { min-width: 520px; }
|
||||||
|
|
||||||
/* ============ 响应式 ============ */
|
/* ============ 响应式 ============ */
|
||||||
@media (max-width: 1080px) {
|
@media (max-width: 1080px) {
|
||||||
.container { width: 100%; }
|
.container { width: 100%; }
|
||||||
@@ -310,12 +340,85 @@ table.result-table th { background: var(--bg-soft); color: var(--text-sub); font
|
|||||||
.grid-3 { grid-template-columns: repeat(2, 1fr); }
|
.grid-3 { grid-template-columns: repeat(2, 1fr); }
|
||||||
.stats { grid-template-columns: repeat(2, 1fr); }
|
.stats { grid-template-columns: repeat(2, 1fr); }
|
||||||
.stats .item:nth-child(2) { border-right: none; }
|
.stats .item:nth-child(2) { border-right: none; }
|
||||||
|
.stats .item:nth-child(3) { border-top: 1px solid var(--border); }
|
||||||
|
.stats .item:nth-child(4) { border-top: 1px solid var(--border); }
|
||||||
.chat-layout { grid-template-columns: 1fr; }
|
.chat-layout { grid-template-columns: 1fr; }
|
||||||
.footer-cols { grid-template-columns: repeat(2, 1fr); }
|
.footer-cols { grid-template-columns: repeat(2, 1fr); }
|
||||||
}
|
}
|
||||||
@media (max-width: 720px) {
|
|
||||||
.nav { gap: 18px; overflow-x: auto; }
|
/* 平板 / 手机:切换为汉堡菜单 */
|
||||||
.hero h1 { font-size: 34px; }
|
@media (max-width: 900px) {
|
||||||
.grid-3, .chapter-list { grid-template-columns: 1fr; }
|
.header-inner { gap: 12px; justify-content: space-between; }
|
||||||
.section { padding: 48px 0; }
|
.logo { flex: 1; }
|
||||||
|
.logo span { font-size: 18px; }
|
||||||
|
.nav-toggle { display: block; }
|
||||||
|
.nav {
|
||||||
|
display: none;
|
||||||
|
position: absolute;
|
||||||
|
top: var(--header-h);
|
||||||
|
left: 0;
|
||||||
|
right: 0;
|
||||||
|
flex-direction: column;
|
||||||
|
gap: 0;
|
||||||
|
padding: 4px 16px 12px;
|
||||||
|
background: #fff;
|
||||||
|
border-bottom: 1px solid var(--border);
|
||||||
|
box-shadow: var(--shadow);
|
||||||
|
}
|
||||||
|
.nav.open { display: flex; }
|
||||||
|
.nav a {
|
||||||
|
padding: 14px 2px;
|
||||||
|
font-size: 16px;
|
||||||
|
border-bottom: 1px solid #f2f2f2;
|
||||||
|
}
|
||||||
|
.nav a:last-child { border-bottom: none; }
|
||||||
|
.nav a.active::after { display: none; }
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (max-width: 720px) {
|
||||||
|
.container { padding: 0 14px; }
|
||||||
|
.hero { padding: 40px 0 48px; }
|
||||||
|
.hero h1 { font-size: 30px; }
|
||||||
|
.hero p { font-size: 15px; }
|
||||||
|
.hero-tag { font-size: 12px; padding: 5px 12px; }
|
||||||
|
.hero-actions { flex-direction: column; align-items: stretch; }
|
||||||
|
.hero-actions .btn { width: 100%; }
|
||||||
|
.hero-img img { max-width: 320px; }
|
||||||
|
|
||||||
|
.section { padding: 40px 0; }
|
||||||
|
.section-head { margin-bottom: 28px; }
|
||||||
|
.section-head h2 { font-size: 24px; }
|
||||||
|
|
||||||
|
.grid-3 { grid-template-columns: 1fr; gap: 16px; }
|
||||||
|
.chapter-list { grid-template-columns: 1fr; gap: 14px; }
|
||||||
|
.card { padding: 24px 20px; }
|
||||||
|
.card .icon { width: 72px; height: 72px; }
|
||||||
|
.card p { min-height: 0; }
|
||||||
|
|
||||||
|
.page-banner { padding: 32px 0; }
|
||||||
|
.page-banner h1 { font-size: 26px; }
|
||||||
|
.page-banner p { font-size: 14px; }
|
||||||
|
|
||||||
|
.panel { padding: 20px; }
|
||||||
|
.panel h2 { font-size: 19px; }
|
||||||
|
|
||||||
|
.form-row { flex-direction: column; }
|
||||||
|
.form-row .input { min-width: 0; width: 100%; }
|
||||||
|
.form-row .btn { width: 100%; }
|
||||||
|
|
||||||
|
.chat-body { height: 320px; padding: 16px; }
|
||||||
|
.bubble { max-width: 88%; font-size: 14px; }
|
||||||
|
|
||||||
|
.stats .item { padding: 22px 10px; }
|
||||||
|
.stats .num { font-size: 26px; }
|
||||||
|
.placeholder.tall { min-height: 200px; padding: 28px 16px; }
|
||||||
|
|
||||||
|
.footer { padding: 36px 0 20px; }
|
||||||
|
.footer-cols { grid-template-columns: repeat(2, 1fr); gap: 20px; }
|
||||||
|
.footer-bottom { font-size: 11px; line-height: 1.8; }
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (max-width: 400px) {
|
||||||
|
.footer-cols { grid-template-columns: 1fr; }
|
||||||
|
.header-actions .btn { padding: 0 14px; font-size: 13px; }
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,6 +2,25 @@
|
|||||||
(function () {
|
(function () {
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
|
/* ---------- 移动端菜单 ---------- */
|
||||||
|
var toggle = document.getElementById('navToggle');
|
||||||
|
var nav = document.querySelector('.nav');
|
||||||
|
if (toggle && nav) {
|
||||||
|
toggle.addEventListener('click', function () {
|
||||||
|
var open = nav.classList.toggle('open');
|
||||||
|
toggle.classList.toggle('active', open);
|
||||||
|
toggle.setAttribute('aria-expanded', String(open));
|
||||||
|
});
|
||||||
|
// 点击菜单项后自动收起
|
||||||
|
nav.addEventListener('click', function (e) {
|
||||||
|
if (e.target.tagName === 'A') {
|
||||||
|
nav.classList.remove('open');
|
||||||
|
toggle.classList.remove('active');
|
||||||
|
toggle.setAttribute('aria-expanded', 'false');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
/* ---------- 报告查询 ---------- */
|
/* ---------- 报告查询 ---------- */
|
||||||
var form = document.getElementById('reportForm');
|
var form = document.getElementById('reportForm');
|
||||||
if (form) {
|
if (form) {
|
||||||
|
|||||||
@@ -21,6 +21,9 @@
|
|||||||
<a href="report.html">报告查询</a>
|
<a href="report.html">报告查询</a>
|
||||||
<a href="support.html">智能客服</a>
|
<a href="support.html">智能客服</a>
|
||||||
</nav>
|
</nav>
|
||||||
|
<button class="nav-toggle" id="navToggle" aria-label="打开菜单" aria-expanded="false">
|
||||||
|
<span></span><span></span><span></span>
|
||||||
|
</button>
|
||||||
<div class="header-actions">
|
<div class="header-actions">
|
||||||
<a class="btn btn-primary btn-sm" href="report.html">查询报告</a>
|
<a class="btn btn-primary btn-sm" href="report.html">查询报告</a>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -23,6 +23,9 @@
|
|||||||
<a href="report.html">报告查询</a>
|
<a href="report.html">报告查询</a>
|
||||||
<a href="support.html">智能客服</a>
|
<a href="support.html">智能客服</a>
|
||||||
</nav>
|
</nav>
|
||||||
|
<button class="nav-toggle" id="navToggle" aria-label="打开菜单" aria-expanded="false">
|
||||||
|
<span></span><span></span><span></span>
|
||||||
|
</button>
|
||||||
<div class="header-actions">
|
<div class="header-actions">
|
||||||
<a class="btn btn-primary btn-sm" href="report.html">查询报告</a>
|
<a class="btn btn-primary btn-sm" href="report.html">查询报告</a>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -21,6 +21,9 @@
|
|||||||
<a href="report.html" class="active">报告查询</a>
|
<a href="report.html" class="active">报告查询</a>
|
||||||
<a href="support.html">智能客服</a>
|
<a href="support.html">智能客服</a>
|
||||||
</nav>
|
</nav>
|
||||||
|
<button class="nav-toggle" id="navToggle" aria-label="打开菜单" aria-expanded="false">
|
||||||
|
<span></span><span></span><span></span>
|
||||||
|
</button>
|
||||||
<div class="header-actions">
|
<div class="header-actions">
|
||||||
<a class="btn btn-primary btn-sm" href="support.html">智能客服</a>
|
<a class="btn btn-primary btn-sm" href="support.html">智能客服</a>
|
||||||
</div>
|
</div>
|
||||||
@@ -53,6 +56,7 @@
|
|||||||
<div>请输入机身编号查询测试报告</div>
|
<div>请输入机身编号查询测试报告</div>
|
||||||
</div>
|
</div>
|
||||||
<div id="resultDetail" style="display:none">
|
<div id="resultDetail" style="display:none">
|
||||||
|
<div class="table-wrap">
|
||||||
<table class="result-table">
|
<table class="result-table">
|
||||||
<thead>
|
<thead>
|
||||||
<tr><th>测试项目</th><th>结果</th><th>说明</th></tr>
|
<tr><th>测试项目</th><th>结果</th><th>说明</th></tr>
|
||||||
@@ -65,6 +69,7 @@
|
|||||||
<tr><td>温度与风扇</td><td class="pass">通过</td><td>内容待补充</td></tr>
|
<tr><td>温度与风扇</td><td class="pass">通过</td><td>内容待补充</td></tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
|
</div>
|
||||||
<p class="form-tip">以上为示例结构,实际数据在接入查询接口后展示。</p>
|
<p class="form-tip">以上为示例结构,实际数据在接入查询接口后展示。</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -21,6 +21,9 @@
|
|||||||
<a href="report.html">报告查询</a>
|
<a href="report.html">报告查询</a>
|
||||||
<a href="support.html" class="active">智能客服</a>
|
<a href="support.html" class="active">智能客服</a>
|
||||||
</nav>
|
</nav>
|
||||||
|
<button class="nav-toggle" id="navToggle" aria-label="打开菜单" aria-expanded="false">
|
||||||
|
<span></span><span></span><span></span>
|
||||||
|
</button>
|
||||||
<div class="header-actions">
|
<div class="header-actions">
|
||||||
<a class="btn btn-primary btn-sm" href="report.html">查询报告</a>
|
<a class="btn btn-primary btn-sm" href="report.html">查询报告</a>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -1,2 +1,2 @@
|
|||||||
1. 构建docker 镜像,创建docker compose 文件
|
1. 构建docker 镜像,创建docker compose 文件
|
||||||
2. 部署到机器 100.66.1.5 admin admin123
|
2. 部署到机器 100.66.1.5 用户名 admin 密码 admin123
|
||||||
|
|||||||
Reference in New Issue
Block a user