|
|
||
|---|---|---|
| admin-web | ||
| backend | ||
| miniprogram | ||
| .gitignore | ||
| dating_app.sql | ||
| README.md | ||
| 上线准备清单.md | ||
| 前端未完成功能清单.md | ||
| 功能差距清单.md | ||
| 后台使用说明.md | ||
| 后台前端与后端系统从零到一上线教程.md | ||
| 后端未完成功能清单.md | ||
| 启动记录.md | ||
| 小程序问题修复方案.md | ||
| 开发规划.md | ||
| 当前完成度与交付说明.md | ||
| 演示数据说明.md | ||
| 相亲小程序开发详情.md | ||
| 系统修复清单.md | ||
| 系统整体未完成功能清单.md | ||
| 需求补充计划.md | ||
| 验收清单.md | ||
相亲小程序项目 README
1. 项目简介
这是一个基于微信小程序的相亲活动与匹配平台,包含 3 个子系统:
backend/:Python FastAPI 后端miniprogram/:微信小程序原生前端admin-web/:Vue3 + Element Plus 后台管理端
当前系统已经完成基础主链路:
- 微信登录
- 用户资料编辑与提交审核
- 后台审核
- 活动发布、报名、查看我的活动
- 匹配候选、感兴趣、我的匹配
- AI 推荐基础能力
- 公告管理与首页公告展示
- 后台活动管理、公告管理、数据看板
2. 目录结构
xqxcx/
├── backend/ # FastAPI 后端
├── miniprogram/ # 微信小程序
├── admin-web/ # Vue3 后台管理端
├── 开发规划.md
├── 功能差距清单.md
├── 验收清单.md
├── 上线准备清单.md
└── README.md
3. 环境要求
建议本地环境如下:
- Python 3.11
- Node.js 18+
- npm 9+
- MySQL 8.0
- Redis 7.x
- 微信开发者工具
4. 首次启动前准备
4.1 准备数据库
先创建数据库:
CREATE DATABASE dating_app DEFAULT CHARACTER SET utf8mb4;
4.2 准备 Redis
本地默认配置使用:
- Host:
127.0.0.1 - Port:
6379 - DB:
0
目前代码里 Redis 主要是预留配置,后续通知和缓存能力会继续接入。
5. 后端启动说明
5.1 进入后端目录
cd backend
5.2 创建虚拟环境
Windows PowerShell 示例:
python -m venv .venv
.\.venv\Scripts\Activate.ps1
5.3 安装依赖
pip install -r requirements.txt
5.4 配置环境变量
将 backend/.env.example 复制为 backend/.env,然后按实际环境修改。
最少需要确认这些配置:
MYSQL_HOST=127.0.0.1
MYSQL_PORT=3306
MYSQL_USER=root
MYSQL_PASSWORD=123456
MYSQL_DATABASE=dating_app
REDIS_HOST=127.0.0.1
REDIS_PORT=6379
REDIS_DB=0
JWT_SECRET_KEY=replace_with_a_secure_secret
WX_APPID=your_wx_appid
WX_SECRET=your_wx_secret
COS_REGION=ap-beijing
COS_SECRET_ID=your_cos_secret_id
COS_SECRET_KEY=your_cos_secret_key
COS_BUCKET=your_cos_bucket
COS_BASE_URL=https://your-bucket.cos.ap-beijing.myqcloud.com
5.5 执行数据库迁移
alembic upgrade head
5.6 初始化管理员账号
python scripts/init_admin.py
默认管理员账号:
- 用户名:
admin - 密码:
Admin@123456
第一次启动后请尽快修改密码。
5.7 启动后端服务
uvicorn main:app --reload
默认启动地址:
- 服务地址:
http://127.0.0.1:8000 - API 前缀:
http://127.0.0.1:8000/api/v1 - 健康检查:
http://127.0.0.1:8000/health
5.8 后端快速自检
可以先访问:
http://127.0.0.1:8000/health
如果返回:
{"status":"ok"}
说明后端已经正常启动。
6. 后台管理端启动说明
6.1 进入后台目录
cd admin-web
6.2 安装依赖
npm install
6.3 启动开发服务
npm run dev
默认会输出一个本地地址,通常类似:
http://127.0.0.1:5173
6.4 登录后台
使用管理员账号登录:
- 用户名:
admin - 密码:
Admin@123456
后台当前已支持:
- 登录
- 待审核队列
- 活动管理
- 公告管理
- 数据看板
7. 微信小程序启动说明
7.1 打开项目
使用微信开发者工具打开目录:
miniprogram/
7.2 检查接口地址
当前小程序默认使用本地接口:
miniprogram/utils/constants.jsminiprogram/app.js
默认地址为:
http://localhost:8000/api/v1
如果你的后端不是运行在本机,请改成实际地址。
7.3 开发者工具本地调试配置
如果你在本地联调,请在微信开发者工具中勾选:
不校验合法域名不校验 HTTPS 证书
否则会出现错误:
request:fail url not in domain list
7.4 真机调试说明
真机调试时不要使用 localhost,因为:
- 手机访问不到你电脑的
localhost - 微信小程序要求请求域名在后台配置合法域名
真机调试需要:
- 使用一个外网可访问的后端地址
- 最好使用 HTTPS
- 在微信公众平台配置
request 合法域名
8. 推荐启动顺序
建议按下面顺序启动:
- 启动 MySQL
- 启动 Redis
- 启动后端
backend/ - 启动后台
admin-web/ - 使用微信开发者工具打开
miniprogram/
9. 常见问题
9.1 小程序报错 request:fail url not in domain list
原因:
- 当前请求域名不在微信合法域名列表里
- 或开发者工具未关闭合法域名校验
解决方式:
- 本地开发时在微信开发者工具里关闭域名校验
- 真机或上线时,换成 HTTPS 域名并配置到微信公众平台
9.2 后台登录失败
检查:
- 后端是否已启动
- 是否已执行
python scripts/init_admin.py - 默认账号密码是否被修改
9.3 数据库迁移失败
检查:
backend/.env中的 MySQL 配置是否正确- 数据库
dating_app是否已创建 - MySQL 服务是否已经启动
9.4 小程序图片不显示
当前代码已经清理了远程占位图依赖。
如果真实图片不显示,通常是:
- 返回的图片地址不可访问
- 图片域名不在微信合法域名配置中
10. 当前功能完成情况
当前已完成:
- 用户登录、资料编辑、审核提交
- 后台审核
- 活动列表、详情、报名、我的活动
- 匹配候选、感兴趣、我的匹配
- AI 推荐基础能力
- 公告列表、详情、后台公告管理
- 后台活动管理、数据看板
- 后端统一错误响应
- 项目启动文档、验收清单、上线准备清单
当前仍建议继续补充:
- 微信订阅消息
- Redis 推荐缓存与频控
- COS 真实上传
- 更完整的后台用户管理与系统设置
- 自动化测试
- 生产部署验证
11. 相关文档
根目录已提供这些文档:
相亲小程序开发详情.md开发规划.md功能差距清单.md验收清单.md上线准备清单.md
建议使用顺序:
- 先看
README.md启动项目 - 再按
验收清单.md做联调 - 最后按
上线准备清单.md准备部署