消息中心

消息中心通知

版本 v1.0.1· 张先生 · 35 次获取 · 通知
消息中心(message)——系统消息、私信与互动通知,统一社区消息触达。
免费

详情介绍

一、插件简介

消息中心为社区用户提供系统通知、互动提醒与私信能力。各业务插件(签到、任务、VIP、红包等)通过消息服务写入通知;用户在前台消息页统一查看与管理。

入口路径
前台消息首页/message
分类列表/message/list/{type}(type:系统/私信/互动)
私信对话/message/dialog/{user_id}
后台管理/admin/message
消息配置/admin/message/config
URL 后缀说明:示例 /message.html、/message/list/1.html;后缀继承社区 url_suffix(默认 html)。

二、核心能力

能力说明
系统消息全站公告、业务系统自动通知
私信用户间一对一消息,支持表情包
互动通知点赞、收藏、回帖、关注、付费、充值等
跨插件通知签到、VIP、任务中心、红包、抽奖等开关独立控制
未读计数顶栏/底栏未读角标 API
相互关注限制可配置私信是否需互相关注
表情包Unicode Emoji 或自定义图片包
后台群发管理员发送系统消息

三、依赖与安装

  • 必须先安装并启用 `community`(BBS社区)——plugin.json 声明 "require": { "community": ">=1.0.0" }
  • 安装执行 install.sql,创建 message 表。
  • 注册后台菜单:消息列表、发送系统消息、消息配置。
  • 各业务插件在未安装 message 时通常静默跳过通知,不影响主流程。
  • 四、应用中心基础配置

    MessagePlugin::configSchema() 与后台消息配置共用 adminConfigSchema(),在应用中心或后台「消息配置」均可修改。

    基础设置

    配置项类型说明
    启用消息中心 enable_message开关关闭后前台无入口,也不接收任何通知

    互动功能

    配置项类型说明
    启用私信功能 enable_private_msg开关关闭后禁止发私信
    私信需要相互关注 private_msg_need_mutual_follow开关仅互关用户可私信
    私信表情包 pm_emoji_pack下拉unicodeplugins/message/static/image/ 下图片包
    被点赞通知 notify_like开关帖子/回复被点赞
    被收藏通知 notify_favorite开关帖子被收藏
    被付费通知 notify_pay开关付费阅读、网盘、隐藏内容被购买
    被回帖通知 notify_reply开关帖子收到回复
    充值成功通知 notify_recharge开关金币充值到账
    被关注通知 notify_follow开关有人关注你
    红包被领取通知 notify_redpacket开关帖内红包被领取
    抽奖中奖通知 notify_lottery开关通道开关(实际发送仍以抽奖插件为准)
    签到成功通知 notify_signin开关需 signin 插件
    VIP 会员通知 notify_vip开关需 vip 插件
    任务领取通知 notify_taskcenter_claim开关需 taskcenter 插件
    任务审核通知 notify_taskcenter_audit开关需 taskcenter 插件
    任务完成通知 notify_taskcenter_complete开关需 taskcenter 插件

    五、后台/重点配置

    消息配置/admin/message/config)与上表相同,分组为「基础设置」「互动功能」。

    消息列表/admin/message):

  • 查看全站消息记录
  • 发送系统消息(doSendSystem
  • 删除消息
  • 会员中心左侧栏不再展示「消息中心」入口;用户通过顶栏/底栏进入(由社区主题提供)。

    六、前台用户流程

  • 登录后点击顶栏消息图标进入 /message.html
  • 切换 Tab:系统消息 / 私信 / 互动通知,或访问 /message/list/{type}.html
  • 点击消息标记已读(POST /message/mark_read)或删除(POST /message/delete)。
  • 发私信:在用户主页点击「发私信」→ 进入 /message/dialog/{user_id}.html(需开启私信且满足关注条件)。
  • 未读数:GET /message/unread 供顶栏角标轮询。
  • 前台 API 路由

    方法路径说明
    GETmessage消息首页
    GETmessage/list/:type分类列表
    GETmessage/dialog/:user_id私信对话
    POSTmessage/send发送私信
    POSTmessage/mark_read标记已读
    POSTmessage/delete删除消息
    GETmessage/unread未读数量
    GETmessage/can_send是否可向某用户发私信

    七、后台审核与运维

  • 通过后台发送系统公告、活动通知
  • 定期清理无效消息记录
  • 根据运营策略关闭部分高频通知(如点赞)以减轻打扰
  • 更换表情包后重新安装/升级插件以同步到 public/static/message/
  • 八、特殊说明

    消息类型常量

  • TYPE_SYSTEM = 1 系统消息
  • TYPE_PRIVATE = 2 私信
  • TYPE_NOTIFY = 3 互动通知
  • 发送方标识

    FROM_SYSTEM / FROM_USER / FROM_ADMIN

    业务集成

    其他插件通过 plugins\message\helpers.php 或消息服务类写入,发送前会检查 MessagePlugin::notifyEnabled('{type}')

    钩子

    renderSlot 当前返回空(会员侧栏入口已移除)。

    九、推荐上线清单

  • 确认 community 已启用
  • 开启消息中心,配置需要的通知类型
  • 决定私信策略(是否需互相关注)
  • 安装 signin/taskcenter/vip 等后,开启对应通知开关
  • 测试顶栏未读角标与已读同步
  • 后台试发一条系统消息
  • 测试私信发送与表情包
  • 十、常见问题

    Q:收不到点赞/回帖通知? 检查消息中心总开关及对应 notify_* 子开关是否开启。

    Q:无法发送私信? 确认 enable_private_msg 开启;若开启互关限制,需双方互相关注。可调用 can_send API 查看原因。

    Q:签到/任务通知没有? 除 message 对应开关外,还需安装并启用 signin/taskcenter 插件。

    Q:会员中心找不到消息入口? 设计如此,请从顶栏/底栏进入;不在 member_nav_extra 插槽展示。

    Q:自定义表情包不显示? 图片放 plugins/message/static/image/{包名}/,后台选择对应包;更新后需重新安装插件同步静态资源。

    更新记录 (1)

    • v1.0.1 2026-08-24
      首次发布
    微信客服 微信客服