# 立即修复注册问题

## 🚨 当前问题

注册时返回 500 错误，Supabase 中没有创建用户记录。

**原因**：
- `ENABLE_EMAIL_AUTOCONFIRM=false` - 需要发送确认邮件
- SMTP 配置错误（`supabase-mail` 服务无法发送邮件）
- 当邮件发送失败时，Supabase 不会创建用户

## ✅ 立即解决方案

### 步骤 1：修改 Supabase 配置

编辑文件：`supabase_pro/.env`

找到这一行：
```env
ENABLE_EMAIL_AUTOCONFIRM=false
```

改为：
```env
ENABLE_EMAIL_AUTOCONFIRM=true
```

### 步骤 2：重启 Supabase Auth 服务

```bash
cd supabase_pro
docker-compose restart auth
```

或者重启整个 Supabase：
```bash
docker-compose restart
```

### 步骤 3：验证配置

```bash
# 检查配置是否生效
grep ENABLE_EMAIL_AUTOCONFIRM supabase_pro/.env
```

应该显示：`ENABLE_EMAIL_AUTOCONFIRM=true`

### 步骤 4：测试注册

1. 在前端注册新用户
2. 应该看到 "注册成功" 提示
3. 自动跳转到登录页面
4. 使用注册的邮箱和密码登录
5. 应该可以成功登录

---

## 🔍 验证用户是否创建

在 Supabase Dashboard (http://192.168.1.61:3000) 的 SQL Editor 中执行：

```sql
-- 检查最新注册的用户
SELECT id, email, email_confirmed_at, created_at 
FROM auth.users 
ORDER BY created_at DESC 
LIMIT 5;

-- 检查 ak_users 表
SELECT id, email, username, created_at 
FROM ak_users 
ORDER BY created_at DESC 
LIMIT 5;
```

---

## 📝 配置说明

### 开发环境推荐配置

```env
## Email auth
ENABLE_EMAIL_SIGNUP=true
ENABLE_EMAIL_AUTOCONFIRM=true  # 跳过邮件验证，注册后立即可以登录
```

**优点**：
- ✅ 注册后立即可以登录
- ✅ 无需配置 SMTP 服务
- ✅ 适合开发和测试

### 生产环境配置

如果需要邮件验证，配置真实的 SMTP 服务：

```env
ENABLE_EMAIL_AUTOCONFIRM=false
SMTP_HOST=smtp.example.com
SMTP_PORT=587
SMTP_USER=your-smtp-user
SMTP_PASS=your-smtp-password
```

---

## ⚠️ 重要提示

**修改配置后必须重启 Supabase Auth 服务**，否则配置不会生效。

```bash
cd supabase_pro
docker-compose restart auth
```
