【XIUNOX插件】黑白哀悼模式 vv1.0.0 [复制链接]

一级用户组

黑白哀悼模式插件 (oulin_heibaidaogao)

一键切换全站黑白模式,表达庄重哀思。 本插件专为 XIUNOX 论坛设计,在国家哀悼日、重大事故悼念等场合,管理员仅需在后台一键开启,即可通过纯 CSS 滤镜实现全站黑白显示。无需修改任何模板文件,保存后自动清空缓存,前台刷新即时生效。

核心功能亮点

  • ** 全站灰度滤镜**:通过 CSS filter: grayscale(100%) 作用于 <html> 元素,一行代码实现全站黑白,极致优雅。

  • ️ 后台开关控制:提供独立设置页,支持一键开启/关闭及自定义提示文字配置,全程无需修改代码或手动编辑文件。

  • ** 即时生效**:保存设置后自动清空 tmp 编译缓存,前台刷新即刻生效,无需重启服务器。

  • ** 零性能开销**:采用纯 CSS 滤镜实现,不依赖任何 JavaScript,充分利用 GPU 加速渲染,对页面加载性能零影响。

  • ** 极致兼容性**:同时设置 -webkit- / -moz- / -ms- / -o- 等浏览器前缀,完美兼容所有主流浏览器。

  • ** 可扩展提示**:预留 notice_text 字段,支持在前台模板中灵活调用并显示哀悼公告。


️ 技术架构

层级

说明

配置存储

setting_set('oulin', ...) / setting_get('oulin'),独立命名空间,避免配置污染

Hook

header_link_after.htm(在 <head> 中精准注入 CSS 样式)

前端

纯 CSS filter: grayscale(100%),无 JavaScript 依赖

后台

setting.php 独立设置页,内置 CSRF 保护 + 管理员权限检查

缓存

保存后自动调用 plugin_clear_tmp_dir() 清空编译缓存


安装与升级

  • 安装脚本install.php 写入初始配置(默认关闭状态),使用 setting_set('oulin', ...) 实现幂等安装。

  • 卸载脚本uninstall.php 安全清理配置,使用 setting_delete('oulin')

  • 平滑升级:无数据库表,纯配置驱动,升级过程无需任何数据迁移。


️ 自检报告

检查结果汇总

类别

通过

警告

说明

结构规范

4

0

-

安全规范

3

0

-

代码规范

3

0

-

配置规范

2

0

-

逐项检查详情

一、结构规范

#

检查项

状态

说明

1

conf.json 必填字段完整

通过

name/brief/version/bbs_version/type/hooks/hooks_rank 齐全

2

有 install.php 幂等安装

通过

使用 setting_set() 写入初始配置,重复安装不报错

3

卸载脚本文件名用 uninstall.php

通过

使用标准拼写

4

hook 文件名含扩展名匹配

通过

conf.json 键名 header_link_after.htm 与文件名一致

二、安全规范

#

检查项

状态

说明

1

POST 有 CSRF 检查

通过

setting.php 使用 CsrfService::generate() 生成 token

2

设置页有管理员权限检查

通过

$gid != 1 && $gid != 2 AND message(-1, ...)

3

所有输出用 esc_html()

通过

setting.phpparam('notice_text')esc_html() 转义

三、代码规范

#

检查项

状态

说明

1

无 jQuery / Alpine.js

通过

纯 CSS 实现,无 JavaScript 依赖

2

命名全带前缀

通过

配置键/变量名统一前缀 oulin

3

setting_set/get 直接存取数组

通过

未使用 xn_json_encode/decode 中转

四、配置规范

#

检查项

状态

说明

1

配置独立存储

通过

使用独立命名空间 oulin,不与其他插件冲突

2

保存后清空缓存

通过

调用 plugin_clear_tmp_dir() 确保 hook 即时生效




黑白哀悼模式 截图

黑白哀悼模式 截图

黑白哀悼模式 截图



版本:vv1.0.0
适用版本:1.1
开发者:oulin

请登录后查看此内容
最新回复

请先登录后再回复 登录