diff --git a/AI调整开发文档.md b/AI调整开发文档.md deleted file mode 100644 index 60ded9a..0000000 --- a/AI调整开发文档.md +++ /dev/null @@ -1,546 +0,0 @@ -# 网站首页修订版 Plan(v2) - -> 本文件在 `plan.txt` 基础上修订:补全缺失说明、澄清歧义、统一各处术语。 -> 凡原 plan 未说明而本文给出默认值的,均已标注 **【决策】**,可自行调整。 -> 本版以"可直接指导编码实现"为标准编写,页面清单、数据模型、布局规格均已明确。 - ---- - -## 1. 修订要点总览(原 plan 问题 → 本版处理) - -| # | 原 plan 问题 | 本版处理 | -| --- | -------------------------------------------------------------------------------------- | --------------------------------------------------------------------------- | -| 1 | 页面体系与跳转关系未定义 | §2 站点地图,明确首页为最前置页,三大知识库各有独立导航区,工具库跳转功能区 | -| 2 | 首页百分比布局自相矛盾(60% 主内容 / 20% 展示栏 / 40% 导航 / 剩余 40% 里"中部主内容") | §4 重构为自洽的分区模型,保留 20% 展示栏 + 40% 板块区意图 | -| 3 | 技术栈表述笼统 | §3 确定 PHP + SQLite(PDO) + 原生 HTML/CSS/JS,可加 layui | -| 4 | 导航区"留白 10% / 上半部 20%"表述含糊 | §5 给出明确高度计算规则 | -| 5 | "按钮上分蹦出来一个语言栏"(疑似笔误) | §5 定义为悬浮气泡 tooltip 显示备注 | -| 6 | 导航块数据来源、后台归属、超量排布未定义 | §5.3 + §7 数据模型 + §6.4 分栏规则 | -| 7 | 功能区首页布局缺失、顶部组件关系不清 | §6 定义功能区首页网格布局 + 三类顶部组件分工 | -| 8 | 后台"顺序排布 / 内容设计"对象空泛 | §7.3 拆解为可操作的具体配置项 | -| 9 | 登录会话 / 初始管理员 / 越权访问缺失 | §7.1、§7.2 补齐 | -| 10 | quota.txt、avlist.js 格式未约定 | §10 明确格式 | -| 11 | 备案号、版权文本来源未说明 | §7.3.2 后台可配置 + 默认占位 | -| 12 | 移动端适配规则不全 | §9 响应式断点表 | -| 13 | 目录结构缺失 | §8 目录规划 | -| 14 | "上次更新时间"无定义 | §4.5 定义数据来源与刷新逻辑 | -| 15 | 密码"base64+md5"安全局限 | §7.1 注明局限(按需求实现) | -| 16 | 板块 hover 展开交互描述绕口 | §4.6 重写为实现级规格 | - ---- - -## 2. 站点地图与页面跳转关系 - -站点逻辑结构(已确认): - -``` -首页区(index) - ├─ 科普库 → 科普导航页 - ├─ 红队库 → 红队导航页 - ├─ 蓝队库 → 蓝队导航页 - └─ 工具库 → 功能区 - 功能区首页 - ├─ 编码/加解密页 - ├─ 随机密码生成页 - ├─ 二维码生成器 - └─ 杀软识别页 -后台区(/admin,需登录) -``` - -页面清单: - -| 区域 | 页面 | 文件(建议) | 说明 | -| -------- | ------------------------ | --------------------- | ----------------------------------------------------------------------------- | -| 首页区 | 首页 | `index.php` | 最前置页面 | -| 导航区 | 科普库导航页 | `nav.php?cat=popular` | 科普 / 红队 / 蓝队 三个导航页共用同一模板,按分类参数取数,等价于三个独立页面 | -| 导航区 | 红队库导航页 | `nav.php?cat=red` | 同上 | -| 导航区 | 蓝队库导航页 | `nav.php?cat=blue` | 同上 | -| 功能区 | 功能区首页 | `func/index.php` | 工具入口列表 | -| 功能区 | 编码/加解密 | `func/codec.php` | | -| 功能区 | 随机密码生成 | `func/password.php` | | -| 功能区 | 二维码生成器 | `func/qrcode.php` | | -| 功能区 | 杀软识别 | `func/av.php` | | -| 后台区 | 登录页 | `admin/login.php` | | -| 后台区 | 导航内容管理(增删改查) | `admin/nav.php` | 含排序 | -| 后台区 | 功能区管理(工具入口) | `admin/tools.php` | 工具增删改/排序/启停,见 §6.2 | -| 后台区 | 顺序排布 / 内容设计 | `admin/content.php` | 见 §7.3 | -| 数据接口 | JSON 输出 | `api/nav.php` 等 | 供页面 JS 取导航数据 | - -> **【决策】文件全部采用 `.php`**:便于统一 include 顶部栏/页脚、做导航数据渲染、后台鉴权; -> 纯前端静态页若要读 sqlite 也必须走后端接口,统一为 PHP 最省事。 - ---- - -## 3. 技术栈与运行环境 - -- 后端:**PHP ≥ 7.4 + PDO_SQLITE 扩展**,数据库 `data/homepage.db`(SQLite3 文件)。 -- 前端:原生 HTML5 + CSS3 + 原生 JS;允许引入 layui 或轻量库(见 §6 工具页选型)。 -- 编码类算法:优先原生 Web Crypto(SHA);UTF-8 编解码用 `TextEncoder`/`TextDecoder`;如需统一兼容 IE 类场景才引入 `crypto-js`。**【决策:现代浏览器优先,不兼容老 IE】** -- 二维码:引入 `qrcodejs`(单文件 JS 库)。 -- 部署形态:最终放置于服务器(Apache/Nginx + PHP),文档根目录即本工程目录。 - -> 实现约束:编码/加解密、密码生成等均为纯前端 JS 计算,不产生请求;仅导航数据与后台写库走 PHP。 - ---- - -## 4. 首页区规格(index.php) - -### 4.1 整体分区(自洽版布局) - -页面允许纵向滚动(**不用 JS 死锁 100vh**,避免小屏挤压)。各区块高度按"视口高度比例(vh)+ 自然内容高度"混用,规格如下: - -| 区块 | 顺序 | 高度规格 | 内容 | -| ------------- | ---- | ----------------------------------- | ----------------- | -| A. 顶部展示栏 | 1 | 约 20vh(自适应,最小不低于 120px) | 见 §4.2 | -| B. 名言条 | 2 | 内容自适应(约占 10% 视口) | 随机名言,见 §4.3 | -| C. 四大板块区 | 3 | 约 40vh 起,内容超高可自然延伸 | 见 §4.4 / §4.6 | -| D. 页脚 | 4 | 内容自适应 | 见 §4.7 | - -> 原 plan"主内容占 60%(20% 展示栏 + 40% 板块)+ 剩余 40% 内 10% 名言 + 下部备案"存在加总冲突, -> 本版将"20% 展示栏 + 40% 板块 + 10% 名言"作为主要视口内规划(合计约 70%,留有余量),备案等落入页脚区块,不再要求凑满 100vh。 - -### 4.2 顶部展示栏(首页版) - -- 整体居中布局,内部水平分布: - - **左侧**:站点 Logo + 站点名称/副标题。 - - **右侧**:当前时间(实时刷新,格式 `YYYY-MM-DD HH:mm:ss`)+ 上次更新时间(见 §4.5)。 - - **下方居中**:天气区块:``(在移动端可改为宽度 100% 居中,iframe 原样保留尺寸缩放)。 -- 展示栏背景与整体风格统一(§4.8)。 - -### 4.3 名言条(B 区块) - -- 内容源:`data/quota.txt`,每次**刷新页面随机取一条**(也可用 JS 刷新按钮换一条)。 -- 文件格式见 §10.1。 -- 名言为空/文件缺失时显示默认文案,页面不报错。 - -### 4.4 四大板块区(C 区块) - -- 四个板块横排均分,按后台 categories 顺序渲染: - **科普库 → 科普导航页**、**红队库 → 红队导航页**、**蓝队库 → 蓝队导航页**、**工具库 → 功能区首页**。 -- 板块区上方不再显示“四大板块”大标题,改为**快捷站点胶囊条**(数据表 `quick_links`,后台“内容与顺序”维护): - - 用于放置本域名下其它网站,点击 `target="_blank"` 新标签页打开且保留本页; - - 无配置时不显示该条,板块区保持居中填满布局。 -- 每个板块卡片内容:图标 + 名称 + 一句话简介(文案后台可配,见 §7.3.2)。 -- 点击行为:科普/红/蓝打开对应导航页;工具库打开功能区首页。 -- 基础悬停:变色/放大反馈;高级展开说明见 §4.6。 - -### 4.5 "上次更新时间"定义(【决策】) - -含义 = **导航库内容最近一次被后台修改的时间**。 - -- 后台任何写库操作成功后,同步写入 `settings` 表键 `last_updated`(格式时间戳)。 -- 页面通过 PHP 端直接输出该值;无记录时显示"暂无更新记录"。 -- 不跟随"站点上线时间",只代表内容数据新鲜度。 - -### 4.6 板块 hover 展开说明(高级要求,实现级规格) - -目的:鼠标悬停某板块时,弹出**只读说明层**,覆盖在板块区上方,用于解释该库是什么;该层**不可点击、不参与布局**(position: absolute 叠层)。 - -规则: - -1. 悬停任一板块 → 生成该板块说明浮层,覆盖其上方并向外**延展**,延展优先方向: - - 处于最左侧板块:向右延展;处于最右侧板块:向左延展; - - 处于中间板块时:浮层**移位显示到距其最近的边缘空白侧**(第 2 块→吸附左侧边缘展开,第 3 块→吸附右侧边缘展开)。 -2. 所有板块的**实际位置在展开过程中不移动**(视觉上"旁侧浮现"由浮层绝对定位实现,不做网格挤压)。 -3. 鼠标移出四大板块整体区域 → 浮层消失。 -4. 鼠标从一块移到另一块 → 浮层内容与吸附位置即时切换为该板块。 -5. 浮层 z-index 高于板块卡片;浮层 pointer-events 不拦截,防止遮挡后无法移动鼠标。 - -> 说明文案来源:categories.description,可在后台"内容设计"中编辑。**【决策:文案每块 1~3 句】** - -### 4.7 页脚(D 区块) - -内容:ICP 备案号(`备案号`占位,后台可配)、公安备案号(后台可配,含图标)、版权声明(默认 `© 2026 <站点名> 版权所有`,后台可配)、站点名/其他自定义文本(后台可配,见 §7.3.2)。底部同时放一个低调的"后台管理"入口链接(指向 `admin/login.php`)。 - -### 4.8 统一视觉规范(全局) - -| 项 | 约定 | 备注 | -| ------------ | --------------------------------------------- | ---------------------- | -| 主色 | 深空蓝 `#1f3a5f` + 强调蓝 `#2563eb` | 各页统一 | -| 背景 | 浅灰 `#f5f7fa`,卡片白底 | | -| 字体 | 系统字体栈 + 中文回退(`Microsoft YaHei` 等) | 由 CSS 变量统一 | -| 圆角/阴影 | 卡片统一 8px 圆角、轻投影 | | -| 全局公共样式 | 独立 `assets/css/common.css` | 各页引入,保证风格一致 | -| favicon/标题 | 站点名作为 `