# 🚀 Soul派对小程序 - 部署完成说明

**部署时间**: 2025年1月14日  
**配置状态**: ✅ 已完成配置

---

## ✅ 当前配置信息

### 小程序配置

| 项目 | 配置值 |
|------|--------|
| **AppID** | `wx0976665c3a3d5a7c` |
| **AppSecret** | `a262f1be43422f03734f205d0bca1882` |
| **API域名** | `http://kr-soul.lytiao.com` |
| **API路径** | `http://kr-soul.lytiao.com/api` |

### 已配置文件

✅ `miniprogram/project.config.json` - AppID已配置  
✅ `miniprogram/app.js` - API地址已配置  
✅ `.env.production` - 生产环境配置  
✅ `app/api/wechat/login/route.ts` - 微信登录接口  
✅ `app/api/book/latest-chapters/route.ts` - 章节接口  

---

## 🎯 快速测试（3步骤）

### 第1步：启动本地服务器

\`\`\`bash
cd "/Users/karuo/Documents/开发/3、自营项目/一场soul的创业实验"

# 安装依赖（如果还没安装）
pnpm install

# 启动开发服务器
pnpm dev
\`\`\`

✅ 看到 `Ready in 2.3s` 表示成功

---

### 第2步：打开微信开发者工具

1. 打开微信开发者工具
2. 点击 **"导入项目"**
3. 选择目录：
   \`\`\`
   /Users/karuo/Documents/开发/3、自营项目/一场soul的创业实验/miniprogram
   \`\`\`
4. AppID会自动识别：`wx0976665c3a3d5a7c`
5. 点击 **"导入"**

---

### 第3步：本地联调测试

在微信开发者工具中：

1. 点击右上角 **"详情"**
2. 找到 **"本地设置"**
3. 勾选 **"不校验合法域名、web-view（业务域名）、TLS 版本以及 HTTPS 证书"**
4. 点击 **"编译"** 按钮

✅ 现在可以在模拟器中测试了！

---

## 📱 功能测试清单

### 首页测试

- [ ] 书籍封面显示
- [ ] 最新章节列表
- [ ] 点击章节跳转
- [ ] 购买按钮响应

### 匹配书友测试

- [ ] 星空动画流畅
- [ ] 匹配功能运行
- [ ] 匹配成功显示

### 我的页面测试

- [ ] 点击登录功能
- [ ] 分销中心展示
- [ ] 海报生成功能

### 阅读页测试

- [ ] 章节内容加载
- [ ] 目录侧滑
- [ ] 书签功能

---

## 🌐 正式部署到服务器

### 域名配置检查

你的域名：`http://kr-soul.lytiao.com`

#### ⚠️ 重要：需要配置HTTPS

小程序要求所有网络请求必须使用HTTPS！

**配置SSL证书步骤**：

1. 登录阿里云控制台
2. 进入 **"SSL证书"** 服务
3. 申请免费SSL证书（DV证书）
4. 下载证书文件
5. 在服务器上配置证书

**配置后域名应该是**：
\`\`\`
https://kr-soul.lytiao.com
\`\`\`

---

### 服务器部署步骤

#### 1. 将代码上传到服务器

\`\`\`bash
# 方式1：使用Git
cd /var/www
git clone your-repo-url soul-party
cd soul-party

# 方式2：使用SCP上传
scp -r ./一场soul的创业实验 root@kr-soul.lytiao.com:/var/www/soul-party
\`\`\`

#### 2. 安装依赖并构建

\`\`\`bash
# 在服务器上执行
cd /var/www/soul-party

# 安装依赖
npm install

# 构建生产版本
npm run build
\`\`\`

#### 3. 使用PM2启动服务

\`\`\`bash
# 安装PM2（如果没有）
npm install -g pm2

# 启动服务
pm2 start npm --name "soul-party" -- start

# 设置开机自启
pm2 startup
pm2 save
\`\`\`

#### 4. 配置Nginx反向代理

创建Nginx配置文件：`/etc/nginx/sites-available/soul-party`

\`\`\`nginx
server {
    listen 80;
    server_name kr-soul.lytiao.com;
    
    # 强制跳转HTTPS
    return 301 https://$server_name$request_uri;
}

server {
    listen 443 ssl http2;
    server_name kr-soul.lytiao.com;
    
    # SSL证书配置
    ssl_certificate /path/to/your/cert.pem;
    ssl_certificate_key /path/to/your/key.pem;
    
    # API代理
    location /api {
        proxy_pass http://localhost:3000;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
    }
    
    # 静态文件
    location / {
        proxy_pass http://localhost:3000;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
    }
}
\`\`\`

启用配置：

\`\`\`bash
# 创建软链接
ln -s /etc/nginx/sites-available/soul-party /etc/nginx/sites-enabled/

# 测试配置
nginx -t

# 重启Nginx
systemctl restart nginx
\`\`\`

---

### 小程序后台配置

#### 1. 登录小程序后台

访问：https://mp.weixin.qq.com/

使用AppID `wx0976665c3a3d5a7c` 对应的账号登录

#### 2. 配置服务器域名

**开发管理** → **开发设置** → **服务器域名**

添加以下域名：

\`\`\`
request合法域名:
https://kr-soul.lytiao.com

uploadFile合法域名:
https://kr-soul.lytiao.com

downloadFile合法域名:
https://kr-soul.lytiao.com
\`\`\`

⚠️ **注意**：必须是HTTPS域名，HTTP会被拒绝！

#### 3. 配置业务域名（可选）

如果需要在小程序内打开网页：

**开发管理** → **开发设置** → **业务域名**

添加：`kr-soul.lytiao.com`

---

## 📤 上传代码到微信后台

### 1. 上传代码

在微信开发者工具中：

1. 点击工具栏 **"上传"** 按钮
2. 填写版本号：`1.0.0`
3. 填写项目备注：`Soul派对小程序正式版`
4. 点击 **"上传"**

✅ 上传成功后，代码会出现在小程序后台

---

### 2. 提交审核

登录小程序后台：

1. **版本管理** → **开发版本**
2. 找到刚上传的版本
3. 点击 **"提交审核"**
4. 填写审核信息：
   - 类别：图书/阅读
   - 标签：电子书、创业、私域运营
   - 功能说明：提供电子书阅读和分销功能

审核时间：通常1-3个工作日

---

### 3. 发布上线

审核通过后：

1. **版本管理** → **审核版本**
2. 点击 **"发布"**
3. 全量发布给所有用户

🎉 **上线成功！**

---

## 🔧 本地开发配置

### 方式1：使用本地API（推荐开发时）

**文件**: `miniprogram/app.js`

\`\`\`javascript
apiBase: 'http://localhost:3000/api'
\`\`\`

然后在开发者工具中勾选 **"不校验合法域名"**

---

### 方式2：使用线上API

**文件**: `miniprogram/app.js`

\`\`\`javascript
apiBase: 'https://kr-soul.lytiao.com/api'
\`\`\`

必须配置好HTTPS和域名白名单

---

## 📊 API接口测试

### 测试微信登录接口

\`\`\`bash
curl -X POST http://kr-soul.lytiao.com/api/wechat/login \
  -H "Content-Type: application/json" \
  -d '{"code":"test_code"}'
\`\`\`

### 测试章节列表接口

\`\`\`bash
curl http://kr-soul.lytiao.com/api/book/latest-chapters
\`\`\`

### 测试后台管理接口

\`\`\`bash
curl http://kr-soul.lytiao.com/api/admin
\`\`\`

---

## 🎨 生成小程序码

### 方式1：使用微信开发者工具

1. 点击工具栏 **"预览"**
2. 自动生成小程序码
3. 用微信扫码即可预览

---

### 方式2：使用官方API生成

需要调用微信接口：

\`\`\`javascript
// 获取小程序码
POST https://api.weixin.qq.com/wxa/getwxacode?access_token=TOKEN

{
  "path": "pages/index/index",
  "width": 430
}
\`\`\`

会生成二维码图片，保存后可分享

---

## ⚠️ 常见问题

### Q1: 提示"不在以下request合法域名列表中"

**解决**：
1. 开发时：勾选"不校验合法域名"
2. 正式环境：在小程序后台配置域名白名单

---

### Q2: API请求失败

**检查清单**：
- [ ] 服务器是否启动？
- [ ] 域名是否配置HTTPS？
- [ ] 小程序后台是否配置域名？
- [ ] API接口是否正常？

---

### Q3: 登录失败

**解决**：
1. 检查AppID和AppSecret是否正确
2. 查看控制台错误信息
3. 确认微信登录接口正常

---

## 📞 技术支持

### 联系方式

- **项目路径**: `/Users/karuo/Documents/开发/3、自营项目/一场soul的创业实验`

### 快速命令

\`\`\`bash
# 启动开发服务器
cd "/Users/karuo/Documents/开发/3、自营项目/一场soul的创业实验"
pnpm dev

# 构建生产版本
pnpm build

# 启动生产服务器
pnpm start

# 查看日志（如果使用PM2）
pm2 logs soul-party
\`\`\`

---

## ✅ 配置完成清单

- [x] AppID配置完成
- [x] API地址配置完成
- [x] 微信登录接口创建完成
- [x] 书籍接口创建完成
- [x] 环境变量配置完成
- [x] 部署脚本创建完成
- [ ] HTTPS证书配置（需要在服务器上操作）
- [ ] 小程序后台域名配置（需要在微信后台操作）
- [ ] 代码上传审核（需要在开发者工具操作）

---

## 🎉 下一步

1. **本地测试** - 在开发者工具中测试所有功能
2. **服务器部署** - 将代码部署到 `kr-soul.lytiao.com`
3. **配置HTTPS** - 申请并配置SSL证书
4. **配置域名** - 在小程序后台配置服务器域名
5. **提交审核** - 上传代码并提交审核
6. **发布上线** - 审核通过后发布

---

**祝部署顺利！** 🚀
