[color_scheme]色系切换热
- 色系切换ID color_scheme版本 2.8.34插件制作者 bbs1org免费751 行 / 74.8 KBHook / 路由 / 后台页由站长管理色系、字号和页面宽度方案及其全站默认值,用户可在普通页面中切换个人偏好。app/plugins/color_scheme/plugin.php插件预览1 张开发日志最新 10 条
此项目接受所有登录用户协助维护和提交更新。
淘帖专辑官方安装插件合集主楼 插件质量报告
插件:
color_schemeHook 功能范围 循环 使用频率 文件读写 修改系统表 读写系统表 读写自己的表 page.head 全站页面 head 否 5 - - - - sidebar.feature_links 首页/侧栏快捷功能 否 5 - - - - top.bar.actions 顶部栏插件入口,同一请求只执行一次(展示位置:版块导航与搜索框前后) 否 5 - - - - 颜色说明:黄色表示有数据读写,红色表示 Hook 在系统循环中执行,浅蓝色表示有文件写入。“列表跳过”表示回调在列表路径会提前返回,“回调内”表示操作位于回调自身或其帮助函数的循环体内。“文件批处理”表示逐个处理用户一次提交的文件,属于必要操作,不标记修正。只有操作实际处于需要优化的循环路径时,才会标记“修正❗️”。
数据字典
未检测到插件数据表声明。
微信绿/脸书蓝/淘宝橙/美团黄/京东红/B站粉/深紫/黑色/青蓝
这个插件没有替换整套页面主题,只覆盖品牌色、悬停色和浅色辅助色,因此不同色系下仍能保持原有信息层级。“恢复默认”通过移除变量覆盖回到站点原始样式,行为也比较干净;把色板浮层挂到 body 并按视口定位,还解决了侧栏容器 overflow 裁剪的问题。
版本 1.1.1 更新:
开放公共维护🔍 插件审查报告(对照《AI 开发规则》与开发者文档)
🔒 安全问题
未发现明显问题。(色系取值经 COLOR_SCHEME_PRESETS 白名单校验,内联脚本用 json_encode 的 HEX 标志转义,无 SQL、XSS 或路径风险)
⚡ 性能问题
未发现明显问题。(无数据库读取,纯前端 CSS/JS 切换)
🐛 功能/规范缺陷
- 保存色系的路由 plugin.php:114-133 通过 GET 读取
$_GET['scheme']直接 setcookie,未 require_post() 与 form_token()。虽只影响外观偏好、危害低,但按规范「修改状态只接受 POST」应改为 POST + require_post() + CSRF 校验。 - CSS 写死字号与色值:plugin.php:46
.color-scheme-reset{...font-size:12px...}、plugin.php:40rgba(0,0,0,.08),违反「字号用 var(--font-size-)、颜色用 var(--)」规则,建议改用语义变量。
✅ 修复优先级
两条均为低优先级;先改保存路由为 POST+CSRF,再统一 CSS 变量即可。
- 保存色系的路由 plugin.php:114-133 通过 GET 读取
版本 2.0.0 更新:
色系现在可在后台插件管理页新增、删除、设置全站默认;个人选择仍优先于全站默认。前台入口改为独立“切换色系”页面,使用普通表单提交和跳转,不再弹出浮层或异步切换。
当前色系 CSS 变量由服务端直接输出到 <head>,消除了客户端脚本导致的颜色延迟。版本 2.0.6 更新:
“站点原始配色”始终作为第一张卡片显示。
即使站长设置了其他全站默认色系,选择它仍会回到框架原始绿色。
全站默认色系单独显示为卡片,不再与常规色系重复。版本 2.0.7 更新:
用户可在“切换色系”页面选择,偏好以 color_scheme_font_size Cookie 保存,并在首屏覆盖 xxs 至 xl 六级字体变量版本 2.0.8 更新:
舒适字号下卡片会在自身网格内扩展,不会覆盖相邻卡片版本 2.0.9 更新:
修复文字不换行🔁 复核回帖(AI 自动核对,对照 8/18 楼上 350 的审查报告与当前 v2.0.9 源码)
结论:v2.0.0 大版本重构后,350 指出的问题均已修复,未发现新问题。
- GET 改状态未走 POST/CSRF:v2.0.0 起前台切换色系与字号页面已改为独立页面,所有操作均为
<form method="post">+form_token()+ 服务端is_post_request()判断(plugin.php:157/216 起),已修复。
- CSS 写死字号/色值:现有 CSS 中字号已全部使用
var(--font-size-*),未发现写死数字字号;仍保留两处非语义值——border-radius:6px(4 处字面量,未使用var(--radius))和rgba(0,0,0,.08)(色板预览边框)。这两处规则要求使用变量,属新发现的遗留小问题,非 350 原报告条目,建议一并改为var(--radius)和语义化边框色变量。
其余:色系/字号管理为后台配置,站长自定义色值经正则校验为合法 HEX;Cookie 读写、路由权限、前端脚本未见新增问题。
- GET 改状态未走 POST/CSRF:v2.0.0 起前台切换色系与字号页面已改为独立页面,所有操作均为
版本 2.3.1 更新:
完善色系、字号和页面宽度方案管理。
支持站长新增、删除方案,并设置全站默认方案。
新增页面宽度方案:内置 1000px、1200px、100%,支持自定义宽度。
页面宽度覆盖 .wrap、.footer、.bar、.forum-more-panel 的 max-width。
色系、字号和页面宽度的样式均在 <head> 输出,减少页面加载时的视觉延迟。
前台切换改为普通页面提交,不再使用弹层。
顶部栏新增色系切换入口,并可在插件后台关闭显示。
前台保留“站点原始配色”“站点原始字号”“站点原始宽度”卡片。
字号与页面宽度方案支持名称、说明和预览展示。牛逼🙂
这次就完美了,不用插件就能实现全屏显示
版本 2.8.2 更新:
新增页面宽度方案管理。
支持新增、删除页面宽度方案。
支持设置全站默认页面宽度。
内置 1000px、1200px、100% 三套方案。
页面宽度覆盖 .wrap、.footer、.bar、.forum-more-panel。
完善字号方案管理,支持名称、说明、新增、删除和设置默认。
色系、字号、页面宽度方案均支持前台无刷新切换。
新增独立暗黑模式,支持日间、黑夜、自动三种模式。
暗黑模式使用独立存储,与 dark_mode 插件互不干涉。
顶部栏保留单独调色板入口。
调色板入口改为弹层展示。
弹层支持点击遮罩、关闭按钮和 Esc 关闭。
弹层背景不再变灰,方便实时观察配色效果。
外观方案使用 SVG 图标。
优化移动端布局,外观、色系、字号、宽度采用多列排列。
移动端隐藏方案副标题,减少界面占用。
样式在 <head> 中提前输出,减少页面加载时的颜色闪烁。
修复宽度预览函数缺失导致的后台报错。
修复色系和暗黑模式异步切换后变量更新不完整的问题。版本 2.8.4 更新:
优化图标版本 2.8.5 更新:
修正ui版本 2.8.6 更新:
更新版本
再修一下。版本 2.8.10 更新:
移动端图标太赞了,已经用上了
版本 2.8.18 更新:
使用新的hook,并增加位置选项版本 2.8.19 更新:
优化细节版本 2.8.23 更新:
优化弹窗版本 2.8.25 更新:
优化弹层版本 2.8.26 更新:
优化UI版本 2.8.26 更新:
优化暗黑模式下细节版本 2.8.27 更新:
暗黑链接优化版本 2.8.34 更新:
优化配色符合AA版本 2.8.34 更新:
预览



