YwxApp 功能模块分类
编写日期:2026-08-07
参考来源:Discuz! 版本功能对比页
本文参考 Discuz! 官方版本页的功能模块组织方式,结合 YwxApp 当前代码库实际落地的模块,做一套功能模块分类,用于产品梳理、版本规划与对外介绍。
一、参考来源说明(Discuz! 版本页的分类逻辑)
Discuz! 版本对比页将功能划分为若干大类,其组织思路是:
- 核心基础:站点底层能力(架构、账号、权限、用户组)。
- 内容生产:论坛、门户、博客、文档等内容创作与消费模块。
- 运营工具:积分、勋章、道具、任务、支付、营销、活动等促活/变现手段。
- 安全与管控:认证、审核、防灌水、日志、访问控制。
- 扩展与生态:插件、模板、多端、开放接口、第三方对接。
其核心经验:以用户生命周期(注册 → 活跃 → 付费 → 沉淀)为主线组织模块,而非按技术栈划分。
二、YwxApp 功能模块分类(按落地情况)
1. 核心基础(账号 / 认证 / 架构 / 市场内核)
| 子模块 |
实现位置 |
说明 |
| 账号与认证体系 |
ywxapp/library/Auth.php(verifyAuth()) |
登录、JWT、用户组权限校验 |
| 会员中心框架 |
app/member/ |
控制台、iframe 工作台、主题换肤 |
| 多应用架构 |
app/{api,backend,frontend,member,wxapp} |
后台 / 前台 / 会员 / 接口 / 小程序多端 |
| 应用市场内核 |
addon/appmall/ |
插件提交 → 审核 → 上架 → 购买 → 授权闭环 |
2. 内容生产(社区 / 博客 / 导航 / 文档)
| 子模块 |
实现位置 |
说明 |
| 轻社区论坛 |
addon/forum/ |
发帖、我的帖子、会员中心集成 |
| 博客系统 |
addon/blog/ |
文章发布与管理 |
| 站点导航 |
addon/haonav/ |
自定义导航菜单 |
| 站内文档 |
addon/docs/ |
文档 / 帮助沉淀 |
3. 运营工具(积分 / 勋章 / 道具 / 任务 / 支付 / 短信)
| 子模块 |
实现位置 |
说明 |
| 任务中心 |
app/member/controller/Task.php + ywxapp/model/Task.php |
任务领取、进度跟踪 |
| 我的道具 |
wxapp_user_prop 表 + SchemaGuard::ensureTaskSchema() |
道具持有与兑换 |
| 我的勋章 |
Medal 模型 + wxapp_user_medal |
成就 / 勋章授予 |
| 充值中心 |
app/member payment / card |
套餐充值、卡密兑换、兑换记录 |
| 支付网关 |
addon/mqpay/(免签)、Yansongda |
支付与回调 |
| 短信服务 |
addon/smsbao/、addon/smssend/、ywxapp/model/Sms.php |
验证码 / 通知 |
4. 安全与管控(权限 / 授权 / 锁定 / SEO / 通信)
| 子模块 |
实现位置 |
说明 |
| 三端分离登录 |
BackendBase / MemberBase / FrontendBase |
后台 / 会员 / 前台独立鉴权 |
| 插件授权巡检 |
command/AddonLicenseCheck.php、AddonService::verifyRuntimeLicense() |
授权闸门与过期巡检 |
| 登录锁定 |
Auth::login + User::isLocked() |
失败次数 / 时段锁定 |
| SEO 优化 |
addon/seo/ |
静态化 / 收录优化 |
| 即时通信 |
addon/mqttbroker/、addon/wxchat/ |
MQTT 消息、微信会话 |
5. 扩展与生态(多端 / 开放能力 / CLI / 部署)
| 子模块 |
实现位置 |
说明 |
| 微信生态 |
addon/wxchat/ |
小程序 / 微信对接(含 uni-app .uvue/.uts) |
| 应用市场生态 |
addon/appmall/ |
开发者中心、分润、下载安装 |
| CLI 命令体系 |
ywxapp/service/AppService.php 注册 |
addon:health / make / manage / license-check |
| 打包与分发 |
package_appmarket_addon.php / package_framework.php |
插件包 / 框架包生成 |
三、与 Discuz! 的对照与差距
3.1 已具备对应能力(但部分缺后台管理端)
- 权限控制 / 用户组 / 积分 / 勋章 / 道具 / 任务:YwxApp 已有对应能力,但 勋章、道具、任务目前主要在会员中心侧边菜单,尚未补齐
app/backend 后台管理入口(Discuz! 后台可配置积分规则、勋章发放、道具管理等)。
3.2 差异化优势(Discuz! 开源版没有)
- 应用市场商业化闭环:提交 → 审核 → 购买 → 支付回调 → 域名授权 → 运行期过期巡检 → 分润提现。这是 YwxApp 的独有模块,也是商业变现的核心。
3.3 暂缺能力(Discuz! 有,YwxApp 尚未实现)
- 内容审核 / 云审机制
- GEO 地理位置 / LBS
- AI 推荐 / 个性化
- ElasticSearch 全文检索
- 可视化工作流 / 审批流
四、模块状态总览(已上线 / 待完善 / 缺失)
图例:✅ 已上线 🟡 待完善(有基础能力但缺管理端/不完整) ⬜ 缺失(未实现)
核心基础
| 子模块 |
状态 |
说明 |
| 账号与认证体系 |
✅ |
Auth + verifyAuth 完整 |
| 会员中心框架 |
✅ |
控制台/工作台/换肤完整 |
| 多应用架构 |
✅ |
五端齐备 |
| 应用市场内核 |
✅ |
提交→审核→购买→授权闭环完整 |
内容生产
| 子模块 |
状态 |
说明 |
| 轻社区论坛 |
✅ |
forum 插件完整(含内容审核:need_audit 配置 + 机审/人工复核) |
| 博客系统 |
✅ |
blog 插件含 controller/backend/ 下 9 个控制器,后台管理完整(含内容审核:audit_status) |
| 站点导航 |
✅ |
haonav 完整 |
| 站内文档 |
✅ |
docs 完整 |
运营工具
| 子模块 |
状态 |
说明 |
| 任务中心 |
✅ |
前台+后台 CRUD 完整 |
| 我的道具 |
✅ |
前台+后台(Prop)完整 |
| 我的勋章 |
✅ |
前台+后台(Medal)完整 |
| 充值中心 |
✅ |
套餐/卡密/记录+后台(Card/Shop)完整 |
| 支付网关 |
✅ |
mqpay 免签(收款码+安卓监听自动确认+后台人工确认)+ Yansongda 真实商户支付均已落地 |
| 短信服务 |
✅ |
smsbao/smssend+Sms 模型+后台完整 |
| 积分规则管理 |
✅ |
本次新增 score_rule/score_log 表 + Score 控制器/模型/菜单 |
安全与管控
| 子模块 |
状态 |
说明 |
| 三端分离登录 |
✅ |
Backend/Member/Frontend 完整 |
| 插件授权巡检 |
✅ |
license-check + 运行时闸门完整 |
| 登录锁定 |
✅ |
Auth::login + isLocked 完整 |
| SEO 优化 |
✅ |
seo 插件完整 |
| 内容审核 |
✅ |
forum/blog 已接入机审+人工复核队列 |
| 即时通信 |
✅ |
mqttbroker 连接数/限流保护 + 重连封装 + 压测脚本完整 |
| 全文检索 |
✅ |
ES 可选增强(默认 LIKE,ES 不可用自动降级),forum/blog 已接入 |
扩展与生态
| 子模块 |
状态 |
说明 |
| 微信生态 |
✅ |
wxchat + uni-app 对接完整 |
| 应用市场生态 |
✅ |
开发者中心/分润/下载完整 |
| CLI 命令体系 |
✅ |
AppService 注册 4 条命令完整 |
| 打包与分发 |
✅ |
两个 package 脚本完整 |
五、补齐路线图(待完善 / 缺失能力)
A. 运营工具补全(优先级高)— 已全部完成 ✅(2026-08-07)
- 积分规则管理后台(⬜→✅,2026-08-07 新增):新增
score_rule/score_log 表 + app/backend/controller/Score.php(规则 CRUD + 流水查看)+ 模型 + validate + 视图/JS + admin_power 菜单种子;任务发积分改为走 Score::change()(事务内改 user.score 并写 score_log 流水)。
- 支付网关 mqpay 免签真接入(🟡→✅,核实已具备):经排查
addon/mqpay 插件已实现免签全流程——个人收款码扫码 + 金额零头防撞单 + 安卓监听 App 自动确认(notify-app,md5 验签)+ 后台人工确认(Confirm),并可选启用 Yansongda 真实商户支付。原标注"未接入"系调研不完整所致,实际无需改动。
- 博客后台管理完善(🟡→✅,核实已具备):
addon/blog/controller/backend/ 下已有 Article/Category/Comment/Dashboard/Index/Setting/Stat/Tag/User 共 9 个后台控制器,后台管理完整,无需补齐。
B. 安全与管控增强(优先级中)— 已全部完成 ✅(2026-08-07)
- 内容审核 / 云审机制(⬜→✅,2026-08-07 新增):
- forum:
forum_topic 补 audit_reason 列(install.sql 事实源 + SchemaGuard::ensureForumSchema() 兜底);need_audit 开启时发帖走 AiAuditService 机审(命中违规直接驳回,通过转人工待审);后台 Topic::audit()/reject() + 路由 + 「待审帖子」菜单子项 + 列表审核按钮;前台详情页仅 status=1 可见。
- blog:
blog_article 补 audit_status 列(0草稿/1待审/2通过/3驳回,install.sql + SchemaGuard::ensureBlogSchema() 兜底);BlogArticle 模型 $allowField 加 audit_status;发布走机审;后台 Article::audit()/reject() + 审核状态列/筛选 + 路由 + 菜单子项。
- 复用
addon/wxchat/service/AiAuditService.php(已存在的云审接入点)。
- 即时通信稳定性(🟡→✅,2026-08-07 新增):
- Broker 过载保护:新增
max_connections(连接数硬上限拒绝新连接防雪崩)+ publish_rate_limit(单连接令牌桶限流,超量静默丢弃);config 暴露后台可调。
- 客户端重连封装:
client/MqttClient.js(指数退避 1s→30s + 会话恢复 + 遗嘱 LWT + 心跳兜底)。
- 压测脚本:
benchmark.php(纯 PHP 零依赖,模拟 N 客户端并发连接 + 高频发布,验证稳定性)。
C. 差异化能力扩展(优先级低,对标 Discuz! 缺失项)
- GEO 地理位置 / LBS(⬜→✅,2026-08-08 新增):
forum_topic/blog_article 加可选 lat/lng 字段(install.sql 事实源 + SchemaGuard::ensureForumSchema/ensureBlogSchema 兜底)。
ForumSearchService::nearby() / BlogSearchService::nearby():Haversine 球面距离过滤(零依赖),发帖时可带坐标(前端定位可选填)。
- 前台「附近帖子」(
/forum/nearby)、「附近文章」(/blog/nearby) 页:浏览器定位 → 半径列表,未定位可手动传 lat/lng。
- AI 推荐 / 个性化(⬜→✅,2026-08-08 新增):
- 基于内容相似度的相关推荐:
EsSearch::moreLikeThis()(ES more_like_this,内容相关度,启用 ES 时生效)+ ForumSearchService::related() / BlogSearchService::related()(ES 不可用时降级为同版块/同分类/标签重叠相似度)。
- 接入点:forum 帖子详情页右侧「相关帖子」、blog 文章详情页「相关推荐」。
- ElasticSearch 全文检索(⬜→✅,2026-08-08 新增):
- 通用封装
ywxapp/library/Search/EsSearch.php(GuzzleHttp 调 ES 9200 REST,ensureIndex/indexDoc/deleteDoc/search/rebuild,IK 分词降级 standard,不可用时抛异常由上层降级)。
ForumSearchService / BlogSearchService:配置开关 search_engine=like|es,默认 LIKE,ES 不可用时自动降级到原生模糊检索(零风险)。
- 薄封装:ES 仅返回 id 列表 →
whereIn('id', $ids) 回表取完整行 + 关联,复用现有视图。
- 接入点:forum 前台搜索、blog 前台搜索替换为 ES 查询;发帖/编辑/删除时同步索引(
sync/remove)。
- 配置项:
addon/forum/config.php + addon/blog/config.php 加 search_engine/es_host/es_index。
- 可视化工作流 / 审批流(✅)——用于插件上架审核流可视化。
appmarket_addon_review_log 审核历史日志表(install.sql + SchemaGuard 双源)。
AddonReview 后台加 approve/reject 写入审核日志;detail(JSON)/detailview(HTML)/history(JSON) 三接口 + 路由。
- 列表页"查看详情"按钮 → iframe 弹层打开
detailview:提交信息卡 + 审核状态步骤条 + 历史时间线。
D. 对外材料
- 对外介绍页可直接复用本分类五大类结构,突出「应用市场商业化闭环」差异化卖点。
- 版本规划表以第四节状态总览为准,按 A→B→C 优先级排期。