Files
admin 06488f0237 Initial commit: 帮我选盲选应用
功能:
- Go后端 (Gin + GORM + PostgreSQL)
- UniApp用户端 (iOS/Android/小程序)
- DaisyUI5后台管理
- JWT认证 + 微信登录
- 盲选加权算法
- 会员系统 + 优惠券
- 打分评价 + 偏好学习
2026-06-08 20:18:31 +00:00

180 lines
3.7 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 🎲 帮我选 - 盲选应用
> 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. 后端启动
```bash
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 前端
```bash
cd frontend-app
# 安装依赖
npm install
# H5 开发
npm run dev:h5
# 微信小程序
npm run dev:mp-weixin
# 构建
npm run build:mp-weixin
```
### 3. 后台管理
```bash
cd frontend-admin
# 安装依赖
npm install
# 开发
npm run dev
# 构建
npm run build
```
## 🐳 Docker 部署
```bash
# 后端
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
```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