mirror of
https://github.com/crmeb/CRMEB.git
synced 2026-10-28 21:40:50 +00:00
channel/ — 用户渠道扩展模块
功能概述
用户渠道模块解决用户从哪来、如何识别登录、如何推送消息的问题。每个端(APP/H5/小程序/公众号)都是一个独立的渠道子模块,提供:
- 登录认证(OAuth 授权)
- 用户身份识别(openid 映射)
- 消息推送(模板消息/订阅消息)
- 端特有业务(小程序二维码等)
目录结构
channel/
├── app/ APP 端
├── h5/ H5 端
├── wechat_mini/ 微信小程序端(含小程序直播内置功能)
└── wechat_mp/ 微信公众号端
各渠道说明
| 渠道 | 目录 | 登录方式 | 特有功能 |
|---|---|---|---|
| APP | app/ |
渠道标识(Form-type 识别),登录由 app 层处理 | — |
| H5 | h5/ |
渠道标识(Form-type 识别),登录由 app 层处理 | — |
| 微信小程序 | wechat_mini/ |
小程序登录(service/MiniProgram) | 小程序码、订阅消息(service/RoutineSubscribeServices)、小程序路由、小程序直播(内置功能) |
| 微信公众号 | wechat_mp/ |
公众号 OAuth(service/WechatOAuth) | 模板消息(service/WechatTemplateServices)、菜单管理、关键词回复 |
公共结构
渠道子模块采用轻量结构,OAuth 授权与模板消息发送已简化为普通服务类,统一放在 service/:
{channel}/
├── controller/ 控制器
├── dao/ 数据访问层
├── jobs/ 队列任务
├── listener/ 事件监听器
├── model/ 模型层
├── route/ 路由
├── sdk/ 第三方 SDK 封装
├── service/ 服务层(登录认证、消息模板发送等)
├── validate/ 验证器
├── App.php 模块注册入口
├── Installer.php 安装/卸载
├── event.php 事件注册
└── plugin.json 插件元数据
- 轻量渠道(H5/APP)仅保留插件元数据与渠道标识,无业务目录
依赖关系
- 渠道模块之间不可互相引用
- 跨渠道通信通过
crmeb/层事件机制 - 渠道码等营销玩法依赖公众号渠道(
channel_code/需要wechat_mp)