消息中心通知
详情介绍
一、插件简介
消息中心为社区用户提供系统通知、互动提醒与私信能力。各业务插件(签到、任务、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 或自定义图片包 |
| 后台群发 | 管理员发送系统消息 |
三、依赖与安装
plugin.json 声明 "require": { "community": ">=1.0.0" }。install.sql,创建 message 表。四、应用中心基础配置
MessagePlugin::configSchema() 与后台消息配置共用 adminConfigSchema(),在应用中心或后台「消息配置」均可修改。
基础设置
| 配置项 | 类型 | 说明 |
|---|---|---|
启用消息中心 enable_message | 开关 | 关闭后前台无入口,也不接收任何通知 |
互动功能
| 配置项 | 类型 | 说明 |
|---|---|---|
启用私信功能 enable_private_msg | 开关 | 关闭后禁止发私信 |
私信需要相互关注 private_msg_need_mutual_follow | 开关 | 仅互关用户可私信 |
私信表情包 pm_emoji_pack | 下拉 | unicode 或 plugins/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。/message/list/{type}.html。POST /message/mark_read)或删除(POST /message/delete)。/message/dialog/{user_id}.html(需开启私信且满足关注条件)。GET /message/unread 供顶栏角标轮询。前台 API 路由
| 方法 | 路径 | 说明 |
|---|---|---|
| GET | message | 消息首页 |
| GET | message/list/:type | 分类列表 |
| GET | message/dialog/:user_id | 私信对话 |
| POST | message/send | 发送私信 |
| POST | message/mark_read | 标记已读 |
| POST | message/delete | 删除消息 |
| GET | message/unread | 未读数量 |
| GET | message/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 已启用十、常见问题
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
首次发布