main
功能: - Go后端 (Gin + GORM + PostgreSQL) - UniApp用户端 (iOS/Android/小程序) - DaisyUI5后台管理 - JWT认证 + 微信登录 - 盲选加权算法 - 会员系统 + 优惠券 - 打分评价 + 偏好学习
🎲 帮我选 - 盲选应用
AI驱动的盲选应用,让用户盲选吃喝玩乐套餐,支持会员盈利,通过用户历史行为智能更新偏好权重。
📱 项目结构
blind-select/
├── backend/ # Go 后端服务
│ ├── cmd/server/ # 入口文件
│ ├── internal/ # 核心代码
│ │ ├── handler/ # HTTP 处理器
│ │ ├── middleware/ # 中间件 (JWT, CORS)
│ │ ├── model/ # 数据模型
│ │ ├── service/ # 业务逻辑
│ │ └── utils/ # 工具函数
│ ├── migrations/ # 数据库迁移
│ ├── config.yaml # 配置文件
│ └── Dockerfile
├── frontend-app/ # UniApp 用户端 (iOS/Android/小程序)
│ ├── pages/ # 页面
│ ├── api/ # API 封装
│ ├── store/ # 状态管理
│ └── App.vue
├── frontend-admin/ # DaisyUI5 后台管理
│ ├── src/
│ │ ├── views/ # 页面
│ │ ├── api/ # API 封装
│ │ └── router/ # 路由
│ └── index.html
└── PLAN.md # 详细开发文档
🛠 技术栈
| 组件 | 技术 |
|---|---|
| 后端 | Go + Gin + GORM + PostgreSQL |
| 用户端 | UniApp + Vue3 |
| 后台管理 | DaisyUI5 + Tailwind + Alpine.js |
| 认证 | JWT + 微信登录 |
| AI | OpenAI 兼容 API |
🚀 快速开始
1. 后端启动
cd backend
# 配置数据库
cp config.yaml.example config.yaml
# 编辑 config.yaml 填入数据库信息
# 安装依赖
go mod download
# 运行迁移
psql -U postgres -d blind_select < migrations/001_init.sql
# 启动服务
go run cmd/server/main.go
2. UniApp 前端
cd frontend-app
# 安装依赖
npm install
# H5 开发
npm run dev:h5
# 微信小程序
npm run dev:mp-weixin
# 构建
npm run build:mp-weixin
3. 后台管理
cd frontend-admin
# 安装依赖
npm install
# 开发
npm run dev
# 构建
npm run build
🐳 Docker 部署
# 后端
cd backend
docker-compose up -d
# 后台管理
cd frontend-admin
docker build -t blind-admin .
docker run -p 3000:80 blind-admin
📊 核心功能
盲选算法
权重 = 基础(1.0) × 用户偏好(1.0-2.5) × 套餐质量(0.5-1.0)
× 商家质量 × 去重惩罚(0.1-1.0) × 探索加成(1.0-1.5)
会员体系
- 免费用户: 每天3次盲选,基础分类
- VIP会员 (¥29/月 或 ¥199/年): 每天10次,全部分类,优先匹配,月报
打分权重更新
- 5星 → ×1.5 放大正向
- 1星 → ×-1.5 放大负向
- 再次前往 → +2.0 超高权重
🔌 API 端点
认证
POST /api/v1/auth/register- 注册POST /api/v1/auth/login- 登录POST /api/v1/auth/wechat/login- 微信登录
盲选
GET /api/v1/blind/categories- 获取分类POST /api/v1/blind/choose- 盲选GET /api/v1/blind/history- 历史
会员
GET /api/v1/member/status- 状态查询POST /api/v1/member/subscribe- 订阅
优惠券
GET /api/v1/coupon/list- 我的优惠券POST /api/v1/coupon/claim- 领取
后台管理
POST /api/v1/admin/login- 管理员登录GET /api/v1/admin/users- 用户列表GET /api/v1/admin/merchants- 商家列表
📝 配置说明
backend/config.yaml
server:
port: 8080
mode: debug
database:
host: localhost
port: 5432
user: postgres
password: your_password
dbname: blind_select
jwt:
secret: your_jwt_secret
expire: 24h
wechat:
appid: your_appid
secret: your_secret
📄 License
MIT License
Description
Languages
Vue
52.9%
Go
36.8%
JavaScript
6.6%
Shell
1.3%
Makefile
0.9%
Other
1.4%