Go to file
2026-04-17 19:26:32 +08:00
admin-web 第一次提交 2026-04-17 10:49:14 +08:00
backend 修复头像问题 2026-04-17 19:26:32 +08:00
miniprogram 修复头像问题 2026-04-17 19:26:32 +08:00
.gitignore 修复头像问题 2026-04-17 19:26:32 +08:00
README.md 第一次提交 2026-04-17 10:49:14 +08:00
上线准备清单.md 第一次提交 2026-04-17 10:49:14 +08:00
前端未完成功能清单.md 第一次提交 2026-04-17 10:49:14 +08:00
功能差距清单.md 第一次提交 2026-04-17 10:49:14 +08:00
后台使用说明.md 第一次提交 2026-04-17 10:49:14 +08:00
后端未完成功能清单.md 第一次提交 2026-04-17 10:49:14 +08:00
启动记录.md 第一次提交 2026-04-17 10:49:14 +08:00
开发规划.md 第一次提交 2026-04-17 10:49:14 +08:00
当前完成度与交付说明.md 第一次提交 2026-04-17 10:49:14 +08:00
演示数据说明.md 第一次提交 2026-04-17 10:49:14 +08:00
相亲小程序开发详情.md 第一次提交 2026-04-17 10:49:14 +08:00
系统修复清单.md 第一次提交 2026-04-17 10:49:14 +08:00
系统整体未完成功能清单.md 第一次提交 2026-04-17 10:49:14 +08:00
验收清单.md 第一次提交 2026-04-17 10:49:14 +08:00

相亲小程序项目 README

1. 项目简介

这是一个基于微信小程序的相亲活动与匹配平台,包含 3 个子系统:

  1. backend/Python FastAPI 后端
  2. miniprogram/:微信小程序原生前端
  3. admin-web/Vue3 + Element Plus 后台管理端

当前系统已经完成基础主链路:

  1. 微信登录
  2. 用户资料编辑与提交审核
  3. 后台审核
  4. 活动发布、报名、查看我的活动
  5. 匹配候选、感兴趣、我的匹配
  6. AI 推荐基础能力
  7. 公告管理与首页公告展示
  8. 后台活动管理、公告管理、数据看板

2. 目录结构

xqxcx/
├── backend/                # FastAPI 后端
├── miniprogram/            # 微信小程序
├── admin-web/              # Vue3 后台管理端
├── 开发规划.md
├── 功能差距清单.md
├── 验收清单.md
├── 上线准备清单.md
└── README.md

3. 环境要求

建议本地环境如下:

  1. Python 3.11
  2. Node.js 18+
  3. npm 9+
  4. MySQL 8.0
  5. Redis 7.x
  6. 微信开发者工具

4. 首次启动前准备

4.1 准备数据库

先创建数据库:

CREATE DATABASE dating_app DEFAULT CHARACTER SET utf8mb4;

4.2 准备 Redis

本地默认配置使用:

  1. Host127.0.0.1
  2. Port6379
  3. DB0

目前代码里 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

默认管理员账号:

  1. 用户名:admin
  2. 密码:Admin@123456

第一次启动后请尽快修改密码。

5.7 启动后端服务

uvicorn main:app --reload

默认启动地址:

  1. 服务地址:http://127.0.0.1:8000
  2. API 前缀:http://127.0.0.1:8000/api/v1
  3. 健康检查: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 登录后台

使用管理员账号登录:

  1. 用户名:admin
  2. 密码:Admin@123456

后台当前已支持:

  1. 登录
  2. 待审核队列
  3. 活动管理
  4. 公告管理
  5. 数据看板

7. 微信小程序启动说明

7.1 打开项目

使用微信开发者工具打开目录:

miniprogram/

7.2 检查接口地址

当前小程序默认使用本地接口:

  1. miniprogram/utils/constants.js
  2. miniprogram/app.js

默认地址为:

http://localhost:8000/api/v1

如果你的后端不是运行在本机,请改成实际地址。

7.3 开发者工具本地调试配置

如果你在本地联调,请在微信开发者工具中勾选:

  1. 不校验合法域名
  2. 不校验 HTTPS 证书

否则会出现错误:

request:fail url not in domain list

7.4 真机调试说明

真机调试时不要使用 localhost,因为:

  1. 手机访问不到你电脑的 localhost
  2. 微信小程序要求请求域名在后台配置合法域名

真机调试需要:

  1. 使用一个外网可访问的后端地址
  2. 最好使用 HTTPS
  3. 在微信公众平台配置 request 合法域名

8. 推荐启动顺序

建议按下面顺序启动:

  1. 启动 MySQL
  2. 启动 Redis
  3. 启动后端 backend/
  4. 启动后台 admin-web/
  5. 使用微信开发者工具打开 miniprogram/

9. 常见问题

9.1 小程序报错 request:fail url not in domain list

原因:

  1. 当前请求域名不在微信合法域名列表里
  2. 或开发者工具未关闭合法域名校验

解决方式:

  1. 本地开发时在微信开发者工具里关闭域名校验
  2. 真机或上线时,换成 HTTPS 域名并配置到微信公众平台

9.2 后台登录失败

检查:

  1. 后端是否已启动
  2. 是否已执行 python scripts/init_admin.py
  3. 默认账号密码是否被修改

9.3 数据库迁移失败

检查:

  1. backend/.env 中的 MySQL 配置是否正确
  2. 数据库 dating_app 是否已创建
  3. MySQL 服务是否已经启动

9.4 小程序图片不显示

当前代码已经清理了远程占位图依赖。

如果真实图片不显示,通常是:

  1. 返回的图片地址不可访问
  2. 图片域名不在微信合法域名配置中

10. 当前功能完成情况

当前已完成:

  1. 用户登录、资料编辑、审核提交
  2. 后台审核
  3. 活动列表、详情、报名、我的活动
  4. 匹配候选、感兴趣、我的匹配
  5. AI 推荐基础能力
  6. 公告列表、详情、后台公告管理
  7. 后台活动管理、数据看板
  8. 后端统一错误响应
  9. 项目启动文档、验收清单、上线准备清单

当前仍建议继续补充:

  1. 微信订阅消息
  2. Redis 推荐缓存与频控
  3. COS 真实上传
  4. 更完整的后台用户管理与系统设置
  5. 自动化测试
  6. 生产部署验证

11. 相关文档

根目录已提供这些文档:

  1. 相亲小程序开发详情.md
  2. 开发规划.md
  3. 功能差距清单.md
  4. 验收清单.md
  5. 上线准备清单.md

建议使用顺序:

  1. 先看 README.md 启动项目
  2. 再按 验收清单.md 做联调
  3. 最后按 上线准备清单.md 准备部署