# 相宜相亲 一站式相亲交友平台,包含微信小程序、后台管理系统、官方网站三端,采用 .NET 8 + Vue 3 + uni-app 技术栈。 ## 项目结构 ``` xiangyixiangqin/ ├── server/ # 后端服务(.NET 8) │ ├── src/ │ │ ├── XiangYi.Core/ # 核心层:实体、枚举、常量、接口 │ │ ├── XiangYi.Application/ # 应用层:业务服务、DTO、校验、定时任务 │ │ ├── XiangYi.Infrastructure/ # 基础设施层:数据库、缓存、微信、支付、存储、短信 │ │ ├── XiangYi.AppApi/ # 小程序端 API + SignalR 聊天 │ │ └── XiangYi.AdminApi/ # 后台管理端 API │ └── tests/ # 单元测试 & 集成测试 ├── admin/ # 后台管理前端(Vue 3 + Element Plus) ├── miniapp/ # 微信小程序(uni-app) ├── website/ # 官方网站(静态页面) ├── deploy/ # 生产部署配置 ├── docs/ # 需求文档、协议文本 └── scripts/ # 运维脚本 ``` ## 技术栈 ### 后端 | 类别 | 技术 | 说明 | |------|------|------| | 运行时 | .NET 8 | LTS 版本 | | Web 框架 | ASP.NET Core WebAPI | RESTful API,双 API 独立部署 | | ORM | FreeSql | CodeFirst,支持迁移 | | 数据库 | SQL Server | 主数据库 | | 缓存 | Redis | 验证码、Token、热点数据 | | 认证 | JWT | 身份认证 | | 实时通信 | SignalR | 聊天消息推送 | | 后台任务 | Hangfire | 每日推荐刷新、通知推送等 | | 日志 | Serilog | 结构化日志 | | 对象映射 | Mapster | 轻量级映射 | | 参数校验 | FluentValidation | 请求验证 | ### 后台管理前端 | 类别 | 技术 | |------|------| | 框架 | Vue 3 + TypeScript | | 构建 | Vite | | UI | Element Plus | | 状态管理 | Pinia | | 图表 | ECharts | ### 小程序端 | 类别 | 技术 | |------|------| | 框架 | uni-app (Vue 3) | | UI | uView Plus | | 状态管理 | Pinia | ### 第三方服务 | 服务 | 方案 | |------|------| | 文件存储 | 腾讯云 COS(可切换阿里云 OSS) | | 短信 | 阿里云 SMS(可切换腾讯云 SMS) | | 实名认证 | 阿里云实人认证(可切换腾讯云) | | 支付 | 微信支付 V3 | 所有第三方云服务采用接口抽象 + 依赖注入模式,可通过配置切换服务商。 ## 核心功能 - **用户体系** — 微信登录、手机绑定、实名认证、相亲编号 - **相亲资料** — 资料提交/编辑、照片管理、择偶条件 - **智能推荐** — 基于择偶条件的每日推荐匹配 - **即时聊天** — 基于 SignalR 的实时消息、在线状态 - **会员服务** — 会员等级、联系方式解锁、微信支付 - **互动功能** — 浏览、收藏、点赞、送花、关注 - **内容管理** — Banner 轮播、首页弹窗、系统通知 - **后台管理** — 用户审核、数据统计、系统配置、操作日志 ## 本地开发 ### 后端 ```bash cd server dotnet restore dotnet run --project src/XiangYi.AppApi # 小程序 API,默认 http://localhost:5000 dotnet run --project src/XiangYi.AdminApi # 管理端 API,默认 http://localhost:5001 ``` ### 后台管理前端 ```bash cd admin npm install npm run dev # 默认 http://localhost:5173 ``` ### 小程序 ```bash cd miniapp npm install npm run dev:mp-weixin # 生成到 unpackage/dist/dev/mp-weixin ``` 用微信开发者工具打开 `unpackage/dist/dev/mp-weixin` 目录进行调试。 ## 部署 项目使用 **Drone CI + Harbor + Docker Compose** 进行自动化部署。 推送代码到 `master` 分支后,Drone 自动执行: 1. 并行构建 3 个 Docker 镜像(admin-api、app-api、admin-web) 2. 推送到内网 Harbor 镜像仓库 3. SSH 到目标服务器执行 `docker compose pull && docker compose up -d` | 服务 | 默认端口 | |------|---------| | Admin API | 2801 | | App API | 2802 | | Admin Web | 2803 | 详见 [CI-CD部署文档.md](CI-CD部署文档.md)。 ## 相关文档 | 文档 | 说明 | |------|------| | [技术栈与开发规范](server/技术栈与开发规范.md) | 技术选型、项目结构、API 设计、安全规范 | | [数据库设计](server/数据库设计.md) | 表结构、字段说明、索引设计 | | [CI-CD部署文档](CI-CD部署文档.md) | Drone CI 流水线、Harbor 镜像管理、部署步骤 | | [需求文档](docs/需求文档.md) | 产品需求说明 |