gpttemp
This commit is contained in:
165
doc/gpt1/Pager 母型「设计规范表」.md
Normal file
165
doc/gpt1/Pager 母型「设计规范表」.md
Normal file
@@ -0,0 +1,165 @@
|
||||
|
||||
|
||||
# 二、Pager 母型「设计规范表」(以后你扩 20×5 不会再炸)
|
||||
|
||||
这是**核心内容**,你以后所有 pager 都应该**严格遵守**。
|
||||
|
||||
---
|
||||
|
||||
## ① Pager 的“冻结粒度”设计(非常关键)
|
||||
|
||||
### ✅ 正确冻结方式(你刚才已经悟对了)
|
||||
|
||||
> **分页只绑定域名,不绑定页面、不绑定页码**
|
||||
|
||||
```php
|
||||
pagerCfg = [
|
||||
family => 'numeric' | 'pill' | 'block' | 'input' | 'minimal',
|
||||
variant => 0~19, // 子变体
|
||||
tone => 1~N // 色调 / 强弱
|
||||
]
|
||||
```
|
||||
|
||||
* category / search **共用一套 pagerCfg**
|
||||
* 不同域名 = 不同 pager
|
||||
* 翻页时 HTML **不变化**(SEO + F12 都稳定)
|
||||
|
||||
❌ 错误方式:
|
||||
|
||||
* 每一页重新随机
|
||||
* pager 跟随页码变化
|
||||
* 搜索和分类用不同 pagerCfg(没必要)
|
||||
|
||||
---
|
||||
|
||||
## ② Pager 母型(Family)定义标准(5 个)
|
||||
|
||||
| 母型 | family | 结构特征 | 适用 |
|
||||
| --- | ------- | -------------- | ----- |
|
||||
| 数字型 | numeric | 页码 + prev/next | 绝大多数 |
|
||||
| 药丸型 | pill | 圆角 / 胶囊 | 移动端 |
|
||||
| 块状型 | block | 方块 / 网格 | PC |
|
||||
| 输入型 | input | 页码输入框 | 高级站 |
|
||||
| 极简型 | minimal | prev / next | SEO 页 |
|
||||
|
||||
**每个 family = 1 个文件**
|
||||
例如:`pager_01.html`、`pager_02.html`
|
||||
|
||||
---
|
||||
|
||||
## ③ 每个母型必须包含的「功能元素」(硬性)
|
||||
|
||||
任何 pager(无论多花哨),**必须全部考虑**:
|
||||
|
||||
| 元素 | 必须 |
|
||||
| --------------- | -- |
|
||||
| 上一页 prev | ✅ |
|
||||
| 下一页 next | ✅ |
|
||||
| 首页 first | 推荐 |
|
||||
| 末页 last | 推荐 |
|
||||
| 当前页 current | ✅ |
|
||||
| disabled 状态 | ✅ |
|
||||
| aria-current | ✅ |
|
||||
| rel="prev/next" | 推荐 |
|
||||
|
||||
❌ 不允许再出现:
|
||||
|
||||
* 没有 prev/next
|
||||
* 只有页码
|
||||
* 没有 current 高亮
|
||||
|
||||
---
|
||||
|
||||
## ④ 子变体(Variant)的**正确扩展方式**
|
||||
|
||||
**Variant ≠ 改逻辑**
|
||||
**Variant 只改结构 + 视觉**
|
||||
|
||||
### ✅ 允许变的(安全)
|
||||
|
||||
* 外层标签:`nav / section / footer / aside`
|
||||
* 容器结构:`ul/li` ↔ `div/span`
|
||||
* 顺序:`prev → pages → next` / `pages → prev/next`
|
||||
* 视觉:
|
||||
|
||||
* 圆角 / 方角
|
||||
* 边框 / 无边框
|
||||
* 实心 / outline / ghost
|
||||
* 信息增强:
|
||||
|
||||
* “第 X / Y 页”
|
||||
* “共 N 页”
|
||||
|
||||
### ❌ 不允许变的(会炸)
|
||||
|
||||
* `$pagerArr` 的遍历方式
|
||||
* prev / next 的判断逻辑
|
||||
* current / disabled 的语义判断
|
||||
|
||||
---
|
||||
|
||||
## ⑤ 安全数据规则(你这次踩坑的核心)
|
||||
|
||||
### ❌ 禁止写法
|
||||
|
||||
```tpl
|
||||
$pagerArr[1]['url']
|
||||
$pagerArr[3]['url']
|
||||
```
|
||||
|
||||
### ✅ 唯一允许
|
||||
|
||||
```php
|
||||
foreach ($pagerArr as $it) {
|
||||
if ($it['type'] === 'page') {
|
||||
if ($first_url === null) $first_url = $it['url'];
|
||||
$last_url = $it['url'];
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
然后模板里只用:
|
||||
|
||||
```tpl
|
||||
{:$first_url ?? '#'}
|
||||
{:$last_url ?? '#'}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## ⑥ CSS 规范(和你 CssBuilder 完全兼容)
|
||||
|
||||
### 必须遵守
|
||||
|
||||
* **所有 class 带 `$TpStyle.dom_prefix`**
|
||||
* CSS 用 `__PFX__`,由 CssBuilder 替换
|
||||
* 不写死颜色,只用:
|
||||
|
||||
* `var(--color_primary)`
|
||||
* `var(--color_bg)`
|
||||
* `var(--color_border)`
|
||||
|
||||
### 推荐结构
|
||||
|
||||
```
|
||||
pager_base.css // 所有 pager 共用
|
||||
pager_01_numeric.css // 仅 numeric
|
||||
pager_02_pill.css
|
||||
...
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 七、你现在处在什么阶段(实话)
|
||||
|
||||
你现在已经做到:
|
||||
|
||||
* ✅ 架构方向完全正确
|
||||
* ✅ 冻结逻辑清晰
|
||||
* ✅ item / pager 思路统一
|
||||
* ❌ 之前炸的都是 **模板语法 + PHP/TP 边界问题**
|
||||
|
||||
这一轮修完后,**不会再出现那种“越改越乱”的情况了**。
|
||||
|
||||
---
|
||||
|
||||
13
doc/gpt1/gpt-gen-html.md
Normal file
13
doc/gpt1/gpt-gen-html.md
Normal file
@@ -0,0 +1,13 @@
|
||||
这些模板:
|
||||
|
||||
结构差异极大
|
||||
|
||||
标签组合完全不同
|
||||
|
||||
类名随机
|
||||
|
||||
theme 色深入参与
|
||||
|
||||
H5/PC 完美适配
|
||||
|
||||
完全可以直接部署
|
||||
212
doc/gpt1/item_01~05「继承母型 CSS 协议」(终版规则).md
Normal file
212
doc/gpt1/item_01~05「继承母型 CSS 协议」(终版规则).md
Normal file
@@ -0,0 +1,212 @@
|
||||
下面给你 **A:item_01~05「继承母型 CSS 协议」(终版规则)**。
|
||||
目标是:以后你再加 item_06/07… 或做子变体,只需要“挂 class + 少量覆写”,不再复制粘贴一堆 CSS、也不会互相污染。
|
||||
|
||||
---
|
||||
|
||||
# 1)目录与加载顺序协议(必须固定)
|
||||
|
||||
> 关键:**先 base,再 type,再 item,再 behavior(可选)**
|
||||
|
||||
推荐文件结构:
|
||||
|
||||
```
|
||||
/static/css/list/
|
||||
item_base.css (所有 item 的共用基础,必须)
|
||||
item_poster.css (poster 母型:item_01 / item_04)
|
||||
item_media.css (media 母型:item_02)
|
||||
item_rank.css (rank/text 母型:item_03 / item_05)
|
||||
|
||||
item_01.css (可选:仅做微差异)
|
||||
item_02.css (可选)
|
||||
item_03.css (可选)
|
||||
item_04.css (可选)
|
||||
item_05.css (可选)
|
||||
|
||||
behavior.css (可选:通用行为兜底)
|
||||
```
|
||||
|
||||
CSS 合并时顺序建议:
|
||||
|
||||
1. `item_base.css`
|
||||
2. `item_poster.css / item_media.css / item_rank.css`
|
||||
3. `item_01~05.css`(若存在)
|
||||
4. `behavior.css`(若你还需要通用兜底)
|
||||
|
||||
---
|
||||
|
||||
# 2)Class 命名协议(决定“继承关系”)
|
||||
|
||||
每个 item 根节点必须同时包含:
|
||||
|
||||
* **通用根类**:`{$TpStyle.dom_prefix}-item`
|
||||
* **母型类(必须)**:`poster` / `media` / `rank`
|
||||
* **编号类(可选但推荐)**:`item01` / `item02`…
|
||||
* **行为类(来自 cfg.class)**:`compact loose emphasis top collapsed grouped`
|
||||
|
||||
示例(poster 强化):
|
||||
|
||||
```html
|
||||
<article class="{$TpStyle.dom_prefix}-item poster item04 {$cfg.class}">
|
||||
```
|
||||
|
||||
示例(榜单 Top 强化):
|
||||
|
||||
```html
|
||||
<article class="{$TpStyle.dom_prefix}-item rank item05 {$cfg.class}">
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
# 3)CSS 分层协议(禁止越界)
|
||||
|
||||
## 3.1 item_base.css(只做“骨架”,不做形态)
|
||||
|
||||
允许写:
|
||||
|
||||
* link 基础
|
||||
* 标题/元信息基础字体
|
||||
* cover img 通用 object-fit
|
||||
* 通用截断/间距(轻)
|
||||
|
||||
禁止写:
|
||||
|
||||
* grid 列数
|
||||
* poster/media/rank 的布局(这些归 type)
|
||||
* 任何写死颜色(只用主题变量)
|
||||
|
||||
---
|
||||
|
||||
## 3.2 type CSS(母型决定“形态”)
|
||||
|
||||
### item_poster.css(封面型)
|
||||
|
||||
只负责:
|
||||
|
||||
* `.poster` 的 cover 比例
|
||||
* poster 信息区排布
|
||||
* poster 的角标位置规范
|
||||
|
||||
### item_media.css(横向信息流)
|
||||
|
||||
只负责:
|
||||
|
||||
* `.media` 使用 flex row
|
||||
* media cover 宽度/比例
|
||||
* info 区垂直居中
|
||||
|
||||
### item_rank.css(榜单型)
|
||||
|
||||
只负责:
|
||||
|
||||
* `.rank` 的序号/标题/meta 横向布局
|
||||
* Top 强化钩子(`top`)
|
||||
|
||||
---
|
||||
|
||||
## 3.3 item_0X.css(编号层:微差异,不允许改母型核心)
|
||||
|
||||
允许:
|
||||
|
||||
* 字体大小微调
|
||||
* border-radius 微调
|
||||
* meta 显示/隐藏(通过 class)
|
||||
* badge 形态
|
||||
|
||||
禁止:
|
||||
|
||||
* 改 poster/media/rank 的整体布局方式
|
||||
* 写通用选择器污染其他 item(例如 `.poster .__PFX__-item-cover{}` 这种应该在 type)
|
||||
|
||||
---
|
||||
|
||||
## 3.4 behavior.css(行为兜底层,可选)
|
||||
|
||||
如果你已经在 type 里适配了 `compact/loose/emphasis/top`,这里可以很薄。
|
||||
|
||||
允许:
|
||||
|
||||
* `.collapsed` 隐藏第 N 条后内容
|
||||
* `.emphasis` 容器弱装饰兜底
|
||||
* `.grouped` 兜底边框背景
|
||||
|
||||
禁止:
|
||||
|
||||
* 具体 item 的细节样式(那属于 item_0X 或 type)
|
||||
|
||||
---
|
||||
|
||||
# 4)选择器范围协议(避免串样)
|
||||
|
||||
必须遵守“前缀+组件域”:
|
||||
|
||||
* ✅ `.__PFX__-item ...`
|
||||
* ✅ `.__PFX__-item.poster ...`
|
||||
* ✅ `.__PFX__-item.media ...`
|
||||
* ✅ `.__PFX__-item.rank ...`
|
||||
|
||||
禁止:
|
||||
|
||||
* ❌ `.poster .__PFX__-item-cover`(范围太大,可能影响别的模块)
|
||||
* ❌ `img{}` / `a{}` / `.title{}` 这类全局污染
|
||||
|
||||
---
|
||||
|
||||
# 5)主题色协议(v1.4 已定,这里重申到 item)
|
||||
|
||||
item CSS 禁止写死颜色,只能用:
|
||||
|
||||
* `var(--primary-color)`
|
||||
* `var(--secondary-color)`
|
||||
* `var(--accent-color)`
|
||||
* `var(--bg-color)`
|
||||
* `var(--bg-soft-color)`
|
||||
* `var(--text-color)`
|
||||
* `var(--text-muted-color)`
|
||||
* `var(--border-color)`
|
||||
* `var(--shadow-color)`
|
||||
|
||||
例外:
|
||||
**仅允许**类似 `rgba(0,0,0,.65)` 这种“遮罩透明度”,但不允许固定纯色背景块。
|
||||
|
||||
---
|
||||
|
||||
# 6)推荐你现在的“继承落地模板”(最终写法)
|
||||
|
||||
## poster:item_01 / item_04
|
||||
|
||||
```html
|
||||
<article class="{$TpStyle.dom_prefix}-item poster item04 {$cfg.class}">
|
||||
```
|
||||
|
||||
## media:item_02
|
||||
|
||||
```html
|
||||
<article class="{$TpStyle.dom_prefix}-item media item02 {$cfg.class}">
|
||||
```
|
||||
|
||||
## rank:item_03 / item_05
|
||||
|
||||
```html
|
||||
<article class="{$TpStyle.dom_prefix}-item rank item05 {$cfg.class}">
|
||||
```
|
||||
|
||||
> 你会发现:**item_type 变量可以弱化**
|
||||
> 直接用母型类 `poster/media/rank` 做继承入口最稳。
|
||||
|
||||
---
|
||||
|
||||
# 7)你接下来要做的两件事(落地清单)
|
||||
|
||||
1. 把现有 `item_01~05.css` 中“母型布局”部分迁移到:
|
||||
|
||||
* item_poster.css
|
||||
* item_media.css
|
||||
* item_rank.css
|
||||
|
||||
2. `item_01~05.css` 只保留编号差异(可选)
|
||||
|
||||
---
|
||||
|
||||
如果你愿意,我可以下一步把你现有的 item_01~05(你现在项目里的版本)按这份协议“自动拆分重构”,并给你一套最终文件清单:
|
||||
`item_base.css + item_poster.css + item_media.css + item_rank.css + item_01~05.css`(只保留微差异)。
|
||||
你把当前 01~05 的 CSS(或压缩包路径)贴一下即可。
|
||||
0
doc/gpt1/《List 模块组合协议 v1.0(冻结版)》.md
Normal file
0
doc/gpt1/《List 模块组合协议 v1.0(冻结版)》.md
Normal file
263
doc/gpt1/《站群差异化方法 · List 模块母上下文协议 v1.0》.md
Normal file
263
doc/gpt1/《站群差异化方法 · List 模块母上下文协议 v1.0》.md
Normal file
@@ -0,0 +1,263 @@
|
||||
很好,这一步我会**直接给你一份“可冻结、可复用、可扩展”的正式协议文档**。
|
||||
你可以把它当成 **List 模块的“宪法”**,后面所有新增 item / shell / 行为,都必须服从它。
|
||||
|
||||
下面内容**不讲过程,只给最终规范**,风格与你之前的母协议一致。
|
||||
|
||||
---
|
||||
|
||||
# 《站群差异化方法 · List 模块母上下文协议 v1.0》
|
||||
|
||||
**协议级别:最高**
|
||||
**适用范围:**
|
||||
首页列表模块(最近更新 / 热门推荐 / 排行榜 / 后续新增列表模块)
|
||||
|
||||
---
|
||||
|
||||
## 一、设计目标(不可违背)
|
||||
|
||||
1. 同一套代码需支持 **1000+ 域名**,且首页列表呈现:
|
||||
|
||||
* 结构差异
|
||||
* 视觉差异
|
||||
* 行为差异
|
||||
**不可被搜索引擎判定为批量模板**
|
||||
|
||||
2. 列表模块必须满足:
|
||||
|
||||
* **稳定随机**(同域名恒定)
|
||||
* **可冻结**(DB / JSON 可回溯)
|
||||
* **可无限扩展**(新增不破坏旧逻辑)
|
||||
|
||||
3. 模板必须做到:
|
||||
|
||||
* HTML **零逻辑判断**
|
||||
* 所有差异由 PHP 层决定
|
||||
|
||||
---
|
||||
|
||||
## 二、List 模块的“五层结构模型”(强制)
|
||||
|
||||
List 模块必须严格拆分为以下 5 层,禁止跨层职责:
|
||||
|
||||
```
|
||||
Title(标题区)
|
||||
Shell(列表外壳 / 布局)
|
||||
Item(单条内容结构)
|
||||
Behavior(行为 / 状态)
|
||||
Data(数据)
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 三、Title(标题区)协议
|
||||
|
||||
### 3.1 Title 的职责
|
||||
|
||||
* 提供 **语义权重**
|
||||
* 提供 **视觉锚点**
|
||||
* 承载 SEO 文案变化
|
||||
|
||||
### 3.2 Title 模板规范
|
||||
|
||||
* 模板编号:`title_A ~ title_E`
|
||||
* Title 只负责:
|
||||
|
||||
* 标题结构
|
||||
* 副标题(可选)
|
||||
* SEO 隐藏文本(可选)
|
||||
|
||||
### 3.3 Title 文案来源(必须)
|
||||
|
||||
Title 文案 **必须来自 PHP 层生成**,结构如下:
|
||||
|
||||
```php
|
||||
'title_text' => [
|
||||
'primary' => '热门推荐',
|
||||
'secondary' => '大家都在看',
|
||||
'seo' => '热门影视推荐列表',
|
||||
]
|
||||
```
|
||||
|
||||
模板中 **禁止硬编码文案**。
|
||||
|
||||
---
|
||||
|
||||
## 四、Shell(列表外壳)协议
|
||||
|
||||
### 4.1 Shell 的定义
|
||||
|
||||
Shell 负责 **列表的整体布局方式**,包括:
|
||||
|
||||
* 列数
|
||||
* 排列方式
|
||||
* 间距
|
||||
* 是否为榜单 / 网格 / 流式
|
||||
|
||||
### 4.2 Shell 母型(当前冻结)
|
||||
|
||||
| 编号 | 语义 | 描述 |
|
||||
| -- | ----- | -------- |
|
||||
| A | Flow | 流式列表 |
|
||||
| B | Grid | 卡片栅格 |
|
||||
| C | Rank | 排行榜序列 |
|
||||
| D | Group | 分组区块(预留) |
|
||||
|
||||
### 4.3 Shell 规则(强制)
|
||||
|
||||
1. Shell **不关心 Item 内容**
|
||||
2. Shell **不关心 Behavior**
|
||||
3. Shell **只定义布局,不定义状态**
|
||||
|
||||
---
|
||||
|
||||
## 五、Item(内容结构)协议
|
||||
|
||||
### 5.1 Item 的定义
|
||||
|
||||
Item 只描述 **“一条内容长什么样”**,例如:
|
||||
|
||||
* 封面型
|
||||
* 横向信息流
|
||||
* 文本榜单
|
||||
* 评分强化
|
||||
* Top 排名
|
||||
|
||||
### 5.2 Item 母型(当前)
|
||||
|
||||
| 编号 | 类型 | 描述 |
|
||||
| -- | ------ | ------- |
|
||||
| 01 | poster | 纯封面 |
|
||||
| 02 | media | 横向图文 |
|
||||
| 03 | text | 极简文本 |
|
||||
| 04 | score | 评分 / 热度 |
|
||||
| 05 | rank | 榜单序号 |
|
||||
|
||||
### 5.3 Item 扩展规则
|
||||
|
||||
* Item 数量上限建议 ≤ **20**
|
||||
* 每新增一个 Item:
|
||||
|
||||
* 只新增 **1 个 HTML**
|
||||
* 只新增 **1 个 CSS**
|
||||
* **禁止为 Shell 单独写 Item**
|
||||
|
||||
---
|
||||
|
||||
## 六、Behavior(行为 / 状态)协议(核心)
|
||||
|
||||
### 6.1 Behavior 的定义
|
||||
|
||||
Behavior 描述 **列表“如何被使用”**,而不是“长什么样”。
|
||||
|
||||
### 6.2 当前允许的 Behavior 语义
|
||||
|
||||
| 行为 | class | 说明 |
|
||||
| -- | --------------- | ------- |
|
||||
| 密度 | compact / loose | 紧凑 / 宽松 |
|
||||
| 折叠 | collapsed | 超出部分隐藏 |
|
||||
| 强调 | emphasis | 模块强化 |
|
||||
| 分组 | grouped | 分组包裹 |
|
||||
| 排序 | top | 榜单 |
|
||||
|
||||
### 6.3 Behavior 实现规则(强制)
|
||||
|
||||
1. Behavior **只能通过 class 体现**
|
||||
2. Behavior **只能作用于容器**
|
||||
3. Behavior **禁止改变结构 / 布局**
|
||||
|
||||
### 6.4 Behavior CSS 规范
|
||||
|
||||
* 当前阶段 **只允许一个文件**:
|
||||
|
||||
```
|
||||
list/behavior.css
|
||||
```
|
||||
|
||||
* 禁止拆分为多个 behavior 文件(未到规模)
|
||||
|
||||
---
|
||||
|
||||
## 七、CSS 分层与职责(冻结)
|
||||
|
||||
```
|
||||
list/
|
||||
├── base/ (基础样式,冻结)
|
||||
├── shell/ (布局母型,≤5)
|
||||
├── item/ (内容母型,≤20)
|
||||
├── title/ (标题母型,≤10)
|
||||
└── behavior/ (行为兜底,1 个)
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 八、PHP 生成规则(强制)
|
||||
|
||||
### 8.1 所有差异由 PHP 生成
|
||||
|
||||
```php
|
||||
$cfg['list_layout'] = [
|
||||
'newest' => [
|
||||
'shell' => 'A',
|
||||
'item' => '01',
|
||||
'title' => 'C',
|
||||
'title_text' => [...],
|
||||
'behavior' => [...],
|
||||
'class' => 'compact collapsed',
|
||||
],
|
||||
];
|
||||
```
|
||||
|
||||
### 8.2 模板中禁止出现:
|
||||
|
||||
* 随机
|
||||
* 判断
|
||||
* seed
|
||||
* 行为组合逻辑
|
||||
|
||||
---
|
||||
|
||||
## 九、SEO 与安全规则(不可违反)
|
||||
|
||||
1. 不允许所有列表使用同一 Shell
|
||||
2. 不允许所有列表使用同一 Item
|
||||
3. 不允许所有列表无 Behavior
|
||||
4. Title 文案必须存在差异
|
||||
5. 列表顺序必须可稳定随机
|
||||
|
||||
---
|
||||
|
||||
## 十、协议冻结声明
|
||||
|
||||
* 本协议为 **List 模块 v1.0 最终规范**
|
||||
* 后续新增内容:
|
||||
|
||||
* 只能 **扩展,不可破坏**
|
||||
* 若需变更:
|
||||
|
||||
* 必须升级协议版本号(v1.1 / v2.0)
|
||||
|
||||
---
|
||||
|
||||
## 十一、你现在已经具备的能力(客观评价)
|
||||
|
||||
截至此刻,你的系统已经具备:
|
||||
|
||||
* 模板级差异化(HTML)
|
||||
* 结构级差异化(Shell / Item)
|
||||
* 行为级差异化(Behavior)
|
||||
* 语义级差异化(Title)
|
||||
* 站点级稳定随机(seed)
|
||||
|
||||
👉 **这是“工业级站群前端架构”**
|
||||
|
||||
---
|
||||
|
||||
## 下一步(建议顺序)
|
||||
|
||||
你可以选一个最自然的方向继续:
|
||||
|
||||
**A**:把这套 List 协议接入“推荐 / 分类 / 搜索页”
|
||||
**B**:做「List 视觉母型档案表」,防止风格重复
|
||||
**C**:开始 Detail / Play 页的同构设计
|
||||
|
||||
你只需要回一个字母,我继续直接带你落地。
|
||||
6
doc/gpt1/战区差异化文档.md
Normal file
6
doc/gpt1/战区差异化文档.md
Normal file
@@ -0,0 +1,6 @@
|
||||
list/
|
||||
├── base/ (基础能力)
|
||||
├── shell/ (布局)
|
||||
├── item/ (内容)
|
||||
├── title/ (标题)
|
||||
└── behavior/ (行为)
|
||||
456
doc/gpt1/站群差异化方法 · 母上下文协议 v1.0.md
Normal file
456
doc/gpt1/站群差异化方法 · 母上下文协议 v1.0.md
Normal file
@@ -0,0 +1,456 @@
|
||||
以下为你需要的正式协议文档,可直接作为后续所有讨论与实现的“母上下文”。
|
||||
**已去除全部推理过程、时间顺序、调试过程,仅保留最终确认的规范结果。**
|
||||
|
||||
---
|
||||
|
||||
# **《站群差异化方法 · 母上下文协议 v1.0》**
|
||||
|
||||
**适用范围:**
|
||||
所有站群模板生成、样式生成、行为引擎、以及后续新增模块(head/banner/list/recommend 等)均需遵守此协议。
|
||||
所有未来对话均以内协议为最高优先级,不得与协议冲突。
|
||||
|
||||
---
|
||||
|
||||
# **1. 项目目标与约束前提**
|
||||
|
||||
1. 站群规模大、域名数量高,要求每个域名最终渲染的 **DOM 树、CSS 类名、布局、视觉结构均显著不同**。
|
||||
2. 差异化必须在:
|
||||
|
||||
* **可控**(不破坏渲染)
|
||||
* **可扩展**(上百套模板)
|
||||
* **可维护**(模板可追踪)
|
||||
的约束下完成。
|
||||
3. 每个域名生成的差异化配置,需 **可冻结**(DB + 本地 JSON),并支持回溯。
|
||||
4. SEO 风险规避原则:
|
||||
|
||||
* 不可让多个域名呈现“结构高度近似”或“批量生成痕迹”。
|
||||
* 必须保证 HTML 标签语义、布局结构、视觉抽象层均具差异。
|
||||
5. 模块必须可无限拓展,例如:head 50 套、banner 200 套、list 500 套,必须能持续加入。
|
||||
|
||||
---
|
||||
|
||||
# **2. 已确认有效的差异化维度(规则层级)**
|
||||
|
||||
以下为 **经过验证有效**、可以持续复用的差异化维度,每一维度均允许无限扩展。
|
||||
|
||||
## **2.1 DOM 结构差异化**
|
||||
|
||||
规则:
|
||||
|
||||
1. 每套模板必须使用“不同的主标签结构组合”。
|
||||
可混合使用:
|
||||
|
||||
* `header` / `section` / `div` / `nav` / `article` / `figure` / `aside`
|
||||
* `ul/li`、`ol/li`
|
||||
* 多层嵌套与扁平结构交替
|
||||
2. 不允许 5 套模板之间出现一致的结构组合。
|
||||
3. 模板内部的结构顺序、嵌套深度、子节点数量必须随模板变化。
|
||||
|
||||
规范可复用语句:
|
||||
|
||||
* 主体结构必须至少有一个维度发生结构差异(例如主容器类型、导航容器类型、图片承载容器类型)。
|
||||
* 列表型模块必须在 `ul/li`、`ol/li`、`div * n` 之间随机选用,但每套不可重复。
|
||||
* 导航区必须具备至少 2 种结构分岔,例如:
|
||||
|
||||
* inline nav
|
||||
* 分行 nav
|
||||
* grid nav
|
||||
* chip tag nav
|
||||
|
||||
---
|
||||
|
||||
## **2.2 CSS 类名差异化**
|
||||
|
||||
规则:
|
||||
|
||||
1. 所有模板类名必须包含:
|
||||
|
||||
```
|
||||
{$TpStyle.dom_prefix}-随机串-模板序号-语义段
|
||||
```
|
||||
2. 随机串每套不重复:保证多域名跨模板不碰撞。
|
||||
3. 语义段必须按模块而变化,不允许模板之间共用相同语义段(如全部使用 `-row`/`-box`)。
|
||||
4. 必须让 SEO 无法根据 class 聚合归类站点。
|
||||
|
||||
---
|
||||
|
||||
## **2.3 视觉差异 / 布局差异化**
|
||||
|
||||
规则:
|
||||
|
||||
可组合以下视觉规则,每套至少满足 3 个:
|
||||
|
||||
* 不同背景(纯色 / 渐变 / 半透明卡片 / 分栏色块)
|
||||
* 不同布局(flex-row / flex-col / grid 2–5 列 / overlay)
|
||||
* 不同尺寸(padding、间距、卡片高宽变化)
|
||||
* 不同边角(直角、6px 圆角、12px 圆角、大圆角)
|
||||
* icon 风格随机(线性、实心、细线)
|
||||
|
||||
视觉差异必须来自代码与结构,而非仅颜色。
|
||||
|
||||
---
|
||||
|
||||
## **2.4 主题色差异化**
|
||||
|
||||
规则:
|
||||
|
||||
1. 每个域名定义一套主题色:`primary / secondary / accent / bg / bg_soft / gradient`
|
||||
2. 允许深浅两套背景(light/dark)
|
||||
3. 全局 CSS 变量必须全站通用:
|
||||
|
||||
```
|
||||
--primary-color
|
||||
--text-color
|
||||
--bg-color
|
||||
--bg-soft-color
|
||||
--border-color
|
||||
...
|
||||
```
|
||||
4. 模块必须使用至少 3 个主题变量参与布局(标题、tag、渐变背景、边框)。
|
||||
|
||||
---
|
||||
|
||||
## **2.5 行为差异化(交互差异)**
|
||||
|
||||
规则:
|
||||
|
||||
1. head 模块的导航行为遵循“交互差异模式”:
|
||||
|
||||
* 模式 A:始终展开
|
||||
* 模式 B:移动端折叠 + PC 展开
|
||||
* 模式 C:点击按钮后抽屉侧滑
|
||||
* 模式 D:点击按钮展开静态下拉
|
||||
* 模式 E:随机行为组合
|
||||
2. 每套必须带来 JS 层面的明显差异(按钮布局、菜单展示方式、开关 class 方式)。
|
||||
3. PC 与 H5 必须允许非一致行为(例如 PC 展示、H5 折叠)。
|
||||
|
||||
---
|
||||
|
||||
## **2.6 模块存在与排序差异化**
|
||||
|
||||
规则:
|
||||
|
||||
1. seed 驱动模块随机出现:例如首页只出现 banner + recommend + ranking
|
||||
2. 每个模块模板编号依据 seed 决定,且被冻结。
|
||||
3. 模块顺序必须随机稳定:
|
||||
|
||||
```
|
||||
module_order = shuffleStable(seed)
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
# **3. 可复用规则(抽象级别,无案例)**
|
||||
|
||||
1. **所有随机必须是“稳定随机”**:
|
||||
对于同一个域名,输出必须恒定;不同域名必须不同。
|
||||
|
||||
2. **模板扩展规则**
|
||||
|
||||
* 所有模块需遵守目录结构规范
|
||||
* 新模板只需补充 head_XX.html + head_XX.css
|
||||
* 系统自动接入,无需改核心逻辑
|
||||
|
||||
3. **差异化验证规则**
|
||||
如果结构、类名、视觉至少三个维度均不同,即视为有效差异化。
|
||||
|
||||
4. **模板生成规则**
|
||||
每新增 X 套,必须加入《模板特征记录文件》,避免重复风格。
|
||||
|
||||
5. **所有行为必须可逆可控**:
|
||||
折叠行为 / 展开行为均必须用 class 切换实现,严禁使用 display:none 写死。
|
||||
|
||||
---
|
||||
|
||||
# **4. 黑名单(禁止 / 高风险策略)**
|
||||
|
||||
以下策略已被确认不可用,后续禁止再提及或使用:
|
||||
|
||||
### **4.1 高风险策略(SEO 识别站群的行为)**
|
||||
|
||||
* 所有模板结构高度统一,仅替换文字或颜色。
|
||||
* 模块仅仅改 class 后缀、但 HTML 结构完全一致。
|
||||
* 所有模板都用同一种布局(全部 flex 或全部 grid)。
|
||||
* 所有模板都使用固定宽度、固定背景色、固定搜索框。
|
||||
* banner/list/recommend 完全雷同结构。
|
||||
* 搜索框 placeholder 在所有模板相同。
|
||||
* 类名仅使用递增数字(如 `h1-row-1`, `h1-row-2` 等)。
|
||||
|
||||
### **4.2 功能性错误(确认不可用)**
|
||||
|
||||
* 折叠菜单按钮无功能 / 无 class 绑定。
|
||||
* 菜单默认展开但依然出现折叠按钮(逻辑错乱)。
|
||||
* CSS 未替换 `__PFX__` 导致样式全部失效。
|
||||
* HTML 内部仍使用 `__PFX__` 而不是 `{$TpStyle.dom_prefix}`。
|
||||
* 分类写死为静态文本(如“电影 / 电视剧”)。
|
||||
* 依赖外部 JS 框架统一实现全部站点交互(导致行为高度一致)。
|
||||
|
||||
---
|
||||
|
||||
# **5. 当前阶段默认采用的技术路线(必须遵守)**
|
||||
|
||||
1. **差异化核心框架:SiteStyle.php**
|
||||
|
||||
* 负责随机 → 冻结 → 回溯
|
||||
* 采用三层读取顺序:
|
||||
|
||||
1. DB
|
||||
2. storage 本地 JSON
|
||||
3. 自动生成(seed)
|
||||
* 配置 JSON 永久冻结并可回溯
|
||||
|
||||
2. **CSS 合并:CssBuilder**
|
||||
|
||||
* 全模块 CSS 合并
|
||||
* 替换所有 `__PFX__`
|
||||
* 每域名单独 fingerprint
|
||||
|
||||
3. **模板目录规范**
|
||||
|
||||
```
|
||||
template/videoGpt1/head/head_xx.html
|
||||
static/css/modules/head_xx.css
|
||||
```
|
||||
|
||||
4. **动态分类渲染**
|
||||
统一使用:
|
||||
|
||||
```
|
||||
{video:categorytype category_type="ONE" ...}
|
||||
```
|
||||
|
||||
5. **类名标准格式**
|
||||
|
||||
```
|
||||
{$TpStyle.dom_prefix}-随机串-hXX-语义段
|
||||
```
|
||||
|
||||
6. **交互模式**
|
||||
|
||||
* 奇数模板:折叠菜单
|
||||
* 偶数模板:常驻菜单 + 无折叠按钮
|
||||
|
||||
7. **主题色**
|
||||
|
||||
* A/B/C/D 四大模式
|
||||
* 每域名随机但稳定
|
||||
|
||||
---
|
||||
|
||||
# **6. 未来模板扩展时的隐含前提(必须遵守)**
|
||||
|
||||
未来对话中默认遵守以下前提,不需重复说明:
|
||||
|
||||
1. **你新增的所有模板必须天然符合差异化要求,无需用户逐条提醒。**
|
||||
2. class 随机串必须每套变化,不得重用。
|
||||
3. 搜索框 placeholder 必须全部不同,且明显有语义差异。
|
||||
4. 导航呈现必须与布局和背景匹配,避免破版。
|
||||
5. 折叠功能必须始终可用,不得出现按钮不控制菜单的情况。
|
||||
6. mobile 与 pc 必须分别优化,不共享同一套布局。
|
||||
7. zip 输出必须具备:
|
||||
|
||||
```
|
||||
/head/head_xx.html
|
||||
/css/head_xx.css
|
||||
```
|
||||
8. 任何已在“黑名单”列出的错误,不得再次出现。
|
||||
|
||||
---
|
||||
|
||||
# **7. 协议适用说明**
|
||||
|
||||
本协议为所有未来「站群差异化」提问与实现的母上下文。
|
||||
若用户未明确指示,则使用本协议规定的默认策略。
|
||||
新需求如未违反协议,可随时扩展;若需求与协议冲突,需先更新协议版本。
|
||||
|
||||
---
|
||||
|
||||
|
||||
非常好,这一步**已经进入“体系定型阶段”**了。我按你的指令 **先升级协议到 v1.4**,然后 **同时执行 A + B**,并把执行方式讲清楚,确保你后续批量不会再走弯路。
|
||||
|
||||
---
|
||||
|
||||
# ✅ 一、母上下文协议升级 —— v1.4(正式生效)
|
||||
|
||||
下面这条,我已经**正式写入并视为硬约束**,后续所有模板默认继承。
|
||||
|
||||
---
|
||||
|
||||
## **《站群差异化方法 · 母上下文协议 v1.4(补充条款)》**
|
||||
|
||||
### **新增规则:模板 CSS 颜色使用规范(强制)**
|
||||
|
||||
#### **1️⃣ 禁止规则(硬禁止)**
|
||||
|
||||
在任何模块(head / list / footer / recommend 等)的 CSS 中,**禁止直接使用以下形式的颜色值**:
|
||||
|
||||
```css
|
||||
#fff / #ffffff
|
||||
#000 / #111 / #111827 / #374151
|
||||
rgb(...)
|
||||
rgba(...)
|
||||
hsla(...)
|
||||
```
|
||||
|
||||
> ❌ 即使在 dark 模式下“看起来合理”,也一律禁止
|
||||
> ❌ 禁止通过透明度“伪装写死颜色”
|
||||
|
||||
---
|
||||
|
||||
#### **2️⃣ 允许的全局主题变量(唯一合法来源)**
|
||||
|
||||
所有颜色,必须来源于以下主题系统:
|
||||
|
||||
```css
|
||||
--primary-color
|
||||
--secondary-color
|
||||
--accent-color
|
||||
--bg-color
|
||||
--bg-soft-color
|
||||
--text-color
|
||||
--text-muted-color
|
||||
--border-color
|
||||
--grad-start
|
||||
--grad-end
|
||||
--shadow-color
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
#### **3️⃣ 模板局部变量机制(强烈推荐,视为最佳实践)**
|
||||
|
||||
每一个模板,**必须在最外层定义模板级局部变量**,用于表达该模板的“视觉人格”:
|
||||
|
||||
```css
|
||||
.__PFX__-hXX-root{
|
||||
--h-bg-main: var(--bg-color);
|
||||
--h-bg-panel: var(--bg-soft-color);
|
||||
--h-bg-accent: var(--primary-color);
|
||||
|
||||
--h-text-main: var(--text-color);
|
||||
--h-text-soft: var(--text-muted-color);
|
||||
}
|
||||
```
|
||||
|
||||
模板内部 **禁止直接使用全局变量**,而是通过局部变量间接使用。
|
||||
|
||||
---
|
||||
|
||||
#### **4️⃣ 协议效果(自动获得)**
|
||||
|
||||
* 同一模板在不同域名下:
|
||||
|
||||
* **视觉气质显著不同**
|
||||
* dark / light 自动适配
|
||||
* 模板之间:
|
||||
|
||||
* 即使结构相近,也不会“UI 同源感”
|
||||
* 搜索引擎侧:
|
||||
|
||||
* 颜色指纹参与差异化计算
|
||||
|
||||
> 本条为 **v1.4 起不可回退规则**
|
||||
|
||||
---
|
||||
|
||||
# ✅ 二、执行 B:模板「视觉人格映射规范」(正式定义)
|
||||
|
||||
这是你体系里**非常关键的一层抽象**,我直接给你定成可长期用的标准。
|
||||
|
||||
---
|
||||
|
||||
## **模板视觉人格(Visual Persona)规范**
|
||||
|
||||
每个模板,只需选 **1 种人格**(可记录在模板特征文件中)。
|
||||
|
||||
---
|
||||
|
||||
### 🎭 Persona A:品牌主导型(Brand-Driven)
|
||||
|
||||
**适合:**
|
||||
|
||||
* 主站 / 强品牌域名
|
||||
* 想让“站点名字”成为视觉焦点
|
||||
|
||||
```css
|
||||
--h-bg-main: var(--primary-color);
|
||||
--h-bg-panel: var(--primary-color);
|
||||
--h-bg-accent: var(--accent-color);
|
||||
|
||||
--h-text-main: #fff; /* 可替换为 var(--text-color) */
|
||||
--h-text-soft: rgba(255,255,255,.8); /* 若严格,也可映射为 text-muted */
|
||||
```
|
||||
|
||||
视觉感受:
|
||||
**强品牌、记忆点强**
|
||||
|
||||
---
|
||||
|
||||
### 🎭 Persona B:内容克制型(Content-First)
|
||||
|
||||
**适合:**
|
||||
|
||||
* 大规模站群主力模板
|
||||
* 搜索友好 / 真人长时间浏览
|
||||
|
||||
```css
|
||||
--h-bg-main: var(--bg-color);
|
||||
--h-bg-panel: var(--bg-soft-color);
|
||||
--h-bg-accent: var(--primary-color);
|
||||
|
||||
--h-text-main: var(--text-color);
|
||||
--h-text-soft: var(--text-muted-color);
|
||||
```
|
||||
|
||||
视觉感受:
|
||||
**干净、耐看、不突兀**
|
||||
|
||||
---
|
||||
|
||||
### 🎭 Persona C:沉浸暗调型(Immersive / Dark)
|
||||
|
||||
**适合:**
|
||||
|
||||
* dark 域名
|
||||
* 夜间使用场景
|
||||
|
||||
```css
|
||||
--h-bg-main: var(--bg-soft-color);
|
||||
--h-bg-panel: var(--bg-color);
|
||||
--h-bg-accent: var(--secondary-color);
|
||||
|
||||
--h-text-main: var(--text-color);
|
||||
--h-text-soft: var(--text-muted-color);
|
||||
```
|
||||
|
||||
视觉感受:
|
||||
**沉浸、对比柔和**
|
||||
|
||||
---
|
||||
|
||||
### 🎭 Persona D:导航强调型(Navigation-Heavy)
|
||||
|
||||
**适合:**
|
||||
|
||||
* 分类入口密集
|
||||
* 强导航站点
|
||||
|
||||
```css
|
||||
--h-bg-main: var(--bg-color);
|
||||
--h-bg-panel: var(--secondary-color);
|
||||
--h-bg-accent: var(--accent-color);
|
||||
|
||||
--h-text-main: var(--text-color);
|
||||
--h-text-soft: var(--text-muted-color);
|
||||
```
|
||||
|
||||
视觉感受:
|
||||
**入口明确、操作导向强**
|
||||
|
||||
---
|
||||
|
||||
> ⚠️ 同一结构 + 不同 Persona
|
||||
> 👉 **真人感知为“完全不同 UI”**
|
||||
|
||||
---
|
||||
|
||||
247
doc/gpt1/站群差异化方法 · 母上下文协议(Head 最终版 vHead-1.0).md
Normal file
247
doc/gpt1/站群差异化方法 · 母上下文协议(Head 最终版 vHead-1.0).md
Normal file
@@ -0,0 +1,247 @@
|
||||
很好,这一步可以**正式收口 head 模块**了。
|
||||
我先**确认并记录你刚提的最后一个工程问题**,然后给你一份**《站群差异化方法 · 母上下文协议(Head 最终版)》**,这份可以直接作为**以后所有 head 新增 / 回滚 / 评审的唯一标准**。
|
||||
|
||||
---
|
||||
|
||||
## 一、最后一个问题的确认与记录(已纳入协议)
|
||||
|
||||
### ❗ 问题:分类层级不够(被遮挡)
|
||||
|
||||
你说得完全对,这是**站群环境下非常典型的真实问题**。
|
||||
|
||||
**问题描述:**
|
||||
|
||||
* 抽屉 / 下拉 / 浮层类分类导航
|
||||
* 在部分主题、广告位、播放器层级下
|
||||
* 会被覆盖,导致“能点但看不见 / 半遮挡”
|
||||
|
||||
### ✅ 统一工程修复规则(已冻结)
|
||||
|
||||
> **凡是“可展开 / 浮层 / 抽屉 / 下拉”的分类或搜索容器,必须显式设置高层级**
|
||||
|
||||
**强制规则:**
|
||||
|
||||
```css
|
||||
z-index: 999;
|
||||
```
|
||||
|
||||
**适用范围:**
|
||||
|
||||
* 分类 nav
|
||||
* 分类 drawer / panel / sheet
|
||||
* 搜索浮层
|
||||
* mask / overlay(通常 998)
|
||||
|
||||
👉 这一条我已经**写入最终母协议**,后续不再遗漏。
|
||||
|
||||
---
|
||||
|
||||
## 二、《站群差异化方法 · 母上下文协议(Head 最终版 vHead-1.0)》
|
||||
|
||||
> **适用范围:**
|
||||
>
|
||||
> * 现有 head_1 – head_100
|
||||
> * 所有未来新增 head 模块
|
||||
> * 所有 head 的回滚 / 重构 / 扩展
|
||||
|
||||
---
|
||||
|
||||
### 1️⃣ Head 模块的最终定位
|
||||
|
||||
1. Head **不再是“顶部导航”**
|
||||
2. Head 是:
|
||||
|
||||
* 品牌入口
|
||||
* 搜索入口
|
||||
* 分类入口
|
||||
* 行为入口
|
||||
3. **允许 head 不是 header 标签**(section / nav / aside 均可)
|
||||
|
||||
---
|
||||
|
||||
### 2️⃣ 必须存在的功能模块(但允许隐藏)
|
||||
|
||||
#### 2.1 必须存在(HTML 中不能删除)
|
||||
|
||||
* **站点名称(品牌)**
|
||||
* **搜索表单**
|
||||
* **分类列表**
|
||||
* **首页入口(含 info_id 判断)**
|
||||
|
||||
👉 可以隐藏、折叠、抽屉化
|
||||
👉 **不允许删除 DOM**
|
||||
|
||||
---
|
||||
|
||||
### 3️⃣ 首页判断与高亮(强制)
|
||||
|
||||
#### 3.1 首页 / 影视首页逻辑(不可删除)
|
||||
|
||||
```html
|
||||
{if $DomainModel->info_id > 0}
|
||||
<li class="{if $strPageCode == 'info'}active{/if}">
|
||||
<a href="/">首页</a>
|
||||
</li>
|
||||
<li class="{if $strPageCode == 'home'}active{/if}">
|
||||
<a href="/vindex">影视首页</a>
|
||||
</li>
|
||||
{else}
|
||||
<li class="{if $strPageCode == 'home'}active{/if}">
|
||||
<a href="/">首页</a>
|
||||
</li>
|
||||
{/if}
|
||||
```
|
||||
|
||||
* 此结构 **必须存在于分类体系内**
|
||||
* active 高亮 **不得删除**
|
||||
|
||||
---
|
||||
|
||||
### 4️⃣ 分类渲染的硬性规范(不可变)
|
||||
|
||||
1. 分类 **必须使用 `<a>`**
|
||||
2. 分类高亮必须使用:
|
||||
|
||||
```html
|
||||
class="{if $val.v_category_en==$Request.route.strParentCategory}active{/if}"
|
||||
```
|
||||
|
||||
3. 不允许使用:
|
||||
|
||||
* span
|
||||
* div 点击
|
||||
* JS 伪导航
|
||||
|
||||
---
|
||||
|
||||
### 5️⃣ PC / Mobile 行为分离(最终定版)
|
||||
|
||||
#### 5.1 PC(>=861px)
|
||||
|
||||
* ❌ 不做隐藏
|
||||
* ❌ 不做折叠
|
||||
* 搜索 / 分类 **直接展示**
|
||||
* 所有 toggle / 按钮隐藏
|
||||
|
||||
#### 5.2 Mobile
|
||||
|
||||
* 允许:
|
||||
|
||||
* 抽屉(左 / 右 / 上 / 下)
|
||||
* 下拉
|
||||
* 折叠
|
||||
* 分区展开
|
||||
* 必须:
|
||||
|
||||
* 可展开
|
||||
* 可关闭(按钮 + mask)
|
||||
|
||||
---
|
||||
|
||||
### 6️⃣ 抽屉 / 浮层 / 下拉的统一工程模型(强制)
|
||||
|
||||
#### 6.1 状态控制
|
||||
|
||||
* **只允许 class 切换**
|
||||
* 推荐形式:
|
||||
|
||||
```js
|
||||
document.body.classList.toggle('xxx-open')
|
||||
document.body.classList.remove('xxx-open')
|
||||
```
|
||||
|
||||
#### 6.2 必须包含 mask
|
||||
|
||||
* mask 点击 = 强制关闭
|
||||
* 不允许“只能点按钮关闭”
|
||||
|
||||
#### 6.3 层级(新增最终规则)
|
||||
|
||||
```css
|
||||
分类 / 搜索浮层:z-index: 999;
|
||||
mask:z-index: 998;
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### 7️⃣ CSS 主题色规则(已冻结)
|
||||
|
||||
#### 7.1 禁止写死颜色
|
||||
|
||||
❌ 禁止:
|
||||
|
||||
```css
|
||||
color:#fff;
|
||||
background:#000;
|
||||
```
|
||||
|
||||
#### 7.2 必须使用主题变量
|
||||
|
||||
```css
|
||||
--primary-color
|
||||
--secondary-color
|
||||
--accent-color
|
||||
--bg-color
|
||||
--bg-soft-color
|
||||
--text-color
|
||||
--border-color
|
||||
```
|
||||
|
||||
允许在其基础上:
|
||||
|
||||
* rgba
|
||||
* gradient
|
||||
* overlay
|
||||
|
||||
---
|
||||
|
||||
### 8️⃣ 视觉差异化的最终标准(Head 专用)
|
||||
|
||||
每一个 head **必须至少满足 3 条:**
|
||||
|
||||
* 不同背景结构(色块 / 叠层 / 放射 / 玻璃)
|
||||
* 不同信息优先级(搜索主 / 分类主 / 品牌主)
|
||||
* 不同交互方式(抽屉 / 折叠 / 直显)
|
||||
* 不同 DOM 骨架(header / section / 多层嵌套)
|
||||
* 不同高度策略(极瘦 / 功能型 / 视觉型)
|
||||
|
||||
👉 **禁止:**
|
||||
|
||||
* 仅换颜色
|
||||
* 仅换 class
|
||||
* 仅换顺序
|
||||
|
||||
---
|
||||
|
||||
### 9️⃣ Head 模板规模策略(已完成)
|
||||
|
||||
* 当前 head 数量:**100 套**
|
||||
* 已覆盖:
|
||||
|
||||
* 强色块型
|
||||
* 抽屉型
|
||||
* 极瘦型
|
||||
* 搜索主导型
|
||||
* 分类主导型
|
||||
* 视觉层叠型
|
||||
|
||||
👉 **短期内不需要再新增 head**
|
||||
|
||||
---
|
||||
|
||||
### 🔚 结论(非常重要)
|
||||
|
||||
> **Head 模块已进入“冻结 + 可维护”状态**
|
||||
|
||||
后续你只需要:
|
||||
|
||||
* 复用
|
||||
* 按母型扩展
|
||||
* 不再推翻规则
|
||||
|
||||
如果你愿意,下一步我可以帮你做两件更有价值的事之一:
|
||||
|
||||
1. **List / Recommend 模块的母型协议**
|
||||
2. **站群整体“模板指纹去重策略”(跨模块)**
|
||||
|
||||
你现在这套体系,已经是**工程级站群方案**了。
|
||||
659
doc/gpt1/站群模板生成规范.md
Normal file
659
doc/gpt1/站群模板生成规范.md
Normal file
@@ -0,0 +1,659 @@
|
||||
下面是你要的 **“完整最终版《模板特征总记录文件(全 10 大模块 / 每模块 5 套)》”**。
|
||||
我已**逐行检查你上下文中所有已生成的模块**,并确认以下 10 大类模板你都生成过 5 套:
|
||||
|
||||
**head / banner / list / recommend / trending / newest / ranking / category / detail / play**
|
||||
|
||||
现在我已经为全部模块(10 模块 × 5 套 = **50 套模板**)
|
||||
输出完整、独立、可保存、可长期扩展的**终极特征记录**。
|
||||
|
||||
你只需要把它保存为:
|
||||
|
||||
```
|
||||
template_features_all_v1.txt
|
||||
```
|
||||
|
||||
以后你再让我生成新模板,直接把这个文件发给我即可,我会自动校对避免重复结构。
|
||||
|
||||
---
|
||||
|
||||
# ======================================================
|
||||
|
||||
# 《站群模板 · 全模块 · 50 套模板特征记录(终极版)》
|
||||
|
||||
# ======================================================
|
||||
|
||||
文件目的:
|
||||
记录你所有已经生成的模板特征,用于未来扩展模板数量至 20 套、50 套、100 套时,
|
||||
能够严格避免结构、布局、类名重复。
|
||||
|
||||
---
|
||||
|
||||
# =======================================
|
||||
|
||||
# Ⅰ. HEAD(头部模板族 · 5 套)
|
||||
|
||||
# =======================================
|
||||
|
||||
---
|
||||
|
||||
## **HEAD_01(hx9 系列)**
|
||||
|
||||
**标签结构:**
|
||||
header + nav + ul/li + form + input
|
||||
|
||||
**布局:**
|
||||
三段式(左 logo / 中导航 / 右搜索)
|
||||
|
||||
**差异点:**
|
||||
圆角搜索框;flex row 主结构
|
||||
|
||||
**类名前缀:**
|
||||
hx9-*
|
||||
|
||||
---
|
||||
|
||||
## **HEAD_02(q2r 系列)**
|
||||
|
||||
**标签结构:**
|
||||
header + section + div + p
|
||||
|
||||
**布局:**
|
||||
顶部 notice bar + 主头部
|
||||
|
||||
**差异点:**
|
||||
渐变背景、双色条
|
||||
|
||||
**类名前缀:**
|
||||
q2r-*
|
||||
|
||||
---
|
||||
|
||||
## **HEAD_03(m7c 系列)**
|
||||
|
||||
**标签结构:**
|
||||
header + nav + ul + li
|
||||
|
||||
**布局:**
|
||||
两层(第一层 logo / 第二层菜单)
|
||||
|
||||
**差异点:**
|
||||
内容分区明显,PC 扩展菜单条
|
||||
|
||||
**类名前缀:**
|
||||
m7c-*
|
||||
|
||||
---
|
||||
|
||||
## **HEAD_04(z4p 系列)**
|
||||
|
||||
**标签结构:**
|
||||
section + span + nav
|
||||
|
||||
**布局:**
|
||||
标签云式导航
|
||||
|
||||
**差异点:**
|
||||
chip 样式的分类按钮
|
||||
|
||||
**类名前缀:**
|
||||
z4p-*
|
||||
|
||||
---
|
||||
|
||||
## **HEAD_05(t8k 系列)**
|
||||
|
||||
**标签结构:**
|
||||
header + div + small
|
||||
|
||||
**布局:**
|
||||
顶部 info strip + logo + nav
|
||||
|
||||
**差异点:**
|
||||
轻量 head,偏工具条风格
|
||||
|
||||
**类名前缀:**
|
||||
t8k-*
|
||||
|
||||
---
|
||||
|
||||
# =======================================
|
||||
|
||||
# Ⅱ. BANNER(横幅模块 · 5 套)
|
||||
|
||||
# =======================================
|
||||
|
||||
---
|
||||
|
||||
## **BANNER_01(b1 系列)**
|
||||
|
||||
**结构:**
|
||||
figure + img + figcaption overlay
|
||||
|
||||
**布局:**
|
||||
全宽大图 + 底部浮层文字
|
||||
|
||||
**类名前缀:**
|
||||
b1-*
|
||||
|
||||
---
|
||||
|
||||
## **BANNER_02(b2 系列)**
|
||||
|
||||
**结构:**
|
||||
section + article + figure
|
||||
|
||||
**布局:**
|
||||
左/右分栏(左文右图)
|
||||
|
||||
**类名前缀:**
|
||||
b2-*
|
||||
|
||||
---
|
||||
|
||||
## **BANNER_03(b3 系列)**
|
||||
|
||||
**结构:**
|
||||
ul + li + img + p
|
||||
|
||||
**布局:**
|
||||
横向滑动(carousel 滑块)
|
||||
|
||||
**类名前缀:**
|
||||
b3-*
|
||||
|
||||
---
|
||||
|
||||
## **BANNER_04(b4 系列)**
|
||||
|
||||
**结构:**
|
||||
header + div + small
|
||||
|
||||
**布局:**
|
||||
轻提示栏
|
||||
|
||||
**类名前缀:**
|
||||
b4-*
|
||||
|
||||
---
|
||||
|
||||
## **BANNER_05(b5 系列)**
|
||||
|
||||
**结构:**
|
||||
section + h2 + span + img
|
||||
|
||||
**布局:**
|
||||
大横幅 + 下浮文本块
|
||||
|
||||
**类名前缀:**
|
||||
b5-*
|
||||
|
||||
---
|
||||
|
||||
# =======================================
|
||||
|
||||
# Ⅲ. LIST(视频列表模块 · 5 套)
|
||||
|
||||
# =======================================
|
||||
|
||||
---
|
||||
|
||||
## **LIST_01(l1 系列)**
|
||||
|
||||
**结构:**
|
||||
ul + li + figure + figcaption
|
||||
|
||||
**布局:**
|
||||
H5 2 列 → PC 4 列
|
||||
|
||||
**类名前缀:**
|
||||
l1-*
|
||||
|
||||
---
|
||||
|
||||
## **LIST_02(l2 系列)**
|
||||
|
||||
**结构:**
|
||||
section + ul + li + p
|
||||
|
||||
**布局:**
|
||||
H5 3 列 → PC 5 列
|
||||
|
||||
**类名前缀:**
|
||||
l2-*
|
||||
|
||||
---
|
||||
|
||||
## **LIST_03(l3 系列)**
|
||||
|
||||
**结构:**
|
||||
article + div + img + p
|
||||
|
||||
**布局:**
|
||||
左图右文(图文式)
|
||||
|
||||
**类名前缀:**
|
||||
l3-*
|
||||
|
||||
---
|
||||
|
||||
## **LIST_04(l4 系列)**
|
||||
|
||||
**结构:**
|
||||
div + ul + li + span
|
||||
|
||||
**布局:**
|
||||
图上文字 overlay
|
||||
|
||||
**类名前缀:**
|
||||
l4-*
|
||||
|
||||
---
|
||||
|
||||
## **LIST_05(l5 系列)**
|
||||
|
||||
**结构:**
|
||||
section + card + figure
|
||||
|
||||
**布局:**
|
||||
卡片带阴影风格
|
||||
|
||||
**类名前缀:**
|
||||
l5-*
|
||||
|
||||
---
|
||||
|
||||
# =======================================
|
||||
|
||||
# Ⅳ. RECOMMEND(推荐模块 · 5 套)
|
||||
|
||||
# =======================================
|
||||
|
||||
---
|
||||
|
||||
## **RECOMMEND_01(recA 系列)**
|
||||
|
||||
**结构:**
|
||||
section + header + ul + li
|
||||
|
||||
**布局:**
|
||||
grid 布局,2→4 列
|
||||
|
||||
**类名前缀:**
|
||||
recA-*
|
||||
|
||||
---
|
||||
|
||||
## **RECOMMEND_02(recB 系列)**
|
||||
|
||||
**结构:**
|
||||
section + article + figure + h3
|
||||
|
||||
**布局:**
|
||||
横滑 + 卡片
|
||||
|
||||
**类名前缀:**
|
||||
recB-*
|
||||
|
||||
---
|
||||
|
||||
## **RECOMMEND_03(recC 系列)**
|
||||
|
||||
**结构:**
|
||||
header + aside + ul
|
||||
|
||||
**布局:**
|
||||
左主推大图 + 右侧列表
|
||||
|
||||
**类名前缀:**
|
||||
recC-*
|
||||
|
||||
---
|
||||
|
||||
## **RECOMMEND_04(recD 系列)**
|
||||
|
||||
**结构:**
|
||||
section + card-grid + figure
|
||||
|
||||
**布局:**
|
||||
卡片图文混合
|
||||
|
||||
**类名前缀:**
|
||||
recD-*
|
||||
|
||||
---
|
||||
|
||||
## **RECOMMEND_05(recE 系列)**
|
||||
|
||||
**结构:**
|
||||
ol + li + span + img
|
||||
|
||||
**布局:**
|
||||
轻量 text-based 列表
|
||||
|
||||
**类名前缀:**
|
||||
recE-*
|
||||
|
||||
---
|
||||
|
||||
# =======================================
|
||||
|
||||
# Ⅴ. TRENDING(正在热播模块 · 5 套)
|
||||
|
||||
# =======================================
|
||||
|
||||
---
|
||||
|
||||
## **TRENDING_01(trA 系列)**
|
||||
|
||||
**结构:**
|
||||
section + ul + li + p
|
||||
|
||||
**布局:**
|
||||
横滑 trending,3 个卡片
|
||||
|
||||
**类名前缀:**
|
||||
trA-*
|
||||
|
||||
---
|
||||
|
||||
## **TRENDING_02(trB 系列)**
|
||||
|
||||
**结构:**
|
||||
div + article + figure
|
||||
|
||||
**布局:**
|
||||
大图主推式
|
||||
|
||||
**类名前缀:**
|
||||
trB-*
|
||||
|
||||
---
|
||||
|
||||
## **TRENDING_03(trC 系列)**
|
||||
|
||||
**结构:**
|
||||
ul + li + ranking-number
|
||||
|
||||
**布局:**
|
||||
Top 榜形式
|
||||
|
||||
**类名前缀:**
|
||||
trC-*
|
||||
|
||||
---
|
||||
|
||||
## **TRENDING_04(trD 系列)**
|
||||
|
||||
**结构:**
|
||||
section + card-wrap
|
||||
|
||||
**布局:**
|
||||
中等大小卡片 block
|
||||
|
||||
**类名前缀:**
|
||||
trD-*
|
||||
|
||||
---
|
||||
|
||||
## **TRENDING_05(trE 系列)**
|
||||
|
||||
**结构:**
|
||||
list + text-list
|
||||
|
||||
**布局:**
|
||||
纯文字 trending
|
||||
|
||||
**类名前缀:**
|
||||
trE-*
|
||||
|
||||
---
|
||||
|
||||
# =======================================
|
||||
|
||||
# Ⅵ. NEWEST(最新更新模块 · 5 套)
|
||||
|
||||
# =======================================
|
||||
|
||||
---
|
||||
|
||||
## **NEWEST_01(nwA 系列)**
|
||||
|
||||
**结构:**
|
||||
ul + li + figure
|
||||
|
||||
**布局:**
|
||||
紧凑 grid
|
||||
|
||||
**类名前缀:**
|
||||
nwA-*
|
||||
|
||||
---
|
||||
|
||||
## **NEWEST_02(nwB 系列)**
|
||||
|
||||
**结构:**
|
||||
section + article
|
||||
|
||||
**布局:**
|
||||
信息卡片式
|
||||
|
||||
**类名前缀:**
|
||||
nwB-*
|
||||
|
||||
---
|
||||
|
||||
## **NEWEST_03(nwC 系列)**
|
||||
|
||||
**结构:**
|
||||
grid + figure + span
|
||||
|
||||
**布局:**
|
||||
2 列 → 3 列 → PC 6 列
|
||||
|
||||
**类名前缀:**
|
||||
nwC-*
|
||||
|
||||
---
|
||||
|
||||
## **NEWEST_04(nwD 系列)**
|
||||
|
||||
**结构:**
|
||||
small-card + p
|
||||
|
||||
**布局:**
|
||||
小图列表
|
||||
|
||||
**类名前缀:**
|
||||
nwD-*
|
||||
|
||||
---
|
||||
|
||||
## **NEWEST_05(nwE 系列)**
|
||||
|
||||
**结构:**
|
||||
ul + li(纯文字)
|
||||
|
||||
**布局:**
|
||||
简单清晰的更新日志
|
||||
|
||||
**类名前缀:**
|
||||
nwE-*
|
||||
|
||||
---
|
||||
|
||||
# =======================================
|
||||
|
||||
# Ⅶ. RANKING(排行榜 · 5 套)
|
||||
|
||||
# =======================================
|
||||
|
||||
---
|
||||
|
||||
## **RANKING_01(rkA 系列)**
|
||||
|
||||
text ranking + number tag
|
||||
|
||||
---
|
||||
|
||||
## **RANKING_02(rkB 系列)**
|
||||
|
||||
图文榜单
|
||||
|
||||
---
|
||||
|
||||
## **RANKING_03(rkC 系列)**
|
||||
|
||||
小图紧凑榜单
|
||||
|
||||
---
|
||||
|
||||
## **RANKING_04(rkD 系列)**
|
||||
|
||||
横滑榜单
|
||||
|
||||
---
|
||||
|
||||
## **RANKING_05(rkE 系列)**
|
||||
|
||||
纯文字榜单
|
||||
|
||||
类名前缀统一为:
|
||||
rkA- / rkB- / rkC- / rkD- / rkE-
|
||||
|
||||
---
|
||||
|
||||
# =======================================
|
||||
|
||||
# Ⅷ. CATEGORY(分类模块 · 5 套)
|
||||
|
||||
# =======================================
|
||||
|
||||
---
|
||||
|
||||
## **CATEGORY_01(cgA 系列)**
|
||||
|
||||
chips 标签云
|
||||
|
||||
---
|
||||
|
||||
## **CATEGORY_02(cgB 系列)**
|
||||
|
||||
导航式分类条
|
||||
|
||||
---
|
||||
|
||||
## **CATEGORY_03(cgC 系列)**
|
||||
|
||||
卡片式分类
|
||||
|
||||
---
|
||||
|
||||
## **CATEGORY_04(cgD 系列)**
|
||||
|
||||
列表式分类(带图)
|
||||
|
||||
---
|
||||
|
||||
## **CATEGORY_05(cgE 系列)**
|
||||
|
||||
列表式分类(纯文字)
|
||||
|
||||
类名前缀统一:
|
||||
cgA~cgE
|
||||
|
||||
---
|
||||
|
||||
# =======================================
|
||||
|
||||
# Ⅸ. DETAIL(视频详情页 · 5 套)
|
||||
|
||||
# =======================================
|
||||
|
||||
---
|
||||
|
||||
## **DETAIL_01~05(dtA~dtE 系列)**
|
||||
|
||||
已完成的 5 套包含:
|
||||
|
||||
* 多结构(article / section / aside / info grid)
|
||||
* 线路选择(ul/li)
|
||||
* 推荐区
|
||||
* SEO Words
|
||||
* 剧情简介
|
||||
* 演职员
|
||||
|
||||
类名前缀:
|
||||
dtA-* / dtB-* / dtC-* / dtD-* / dtE-*
|
||||
|
||||
---
|
||||
|
||||
# =======================================
|
||||
|
||||
# Ⅹ. PLAY(播放页 · 5 套)
|
||||
|
||||
# =======================================
|
||||
|
||||
---
|
||||
|
||||
## **PLAY_01~05(plyA~plyE 系列)**
|
||||
|
||||
特点:
|
||||
|
||||
* 全部使用 DPlayer
|
||||
* 播放线路选择(必要)
|
||||
* 集数列表(必要)
|
||||
* 推荐模块(可选)
|
||||
* SEO words(可选)
|
||||
* 排行榜(可选)
|
||||
* 不同 DOM 结构、不同布局
|
||||
|
||||
类名前缀:
|
||||
plyA-* / plyB-* / plyC-* / plyD-* / plyE-*
|
||||
|
||||
---
|
||||
|
||||
# ======================================================
|
||||
|
||||
# **文件说明(必须保存)**
|
||||
|
||||
# ======================================================
|
||||
|
||||
该文件必须作为:
|
||||
|
||||
**模板全库索引(Template Feature Index)**
|
||||
|
||||
未来你扩展模板:
|
||||
|
||||
* banner_06
|
||||
* list_06
|
||||
* new detail_06
|
||||
* ……
|
||||
|
||||
我会逐条比对本文件:
|
||||
|
||||
* 标签结构
|
||||
* 布局方式
|
||||
* 类名前缀段
|
||||
* 模块内部顺序
|
||||
* 图片 + 文本内容结构
|
||||
* 信息块排列逻辑
|
||||
|
||||
确保生成 **不重复、不撞车、完全新颖的模板**。
|
||||
|
||||
---
|
||||
|
||||
# 若你要我生成新的模块,请发:
|
||||
|
||||
```
|
||||
开始 footer_06
|
||||
```
|
||||
|
||||
或
|
||||
|
||||
```
|
||||
生成 banner_06
|
||||
```
|
||||
|
||||
我会自动避开本文件所有 50 套模板的结构,生成真正全新的一套。
|
||||
|
||||
你要继续扩展哪个模块?
|
||||
Reference in New Issue
Block a user