官方插件由开发者「贰先生」提供,仅作开发参考,不建议直接用于生产运营环境。
官方应用中心的插件分为免费和金币付费。金币可通过签到等免费获取,金币购买不退款。
官方不提供现金交易,线下交易风险自担,请仔细鉴别!
官方不提供现金交易,线下交易风险自担,请仔细鉴别!
xnx_status 帖子状态标记
功能
- 为帖子设置状态标签(如未解决 / 已解决 / 审核中 / 酷站 / 干货 等),按分类(0 内容标记 / 1 Bug 反馈)管理
- 安装时内置 11 个预设状态(未解决、已解决、审核中、需补充、无法复现、酷站、干货、教程、资源分享、已排期、已优化)
- 积分奖励:标记状态时给帖子作者发放积分 / 金币 / 人民币(防反复切换刷积分,仅在从未发放过时发放)
- 审核联动:状态可配置
audit_action(0 无 / 1 设为待审核 / 2 设为已通过),自动更新thread.audit_status - 通知:状态变更时通过
notify_create通知作者(含操作人、新状态、奖励信息) - 帖子列表徽章:批量查询帖子状态(
getThreadStatusBatch),列表页显示状态标签 - Bug 贡献排行榜:按周 / 月 / 全部统计作者贡献(已解决 / 已排期 / 已优化 / 其他 + 奖励总额),独立页面
status_rank.htm - 后台概览:各状态帖子计数、Bug 总数 / 已解决 / 处理中
- 状态变更日志:记录每次状态切换的旧 / 新状态、操作人、操作时间
- 「已解决」状态 ID 集合可多选配置,影响贡献排行与统计
- 缓存:使用
CacheHelper::remember()+pluginDeletePrefix('status'),写操作后自动清理 - 多语言(zh-cn / zh-tw / en-us)
文件结构
plugin/xnx_status/
├── conf.json
├── install.php / uninstall.php / upgrade.php # 建 3 张表 + 预设状态 + 字段幂等迁移
├── setting.php # 重定向到 admin_status.php?tab=settings
├── icon.png
├── model/
│ └── StatusService.php # 核心服务(CRUD / 状态管理 / 统计 / 权限)
├── route/
│ ├── admin_status.php # 后台管理(概览 / 选项 / 日志 / 状态帖子 / 贡献者 / 设置)
│ ├── api_status.php # AJAX 设置 / 清除帖子状态
│ └── status_rank.php # 前台 Bug 贡献排行榜
├── admin/view/htm/
│ └── status_admin.htm
├── view/htm/
│ └── status_rank.htm
├── static/js/status.js
└── hook/
├── model_inc_file.php # 自动加载 StatusService
├── model_route_table_end.php
├── index_route_case_end.php # 注册 status_rank 前台路由
├── admin_index_route_case_end.php # 注册后台路由
├── index_site_brief_after.htm # 首页注入贡献者 widget
├── thread_list_inc_start.htm
├── thread_list_inc_subject_before.htm # 列表页状态徽章
├── thread_start.htm
├── thread_subject_badge_after.htm # 详情页标题徽章
├── thread_plugin_body.htm # 详情页状态操作面板
├── thread_message_after.htm # 详情页奖励信息
├── thread_filelist_after.htm
├── thread_end.htm
├── thread_js.htm # 加载 status.js
├── lang_zh_cn_bbs.php
├── lang_zh_tw_bbs.php
└── lang_en_us_bbs.php
配置流程
- 后台「插件管理」安装并启用 xnx_status
- 进入「插件设置」(自动跳转到
xnx_status?tab=settings)→ 配置:允许超级版主操作、开启通知、详情页显示奖励、列表显示徽章、贡献者 widget、已解决状态 ID 集合 - 切换到「状态选项」tab → 新增 / 编辑 / 删除状态(名称、颜色、奖励类型与金额、审核动作、分类、排序)
- 测试:在帖子详情页操作面板选择状态 → 触发积分奖励 + 通知 + 徽章更新;访问「Bug 贡献排行榜」查看排行
- 后台「变更日志」可追溯每次状态切换
扩展说明
StatusService 通过 hook/model_inc_file.php 自动加载,大量公开方法可被其他插件调用。
Service 类与方法签名
$ss = new StatusService(); // 构造时自动 CacheHelper::registerKeys('status', ...)
// ---- 状态选项 ----
$ss->getStatusList(int $category = -1): array // -1 全部 / 0 内容标记 / 1 Bug 反馈,300s 缓存
$ss->getOption(int $id): array
$ss->addOption(array $data): array // status_name / color / reward_type / reward_amount / audit_action / category / sort
$ss->updateOption(int $id, array $data): array
$ss->deleteOption(int $id): array // 同步清除使用该状态的帖子关联
// ---- 帖子状态 ----
$ss->getThreadStatus(int $tid): array // 单帖状态
$ss->getThreadStatusBatch(array $tids): array // [tid => status_info] 批量查询,列表页用
$ss->setThreadStatus(int $tid, int $statusId, int $operatorUid): array
// statusId=0 表示清除状态;内部依次:写日志 → 清除 / 校验选项 → 发放奖励(防重发)→ 更新/插入 → 联动审核动作 → 发送通知 → 清缓存
// ---- 统计与排行 ----
$ss->getResolvedStatusIds(): array // 读取后台多选配置,空时回退名称匹配「已解决」「已优化」
$ss->getOverviewStats(): array // 60s 缓存,返回各状态计数 + bug_total/resolved/processing
$ss->getContributors(int $limit = 20, string $period = 'total'): array // 300s 缓存,period: week/month/total
$ss->getThreadsByStatus(int $statusId, int $page, int $pagesize): array // 按状态筛选帖子(过滤已删除)
// ---- 日志与权限 ----
$ss->getStatusLog(int $page, int $pagesize, int $filterStatus = 0): array
$ss->canOperate(int $gid): bool // gid=1 管理员;gid=2 受 allow_super_mod 控制
// ---- 静态方法 ----
StatusService::clearCache(): void // CacheHelper::pluginDeletePrefix('status')
StatusService::badgeHtml(string $name, string $color): string // 支持 Bootstrap 颜色名与 hex
StatusService::rewardTypeName(string $type): string
数据表与触发时机
xnx_status_option:状态选项(含audit_action、category、reward_type/reward_amount)xnx_status_thread:帖子状态关联(主键tid,含reward_given防重发奖励)xnx_status_log:状态变更日志(每次setThreadStatus都会插入一条)setThreadStatus联动CreditsService::add()发放积分、notify_create()通知作者、db_update('thread', audit_status)联动审核状态、thread_forum_list_cache_delete($fid)清理版块列表缓存- 缓存键通过
CacheHelper::registerKeys('status', ...)注册:status_list/overview/contributors,写操作后通过clearCache()一并清理
版本 2.1.0 | 兼容 Xiuno 1.1+
v2.1.0
2026-08-03
作者信息
贰先生
Twelve
XiunoX 开发者,独立开发者 & 全栈工程师
DiscuzX 插件/模板、WordPress 主题/插件、XiunoX 框架二次开发、APP 与小程序自研项目。
27
应用
0
安装
2026-08
加入
应用详情
应用分类
插件
版本
v2.1.0
适用版本
1.1
开发者
Twelve
下载量
0
浏览
3
更新时间
2026-08-03
发布时间
2026-08-03