# YwxApp 功能模块分类 > 编写日期:2026-08-07 > 参考来源:[Discuz! 版本功能对比页](https://www.discuz.vip/version) 本文参考 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) 1. **积分规则管理后台(⬜→✅,2026-08-07 新增)**:新增 `score_rule`/`score_log` 表 + `app/backend/controller/Score.php`(规则 CRUD + 流水查看)+ 模型 + validate + 视图/JS + `admin_power` 菜单种子;任务发积分改为走 `Score::change()`(事务内改 `user.score` 并写 `score_log` 流水)。 2. **支付网关 mqpay 免签真接入(🟡→✅,核实已具备)**:经排查 `addon/mqpay` 插件已实现免签全流程——个人收款码扫码 + 金额零头防撞单 + 安卓监听 App 自动确认(`notify-app`,md5 验签)+ 后台人工确认(`Confirm`),并可选启用 Yansongda 真实商户支付。原标注"未接入"系调研不完整所致,实际无需改动。 3. **博客后台管理完善(🟡→✅,核实已具备)**:`addon/blog/controller/backend/` 下已有 Article/Category/Comment/Dashboard/Index/Setting/Stat/Tag/User 共 9 个后台控制器,后台管理完整,无需补齐。 ### B. 安全与管控增强(优先级中)— 已全部完成 ✅(2026-08-07) 1. **内容审核 / 云审机制(⬜→✅,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`(已存在的云审接入点)。 2. **即时通信稳定性(🟡→✅,2026-08-07 新增)**: - Broker 过载保护:新增 `max_connections`(连接数硬上限拒绝新连接防雪崩)+ `publish_rate_limit`(单连接令牌桶限流,超量静默丢弃);config 暴露后台可调。 - 客户端重连封装:`client/MqttClient.js`(指数退避 1s→30s + 会话恢复 + 遗嘱 LWT + 心跳兜底)。 - 压测脚本:`benchmark.php`(纯 PHP 零依赖,模拟 N 客户端并发连接 + 高频发布,验证稳定性)。 ### C. 差异化能力扩展(优先级低,对标 Discuz! 缺失项) 1. **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。 2. **AI 推荐 / 个性化(⬜→✅,2026-08-08 新增)**: - 基于内容相似度的相关推荐:`EsSearch::moreLikeThis()`(ES more_like_this,内容相关度,启用 ES 时生效)+ `ForumSearchService::related()` / `BlogSearchService::related()`(ES 不可用时降级为同版块/同分类/标签重叠相似度)。 - 接入点:forum 帖子详情页右侧「相关帖子」、blog 文章详情页「相关推荐」。 3. **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`。 4. **可视化工作流 / 审批流(✅)**——用于插件上架审核流可视化。 - `appmarket_addon_review_log` 审核历史日志表(install.sql + SchemaGuard 双源)。 - `AddonReview` 后台加 `approve`/`reject` 写入审核日志;`detail`(JSON)/`detailview`(HTML)/`history`(JSON) 三接口 + 路由。 - 列表页"查看详情"按钮 → iframe 弹层打开 `detailview`:提交信息卡 + 审核状态步骤条 + 历史时间线。 ### D. 对外材料 - 对外介绍页可直接复用本分类五大类结构,突出「应用市场商业化闭环」差异化卖点。 - 版本规划表以第四节状态总览为准,按 A→B→C 优先级排期。