更新文件结构,统一文档格式

This commit is contained in:
ylweng
2025-09-01 03:32:45 +08:00
parent 950ef70173
commit 23041faa2a
39 changed files with 817 additions and 111 deletions

View File

@@ -26,13 +26,13 @@ PROD_DB_PASSWORD=aiotAiot123!
PROD_DB_NAME=jiebandata
# Redis配置
REDIS_HOST=localhost
REDIS_HOST=redis.jiebanke.com
REDIS_PORT=6379
REDIS_PASSWORD=
REDIS_DB=0
# RabbitMQ配置
RABBITMQ_HOST=localhost
RABBITMQ_HOST=rabbitmq.jiebanke.com
RABBITMQ_PORT=5672
RABBITMQ_USERNAME=guest
RABBITMQ_PASSWORD=guest

View File

@@ -4,7 +4,7 @@ PORT=3000
HOST=0.0.0.0
# 数据库配置
DB_HOST=localhost
DB_HOST=mysql.jiebanke.com
DB_PORT=3306
DB_USER=root
DB_PASSWORD=your-mysql-password
@@ -30,7 +30,7 @@ SMTP_USER=your-email@gmail.com
SMTP_PASS=your-email-password
# Redis配置可选
REDIS_HOST=localhost
REDIS_HOST=redis.jiebanke.com
REDIS_PORT=6379
REDIS_PASSWORD=

View File

@@ -38,7 +38,7 @@ cp .env.example .env
2. 编辑 `.env` 文件,配置你的环境变量:
```env
MONGODB_URI=mongodb://localhost:27017/jiebanke
MONGODB_URI=mongodb://mongodb.jiebanke.com:27017/jiebanke
JWT_SECRET=your-super-secret-jwt-key
```
@@ -81,7 +81,7 @@ Content-Type: application/json
"username": "testuser",
"password": "password123",
"nickname": "测试用户",
"email": "test@example.com",
"email": "test@jiebanke.com",
"phone": "13800138000"
}
```

View File

@@ -39,7 +39,7 @@ npm install
```env
# 数据库配置
DB_HOST=localhost
DB_HOST=mysql.jiebanke.com
DB_PORT=3306
DB_USER=root
DB_PASSWORD=your-mysql-password
@@ -188,7 +188,7 @@ docker-compose up -d mysql
2. **配置本地环境变量**
```bash
# 使用本地Docker MySQL
export DB_HOST=localhost
export DB_HOST=mysql.jiebanke.com
export DB_PORT=3306
export DB_PASSWORD=rootpassword
export DB_DATABASE=jiebanke_dev

View File

@@ -22,7 +22,7 @@ const config = {
refreshExpiresIn: process.env.JWT_REFRESH_EXPIRES_IN || '30d'
},
redis: {
host: process.env.REDIS_HOST || 'localhost',
host: process.env.REDIS_HOST || 'redis.jiebanke.com',
port: process.env.REDIS_PORT || 6379,
password: process.env.REDIS_PASSWORD || ''
},
@@ -31,7 +31,7 @@ const config = {
allowedTypes: ['image/jpeg', 'image/png', 'image/gif']
},
cors: {
origin: process.env.CORS_ORIGIN || 'http://localhost:9000',
origin: process.env.CORS_ORIGIN || 'https://www.jiebanke.com',
credentials: true
}
},

View File

@@ -16,7 +16,7 @@ services:
- ./scripts/init-database.sql:/docker-entrypoint-initdb.d/init.sql
restart: unless-stopped
healthcheck:
test: ["CMD", "mysqladmin", "ping", "-h", "localhost", "-u", "root", "-p$$MYSQL_ROOT_PASSWORD"]
test: ["CMD", "mysqladmin", "ping", "-h", "mysql.jiebanke.com", "-u", "root", "-p$$MYSQL_ROOT_PASSWORD"]
interval: 10s
timeout: 5s
retries: 3

View File

@@ -53,8 +53,8 @@ INSERT INTO admins (username, password, email, role) VALUES
-- 插入测试用户账号
INSERT INTO users (username, password, email, phone, real_name, id_card, balance, credit_score) VALUES
('user1', '$2b$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi', 'user1@example.com', '13800138001', '张三', '110101199001011234', 1000.00, 95),
('user2', '$2b$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi', 'user2@example.com', '13800138002', '李四', '110101199002022345', 500.00, 85);
('user1', '$2b$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi', 'user1@jiebanke.com', '13800138001', '张三', '110101199001011234', 1000.00, 95),
('user2', '$2b$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi', 'user2@jiebanke.com', '13800138002', '李四', '110101199002022345', 500.00, 85);
-- 创建索引
CREATE INDEX idx_admins_username ON admins(username);

View File

@@ -11,7 +11,7 @@ const config = require('../config/env');
// 数据库配置
const dbConfig = {
host: process.env.DB_HOST || 'localhost',
host: process.env.DB_HOST || 'mysql.jiebanke.com',
port: process.env.DB_PORT || 3306,
user: process.env.DB_USER || 'root',
password: process.env.DB_PASSWORD || '',
@@ -44,7 +44,7 @@ const testData = {
{
username: 'user1',
password: 'user123',
email: 'user1@example.com',
email: 'user1@jiebanke.com',
nickname: '旅行爱好者',
avatar: null,
user_type: '普通用户',
@@ -53,7 +53,7 @@ const testData = {
{
username: 'merchant1',
password: 'merchant123',
email: 'merchant1@example.com',
email: 'merchant1@jiebanke.com',
nickname: '农家乐老板',
avatar: null,
user_type: '商家',

View File

@@ -8,7 +8,7 @@
const axios = require('axios');
// API配置
const API_BASE_URL = process.env.API_BASE_URL || 'http://localhost:3100';
const API_BASE_URL = process.env.API_BASE_URL || 'https://api.jiebanke.com';
const API_VERSION = process.env.API_VERSION || '/api/v1';
// 测试用例

View File

@@ -31,7 +31,7 @@ app.use(helmet());
app.use(cors({
origin: process.env.NODE_ENV === 'production'
? ['https://your-domain.com']
: ['http://localhost:9000', 'http://localhost:3000', 'http://localhost:3100', 'http://localhost:3150'],
: ['https://www.jiebanke.com', 'https://admin.jiebanke.com', 'https://api.jiebanke.com'],
credentials: true
}));
@@ -79,7 +79,7 @@ app.use('/uploads', express.static('uploads'));
// Swagger文档路由
if (process.env.NODE_ENV === 'development' || process.env.ENABLE_SWAGGER === 'true') {
app.use('/api-docs', swaggerUi.serve, swaggerUi.setup(swaggerSpec));
console.log('📚 Swagger文档已启用: http://localhost:3100/api-docs');
console.log('📚 Swagger文档已启用: https://api.jiebanke.com/api-docs');
}
// 健康检查路由

View File

@@ -11,7 +11,7 @@ class RabbitMQConfig {
// 获取连接URL
getConnectionUrl() {
const host = process.env.RABBITMQ_HOST || 'localhost';
const host = process.env.RABBITMQ_HOST || 'rabbitmq.jiebanke.com';
const port = process.env.RABBITMQ_PORT || 5672;
const username = process.env.RABBITMQ_USERNAME || 'guest';
const password = process.env.RABBITMQ_PASSWORD || 'guest';
@@ -165,7 +165,7 @@ class RabbitMQConfig {
return {
status: 'healthy',
host: process.env.RABBITMQ_HOST || 'localhost',
host: process.env.RABBITMQ_HOST || 'rabbitmq.jiebanke.com',
port: process.env.RABBITMQ_PORT || 5672,
connected: this.isConnected
};
@@ -173,7 +173,7 @@ class RabbitMQConfig {
return {
status: 'unhealthy',
error: error.message,
host: process.env.RABBITMQ_HOST || 'localhost',
host: process.env.RABBITMQ_HOST || 'rabbitmq.jiebanke.com',
port: process.env.RABBITMQ_PORT || 5672,
connected: false
};

View File

@@ -10,7 +10,7 @@ class RedisConfig {
createClient() {
const redisConfig = {
socket: {
host: process.env.REDIS_HOST || 'localhost',
host: process.env.REDIS_HOST || 'redis.jiebanke.com',
port: process.env.REDIS_PORT || 6379,
reconnectStrategy: (retries) => {
const delay = Math.min(retries * 100, 3000);
@@ -66,7 +66,7 @@ class RedisConfig {
// 开发环境下如果Redis未配置则不连接
if (process.env.NODE_ENV === 'development' &&
(!process.env.REDIS_HOST || process.env.REDIS_HOST === 'localhost')) {
(!process.env.REDIS_HOST || process.env.REDIS_HOST === 'redis.jiebanke.com')) {
console.log('⚠️ 开发环境未配置Redis跳过连接');
return null;
}
@@ -94,7 +94,7 @@ class RedisConfig {
getStatus() {
return {
isConnected: this.isConnected,
host: process.env.REDIS_HOST || 'localhost',
host: process.env.REDIS_HOST || 'redis.jiebanke.com',
port: process.env.REDIS_PORT || 6379
};
}

View File

@@ -10,7 +10,7 @@ const options = {
},
servers: [
{
url: 'http://localhost:3001/api/v1',
url: 'https://admin.jiebanke.com/api/v1',
description: '开发环境服务器'
},
{

View File

@@ -21,7 +21,7 @@ const options = {
},
servers: [
{
url: 'http://localhost:3100/api/v1',
url: 'https://api.jiebanke.com/api/v1',
description: '开发环境'
},
{
@@ -113,7 +113,7 @@ const options = {
},
avatar: {
type: 'string',
example: 'https://example.com/avatar.jpg'
example: 'https://www.jiebanke.com/avatar.jpg'
},
role: {
type: 'string',

View File

@@ -42,7 +42,7 @@ const router = express.Router()
* email:
* type: string
* description: 邮箱
* example: test@example.com
* example: test@jiebanke.com
* phone:
* type: string
* description: 手机号

View File

@@ -13,7 +13,7 @@ class Database {
try {
// 连接数据库
const mongodbUri = process.env.MONGODB_URI || 'mongodb://localhost:27017/jiebanke'
const mongodbUri = process.env.MONGODB_URI || 'mongodb://mongodb.jiebanke.com:27017/jiebanke'
await this.mongoose.connect(mongodbUri, {
useNewUrlParser: true,
useUnifiedTopology: true

View File

@@ -4,7 +4,7 @@ const http = require('http');
function testHealthCheck() {
return new Promise((resolve, reject) => {
const options = {
hostname: 'localhost',
hostname: 'api.jiebanke.com',
port: 3000,
path: '/health',
method: 'GET'
@@ -43,7 +43,7 @@ function testAuthAPI() {
});
const options = {
hostname: 'localhost',
hostname: 'api.jiebanke.com',
port: 3000,
path: '/api/v1/auth/login',
method: 'POST',

View File

@@ -2,7 +2,7 @@ const http = require('http');
// 发送请求到Swagger UI
const options = {
hostname: 'localhost',
hostname: 'admin.jiebanke.com',
port: 3001,
path: '/api-docs/',
method: 'GET'