Files
soul-yongping/开发文档/4、前端/ui/10-部署上线指南.md
2026-02-09 15:09:29 +08:00

3.7 KiB
Raw Blame History

部署上线指南

环境要求

项目 要求
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