3.7 KiB
3.7 KiB
部署上线指南
环境要求
| 项目 | 要求 |
|---|---|
| Node.js | >= 20.0.0 |
| npm | >= 10.0.0 |
| MySQL | >= 8.0 |
本地开发
安装依赖
npm install
启动开发服务器
npm run dev
访问地址
环境变量
创建 .env.local 文件:
# 数据库配置
DATABASE_URL=mysql://user:password@localhost:3306/soul_startup
# 存客宝API
CKB_API_KEY=your_api_key_here
# 微信支付
WECHAT_APP_ID=your_app_id
WECHAT_APP_SECRET=your_app_secret
WECHAT_MERCHANT_ID=your_merchant_id
WECHAT_API_KEY=your_api_key
生产构建
构建
npm run build
启动
npm run start
数据库配置
创建数据库
CREATE DATABASE soul_startup CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
主要数据表
-- 用户表
CREATE TABLE users (
id VARCHAR(36) PRIMARY KEY,
phone VARCHAR(20) NOT NULL,
nickname VARCHAR(50),
is_admin BOOLEAN DEFAULT FALSE,
referral_code VARCHAR(20),
referred_by VARCHAR(20),
earnings DECIMAL(10,2) DEFAULT 0,
pending_earnings DECIMAL(10,2) DEFAULT 0,
wechat VARCHAR(50),
alipay VARCHAR(50),
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
-- 购买记录表
CREATE TABLE purchases (
id VARCHAR(36) PRIMARY KEY,
user_id VARCHAR(36) NOT NULL,
type ENUM('section', 'fullbook') NOT NULL,
section_id VARCHAR(20),
amount DECIMAL(10,2) NOT NULL,
status ENUM('pending', 'completed', 'failed') DEFAULT 'pending',
payment_method VARCHAR(20),
referrer_earnings DECIMAL(10,2),
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
-- 提现记录表
CREATE TABLE withdrawals (
id VARCHAR(36) PRIMARY KEY,
user_id VARCHAR(36) NOT NULL,
amount DECIMAL(10,2) NOT NULL,
method VARCHAR(20) NOT NULL,
account VARCHAR(100) NOT NULL,
name VARCHAR(50) NOT NULL,
status ENUM('pending', 'approved', 'rejected', 'completed') DEFAULT 'pending',
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
processed_at TIMESTAMP
);
-- 分销绑定表
CREATE TABLE referral_bindings (
id VARCHAR(36) PRIMARY KEY,
referrer_id VARCHAR(36) NOT NULL,
visitor_id VARCHAR(36) NOT NULL,
binding_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
expire_time TIMESTAMP NOT NULL,
status ENUM('active', 'converted', 'expired') DEFAULT 'active'
);
微信支付配置
1. 注册商户号
在微信支付商户平台注册
2. 获取API密钥
商户平台 → 账户中心 → API安全 → 设置API密钥
3. 配置回调地址
https://your-domain.com/api/payment/notify
Vercel部署
1. 连接GitHub仓库
vercel link
2. 配置环境变量
在Vercel项目设置中添加环境变量
3. 部署
vercel --prod
服务器部署
使用PM2
# 安装PM2
npm install -g pm2
# 构建项目
npm run build
# 启动服务
pm2 start npm --name "soul-startup" -- start
# 保存进程
pm2 save
# 开机自启
pm2 startup
Nginx配置
server {
listen 80;
server_name your-domain.com;
location / {
proxy_pass http://127.0.0.1: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;
}
}
检查清单
上线前检查
- 环境变量配置完整
- 数据库连接正常
- 微信支付配置正确
- 存客宝API配置正确
- HTTPS证书配置
- 域名解析配置
功能测试
- 用户注册/登录
- 章节阅读
- 支付购买
- 分销绑定
- 提现申请
- 找伙伴匹配
- 管理后台
文档版本:v2.0 | 更新日期:2026-01-18