457 lines
12 KiB
Markdown
457 lines
12 KiB
Markdown
以下为你需要的正式协议文档,可直接作为后续所有讨论与实现的“母上下文”。
|
||
**已去除全部推理过程、时间顺序、调试过程,仅保留最终确认的规范结果。**
|
||
|
||
---
|
||
|
||
# **《站群差异化方法 · 母上下文协议 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”**
|
||
|
||
---
|
||
|