一、整体架构设计
前端统一层 (UniApp)
采用 UniApp 框架编写唯一前端代码库,利用条件编译(#ifdef)处理不同平台的差异(如微信小程序登录、APP 原生权限、公众号 H5 分享)。
封装统一的 request 请求类,自动携带 Token,适配 HTTPS 协议,确保三端接口调用一致。
后端服务层 (ThinkPHP 6)
使用 TP6 构建 RESTful API,遵循无状态原则,所有业务逻辑通过 JSON 数据交互。
引入 JWT (JSON Web Token) 进行身份认证,实现一次登录,三端通用会话保持。
数据同步核心
用户表、消息表、动态表等核心数据集中存储于 MySQL,Redis 缓存热点数据(如同城推荐列表),确保多端读取数据的一致性。

二、关键功能模块实现逻辑
多端统一认证体系
小程序:调用 wx.login 获取 code,后端换取 OpenID 并生成 JWT。
APP:集成微信/手机号一键登录,后端验证后签发 JWT。
公众号:通过 OAuth2.0 授权获取用户信息,绑定统一 UserID 后签发 JWT。
核心逻辑:无论哪种登录方式,最终都映射到系统唯一的 user_id,确保用户在任意端操作,其他端能实时感知状态变化。
婚恋核心业务 API
用户资料:提供 /api/user/profile 接口,支持增删改查,包含头像、年龄、择偶标准等字段。
同城匹配:基于 LBS 地理位置,后端计算距离,按 “性别 + 年龄 + 距离” 算法排序,返回推荐列表 /api/match/nearby。
即时通讯 (IM):建议集成开源 IM 方案(如 Workerman + GatewayWorker),后端推送消息通知,前端 UniApp 统一接收展示,实现聊天数据多端同步。
支付与会员体系
整合微信支付(小程序/APP/H5 三种场景),后端统一处理回调逻辑,更新会员状态,确保权益在三端即时生效。
三、部署与开源合规建议
私有化部署
后端 TP6 项目部署于自有服务器,配置 Nginx 反向代理,开启 HTTPS 加密传输,满足婚恋行业对用户隐私数据的合规要求。
四、开发注意事项
跨域处理:H5 端需在后端配置 CORS 允许跨域,APP 和小程序无需此配置。
版本兼容:UniApp 打包 APP 时,注意 Android/iOS 的权限配置差异;小程序端需注意隐私协议弹窗合规。
性能优化:图片资源建议接入 CDN,后端接口增加 Redis 缓存,提升高并发下的响应速度。
