From f1f864033d781cc1a710970ab988de560007259b Mon Sep 17 00:00:00 2001
From: admin <3364509428@qq.com>
Date: Sat, 18 Oct 2025 14:05:07 +0800
Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20README.md?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
README.md | 838 +++++++++++++++++++++++++++++++++++++++++++++++++++++-
1 file changed, 833 insertions(+), 5 deletions(-)
diff --git a/README.md b/README.md
index d3d4d9e..629b236 100644
--- a/README.md
+++ b/README.md
@@ -2,8 +2,836 @@
为Fuxsto-v4虚拟主机系统版本归档,发布时间:2025-3-7
-使用方法:
- - 1.git clone https://git.hztecha.com/admin/Fuxsto-V4.git
- - 2.然后放入网站目录
- - 3.启动nginx或apache(请注意设置伪静态,文件中用apache的伪静态,可转成nginx:https://www.toolnb.com/tools/rewriteTools.html)
- - 其他的自己摸索,我只是发布,希望有人能写好MD文档发我,感激不尽)
+# Fuxsto Host V4 详细使用文档
+
+## 📋 目录
+- [项目简介](#项目简介)
+- [系统要求](#系统要求)
+- [安装部署](#安装部署)
+- [数据库配置](#数据库配置)
+- [功能模块详解](#功能模块详解)
+- [API接口文档](#api接口文档)
+- [管理后台使用](#管理后台使用)
+- [产品模块开发](#产品模块开发)
+- [系统维护](#系统维护)
+- [常见问题](#常见问题)
+- [更新日志](#更新日志)
+
+## 🚀 项目简介
+
+Fuxsto Host V4 是一个基于 PHP + MySQL 的虚拟主机管理系统,提供用户注册、产品购买、业务管理等功能。系统采用前后端分离架构,前端使用 Vue.js,后端使用 PHP。
+
+### 主要特性
+- 🔐 用户认证系统(集成第三方登录)
+- 💰 积分和余额双货币系统
+- 📦 产品管理和购买系统
+- ⏰ 自动到期提醒和清理
+- 📊 用户仪表板
+- 🔧 模块化产品架构
+- 📧 邮件通知系统
+
+## 💻 系统要求
+
+### 服务器环境
+- **Web服务器**: Apache 2.4+ 或 Nginx 1.18+
+- **PHP版本**: PHP 7.4+ (推荐 PHP 8.0+)
+- **数据库**: MySQL 5.7+ 或 MariaDB 10.3+
+- **内存**: 最小 512MB,推荐 1GB+
+- **存储**: 最小 1GB 可用空间
+
+### PHP扩展要求
+```bash
+# 必需扩展
+php-mysqli
+php-json
+php-session
+php-curl
+php-mbstring
+
+# 可选扩展(推荐)
+php-gd
+php-zip
+php-xml
+```
+
+## 🛠️ 安装部署
+
+### 1. 下载项目
+```bash
+# 方式一:Git克隆
+git clone https://git.hztecha.com/admin/Fuxsto-V4.git
+cd Fuxsto-V4
+
+# 方式二:直接下载解压
+# 下载后解压到网站根目录
+```
+
+### 2. 文件权限设置
+```bash
+# Linux/Unix 系统
+chmod -R 755 /path/to/fuxsto-v4/
+chmod -R 777 /path/to/fuxsto-v4/Log/
+
+# Windows 系统
+# 确保 IIS_IUSRS 或 IUSR 用户有读写权限
+```
+
+### 3. Web服务器配置
+
+#### Apache 配置
+```apache
+# .htaccess 文件(项目根目录)
+RewriteEngine On
+
+# 处理前端路由
+RewriteCond %{REQUEST_FILENAME} !-f
+RewriteCond %{REQUEST_FILENAME} !-d
+RewriteCond %{REQUEST_URI} ^/Dashboard
+RewriteRule ^Dashboard/(.*)$ /Dashboard/index.html [L]
+
+# API路由重写
+RewriteCond %{REQUEST_FILENAME} !-f
+RewriteCond %{REQUEST_FILENAME} !-d
+RewriteRule ^Main/(.+)$ /Main/$1/index.php [L]
+
+# 静态文件缓存
+
+ ExpiresActive On
+ ExpiresDefault "access plus 1 month"
+
+```
+
+#### Nginx 配置
+```nginx
+server {
+ listen 80;
+ server_name your-domain.com;
+ root /path/to/fuxsto-v4;
+ index index.html index.php;
+
+ # 前端路由处理
+ location /Dashboard {
+ try_files $uri $uri/ /Dashboard/index.html;
+ }
+
+ # API路由处理
+ location ~ ^/Main/(.+)$ {
+ try_files $uri /Main/$1/index.php;
+ }
+
+ # PHP处理
+ location ~ \.php$ {
+ fastcgi_pass 127.0.0.1:9000;
+ fastcgi_index index.php;
+ fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
+ include fastcgi_params;
+ }
+
+ # 静态文件缓存
+ location ~* \.(css|js|png|jpg|jpeg|gif|ico|svg)$ {
+ expires 1M;
+ add_header Cache-Control "public, immutable";
+ }
+}
+```
+
+## 🗄️ 数据库配置
+
+### 1. 创建数据库
+```sql
+CREATE DATABASE fuxstohostv4 CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
+```
+
+### 2. 创建数据表
+
+#### 用户表 (users)
+```sql
+CREATE TABLE `users` (
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+ `username` varchar(50) NOT NULL UNIQUE,
+ `password` varchar(255) NOT NULL,
+ `qq` varchar(20) DEFAULT NULL,
+ `score` int(11) DEFAULT 100,
+ `balance` decimal(10,2) DEFAULT 0.00,
+ `status` enum('active','inactive','banned') DEFAULT 'active',
+ `last_sign_in_date` date DEFAULT NULL,
+ `register_time` timestamp DEFAULT CURRENT_TIMESTAMP,
+ `register_ip` varchar(45) DEFAULT NULL,
+ PRIMARY KEY (`id`),
+ KEY `idx_username` (`username`),
+ KEY `idx_status` (`status`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
+```
+
+#### 产品表 (products)
+```sql
+CREATE TABLE `products` (
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+ `product_id` varchar(50) NOT NULL UNIQUE,
+ `name` varchar(100) NOT NULL,
+ `description` text,
+ `price` decimal(10,2) NOT NULL,
+ `currency_type` enum('score','balance') DEFAULT 'score',
+ `stock` int(11) DEFAULT 0,
+ `limit_per_user` int(11) DEFAULT 1,
+ `subscription_period` int(11) DEFAULT 30,
+ `module` varchar(50) NOT NULL,
+ `category_1` varchar(50) DEFAULT NULL,
+ `category_2` varchar(50) DEFAULT NULL,
+ `sort_order` int(11) DEFAULT 0,
+ `status` enum('visible','hidden') DEFAULT 'visible',
+ `created_at` timestamp DEFAULT CURRENT_TIMESTAMP,
+ `updated_at` timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+ PRIMARY KEY (`id`),
+ KEY `idx_product_id` (`product_id`),
+ KEY `idx_status` (`status`),
+ KEY `idx_category` (`category_1`, `category_2`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
+```
+
+#### 购买记录表 (purchases)
+```sql
+CREATE TABLE `purchases` (
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+ `user_id` int(11) NOT NULL,
+ `product_id` varchar(50) NOT NULL,
+ `purchase_id` varchar(50) NOT NULL UNIQUE,
+ `name` varchar(100) NOT NULL,
+ `purchase_time` timestamp DEFAULT CURRENT_TIMESTAMP,
+ `expiry_time` datetime NOT NULL,
+ `status` enum('pending_activation','activated','expiring','expired') DEFAULT 'pending_activation',
+ `subscription_period` int(11) NOT NULL,
+ `extra_data` text,
+ PRIMARY KEY (`id`),
+ KEY `idx_user_id` (`user_id`),
+ KEY `idx_purchase_id` (`purchase_id`),
+ KEY `idx_status` (`status`),
+ KEY `idx_expiry` (`expiry_time`),
+ FOREIGN KEY (`user_id`) REFERENCES `users`(`id`) ON DELETE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
+```
+
+### 3. 修改数据库连接配置
+
+编辑 文件:
+
+```php
+function 数据库运行($sql) {
+ // 数据库连接参数 - 请修改为您的数据库信息
+ $servername = "localhost"; // 数据库服务器地址
+ $username = "your_db_username"; // 数据库用户名
+ $password = "your_db_password"; // 数据库密码
+ $dbname = "fuxstohostv4"; // 数据库名称
+
+ // 其余代码保持不变...
+}
+```
+
+## 🔧 功能模块详解
+
+### 1. 用户认证系统
+
+#### 登录流程
+1. 用户访问首页,点击登录按钮
+2. 系统重定向到第三方认证服务 (auth.fuxsto.cn)
+3. 用户完成认证后回调到
+4. 系统自动注册新用户或登录现有用户
+5. 设置 Session 并跳转到 Dashboard
+
+#### 认证配置
+在 中配置:
+```php
+$AppName = "Fuxsto Host V5"; // 应用名称
+$AppLogo = "https://hv4.fuxsto.cn/favicon.ico"; // 应用图标
+$AppInfo = "未注册的账号会自动注册!"; // 应用说明
+$AppUrl = "https://hv4.fuxsto.cn"; // 应用地址
+$AppCallBackUrl = "https://hv4.fuxsto.cn/Main/Login/CallBack.php"; // 回调地址
+$AppField = array("qq","id","username","password","register_time","register_ip"); // 需要的字段
+```
+
+### 2. 积分和余额系统
+
+#### 货币类型
+- **积分 (score)**: 通过签到获得,用于购买免费产品
+- **余额 (balance)**: 充值获得,用于购买付费产品
+
+#### 签到系统
+- 每日签到获得 80-200 随机积分
+- 防止重复签到机制
+- 签到状态检查:
+
+### 3. 产品管理系统
+
+#### 产品结构
+```php
+// 产品基本信息
+$产品元数据 = [
+ 'product_id' => 'unique_product_id',
+ 'name' => '产品名称',
+ 'price' => 100,
+ 'currency_type' => 'score', // 或 'balance'
+ 'stock' => 10,
+ 'limit_per_user' => 1,
+ 'subscription_period' => 30, // 天数
+ 'module' => 'HK-FREE-EP', // 产品模块
+ 'category_1' => '虚拟主机',
+ 'category_2' => '免费版'
+];
+```
+
+#### 购买流程
+1. 用户选择产品
+2. 系统检查库存和限购
+3. 验证用户余额/积分
+4. 扣除费用
+5. 调用产品模块开通服务
+6. 记录购买信息
+7. 更新库存
+
+### 4. 产品模块系统
+
+#### 模块结构
+```
+ProductsModule/
+└── HK-FREE-EP/ # 产品模块目录
+ ├── Main.php # 主要功能文件
+ └── s.html # 产品展示页面
+```
+
+#### 模块必需函数
+```php
+// Main.php 中必须实现的函数
+
+// 开通产品
+function 开通产品($产品元数据, $产品唯一标识符) {
+ // 实现产品开通逻辑
+ return [
+ 'code' => 200,
+ 'msg' => '开通成功',
+ 'data' => [] // 额外数据
+ ];
+}
+
+// 展示产品
+function 展示产品($业务元数据, $产品元数据) {
+ // 返回产品展示页面HTML
+ return file_get_contents('s.html');
+}
+
+// 删除业务
+function 删除业务($业务元数据, $产品元数据) {
+ // 实现业务删除逻辑
+ return ['code' => 200, 'msg' => '删除成功'];
+}
+
+// 生成唯一字符串
+function 唯一字符串() {
+ return 唯一随机字符串(10);
+}
+```
+
+## 📡 API接口文档
+
+### 基础响应格式
+```json
+{
+ "code": 200,
+ "msg": "操作成功或数据内容"
+}
+```
+
+### 用户相关接口
+
+#### 1. 用户信息获取
+- **接口**: `GET /Main/GetInfo/`
+- **说明**: 获取当前登录用户信息
+- **响应**:
+```json
+{
+ "code": 200,
+ "msg": {
+ "id": 1,
+ "username": "testuser",
+ "qq": "123456789",
+ "score": 150,
+ "balance": "10.50",
+ "can_check": true
+ }
+}
+```
+
+#### 2. 每日签到
+- **接口**: `POST /Main/CheckIn/`
+- **说明**: 用户每日签到获取积分
+- **响应**:
+```json
+{
+ "code": 200,
+ "msg": "获得积分 120"
+}
+```
+
+### 产品相关接口
+
+#### 1. 获取商品列表
+- **接口**: `GET /Main/GetGoods/`
+- **说明**: 获取所有可见商品,按分类组织
+- **响应**:
+```json
+{
+ "虚拟主机": {
+ "免费版": [
+ {
+ "product_id": "hk-free-001",
+ "name": "香港免费主机",
+ "price": "100",
+ "currency_type": "积分",
+ "stock": 10,
+ "description": "免费虚拟主机"
+ }
+ ]
+ }
+}
+```
+
+#### 2. 购买商品
+- **接口**: `POST /Main/BuyGoods/`
+- **参数**:
+ - `product_id`: 产品ID
+- **响应**:
+```json
+{
+ "code": 200,
+ "msg": "开通成功"
+}
+```
+
+#### 3. 获取用户产品
+- **接口**: `GET /Main/GetProducts/`
+- **说明**: 获取用户已购买的产品列表
+- **响应**:
+```json
+{
+ "code": 200,
+ "msg": [
+ {
+ "purchase_id": "abc123",
+ "name": "香港免费主机",
+ "purchase_time": "2025-01-01 10:00:00",
+ "expiry_time": "2025-01-31 10:00:00",
+ "status": "activated"
+ }
+ ]
+}
+```
+
+#### 4. 查看产品详情
+- **接口**: `GET /Main/ViewProduct/?id=purchase_id`
+- **说明**: 查看具体产品的详细信息和管理界面
+- **响应**: 返回产品模块的HTML页面
+
+## 🎛️ 管理后台使用
+
+### 访问地址
+- 前台首页: `http://your-domain.com/`
+- 用户仪表板: `http://your-domain.com/Dashboard/`
+
+### Dashboard 功能
+
+#### 1. 用户中心
+- 显示用户基本信息
+- 积分和余额显示
+- 每日签到功能
+
+#### 2. 产品管理
+- 查看已购买产品
+- 产品状态监控
+- 到期时间提醒
+
+#### 3. 商品购买
+- 浏览可用商品
+- 按分类筛选
+- 一键购买功能
+
+### 前端技术栈
+- **Vue.js 3**: 主框架
+- **Element Plus**: UI组件库
+- **Axios**: HTTP请求库
+- **Varlet UI**: 移动端组件库
+
+## 🔨 产品模块开发
+
+### 创建新产品模块
+
+#### 1. 创建模块目录
+```bash
+mkdir ProductsModule/YOUR-MODULE-NAME
+cd ProductsModule/YOUR-MODULE-NAME
+```
+
+#### 2. 创建 Main.php
+```php
+ $产品唯一标识符,
+ 'domain' => $产品元数据['name'],
+ 'plan' => 'free'
+ ]);
+
+ if ($result['success']) {
+ return [
+ 'code' => 200,
+ 'msg' => '开通成功',
+ 'data' => [
+ 'username' => $result['username'],
+ 'password' => $result['password'],
+ 'control_panel' => $result['cpanel_url']
+ ]
+ ];
+ } else {
+ return [
+ 'code' => 500,
+ 'msg' => '开通失败:' . $result['error']
+ ];
+ }
+ } catch (Exception $e) {
+ return [
+ 'code' => 500,
+ 'msg' => '系统错误:' . $e->getMessage()
+ ];
+ }
+}
+
+// 展示产品函数
+function 展示产品($业务元数据, $产品元数据) {
+ // 读取展示页面模板
+ $html = file_get_contents(__DIR__ . '/s.html');
+
+ // 替换模板变量
+ $html = str_replace('<业务元数据>', json_encode($业务元数据), $html);
+ $html = str_replace('<产品元数据>', json_encode($产品元数据), $html);
+
+ return $html;
+}
+
+// 删除业务函数
+function 删除业务($业务元数据, $产品元数据) {
+ try {
+ // 实现删除逻辑
+ $extra_data = json_decode($业务元数据['extra_data'], true);
+
+ // 示例:删除虚拟主机账户
+ $result = deleteHostingAccount($extra_data['username']);
+
+ return [
+ 'code' => 200,
+ 'msg' => '删除成功'
+ ];
+ } catch (Exception $e) {
+ return [
+ 'code' => 500,
+ 'msg' => '删除失败:' . $e->getMessage()
+ ];
+ }
+}
+
+// 生成唯一字符串
+function 唯一字符串() {
+ return 唯一随机字符串(10);
+}
+?>
+```
+
+#### 3. 创建展示页面 s.html
+```html
+
+
+
+
+
+ 产品管理
+
+
+
+
+
+
{{ productName }}
+
购买时间: {{ purchaseTime }}
+
到期时间: {{ expiryTime }}
+
状态: {{ status }}
+
+
+
账户信息
+
用户名: {{ productData.username }}
+
密码: {{ productData.password }}
+
控制面板
+
+
+
+
+
+
+
+```
+
+### 添加产品到数据库
+```sql
+INSERT INTO `products` (
+ `product_id`, `name`, `description`, `price`, `currency_type`,
+ `stock`, `limit_per_user`, `subscription_period`, `module`,
+ `category_1`, `category_2`, `sort_order`, `status`
+) VALUES (
+ 'your-product-001',
+ '您的产品名称',
+ '产品描述',
+ 100,
+ 'score',
+ 50,
+ 1,
+ 30,
+ 'YOUR-MODULE-NAME',
+ '主分类',
+ '子分类',
+ 100,
+ 'visible'
+);
+```
+
+## 🔧 系统维护
+
+### 1. 自动化任务
+
+#### 到期提醒任务
+- **文件**:
+- **功能**: 检查即将到期的产品,发送邮件提醒
+- **运行**: 建议每天运行一次
+
+```bash
+# 添加到 crontab
+0 9 * * * /usr/bin/php /path/to/fuxsto-v4/Main/System/ExpiryReminder.php
+```
+
+#### 过期产品清理
+- **文件**:
+- **功能**: 清理已过期的产品,释放资源
+- **运行**: 建议每天运行一次
+
+```bash
+# 添加到 crontab
+0 2 * * * /usr/bin/php /path/to/fuxsto-v4/Main/System/ExpiredProductsCleaner.php
+```
+
+### 2. 日志管理
+
+#### 日志位置
+- 到期提醒日志: `Log/ExpiryReminder/ExpiryReminder_YYYY-MM-DD.log`
+- 系统日志: `Main/System/Log/`
+
+#### 日志清理
+```bash
+# 清理30天前的日志
+find /path/to/fuxsto-v4/Log -name "*.log" -mtime +30 -delete
+```
+
+### 3. 数据库维护
+
+#### 定期优化
+```sql
+-- 优化表
+OPTIMIZE TABLE users, products, purchases;
+
+-- 清理过期数据
+DELETE FROM purchases WHERE status = 'expired' AND expiry_time < NOW() - INTERVAL 30 DAY;
+```
+
+#### 备份脚本
+```bash
+#!/bin/bash
+# 数据库备份脚本
+DATE=$(date +%Y%m%d_%H%M%S)
+mysqldump -u username -p password fuxstohostv4 > backup_$DATE.sql
+```
+
+### 4. 性能监控
+
+#### 关键指标
+- 数据库连接数
+- 响应时间
+- 错误率
+- 磁盘使用率
+
+#### 监控脚本示例
+```php
+ false,
+ 'disk_space' => false,
+ 'response_time' => 0
+];
+
+// 检查数据库连接
+$start_time = microtime(true);
+$result = 数据库运行("SELECT 1");
+$health['response_time'] = microtime(true) - $start_time;
+$health['database'] = ($result !== false);
+
+// 检查磁盘空间
+$free_space = disk_free_space('.');
+$total_space = disk_total_space('.');
+$usage_percent = (1 - $free_space / $total_space) * 100;
+$health['disk_space'] = ($usage_percent < 90);
+
+header('Content-Type: application/json');
+echo json_encode($health);
+?>
+```
+
+## ❓ 常见问题
+
+### 1. 安装问题
+
+**Q: 数据库连接失败**
+A: 检查以下几点:
+- 数据库服务是否启动
+- 连接参数是否正确
+- 用户权限是否足够
+- 防火墙是否阻止连接
+
+**Q: 伪静态不生效**
+A:
+- Apache: 确保 mod_rewrite 模块已启用
+- Nginx: 检查配置文件中的 rewrite 规则
+- 确保 .htaccess 文件存在且可读
+
+### 2. 功能问题
+
+**Q: 登录后跳转到空白页**
+A: 检查以下几点:
+- Session 是否正常启动
+- Dashboard 目录权限
+- JavaScript 控制台是否有错误
+
+**Q: 产品购买失败**
+A:
+- 检查库存是否充足
+- 验证用户余额/积分
+- 查看产品模块是否正确加载
+- 检查数据库表结构
+
+**Q: 邮件发送失败**
+A:
+- 检查邮件服务器配置
+- 验证 SMTP 设置
+- 查看邮件发送日志
+
+### 3. 性能问题
+
+**Q: 页面加载缓慢**
+A:
+- 启用 PHP OPcache
+- 配置静态文件缓存
+- 优化数据库查询
+- 使用 CDN 加速
+
+**Q: 数据库查询慢**
+A:
+- 添加适当的索引
+- 优化 SQL 查询
+- 定期清理过期数据
+- 考虑读写分离
+
+### 4. 安全问题
+
+**Q: 如何防止 SQL 注入**
+A:
+- 使用参数化查询
+- 验证和过滤用户输入
+- 定期更新 PHP 版本
+- 启用错误日志监控
+
+**Q: 如何保护敏感信息**
+A:
+- 数据库密码使用环境变量
+- 启用 HTTPS
+- 定期更换密钥
+- 限制文件访问权限
+
+## 📝 更新日志
+
+### V4.0.0 (2025-03-07)
+- 🎉 初始版本发布
+- ✨ 用户认证系统
+- ✨ 产品管理系统
+- ✨ 积分余额系统
+- ✨ 自动化任务系统
+- ✨ 模块化架构
+
+### 计划功能
+- 📊 管理员后台
+- 💳 在线支付集成
+- 📱 移动端优化
+- 🔔 实时通知系统
+- 📈 数据统计分析
+
+## 🤝 技术支持
+
+### 联系方式
+- 项目地址: https://git.hztecha.com/admin/Fuxsto-V4.git
+- 问题反馈: 请在项目仓库提交 Issue
+- 技术交流: 加入官方QQ群
+
+### 贡献指南
+1. Fork 项目
+2. 创建功能分支
+3. 提交更改
+4. 推送到分支
+5. 创建 Pull Request
+
+### 开源协议
+本项目采用 MIT 协议,详见 LICENSE 文件。
+
+---
+
+**注意**: 本文档会持续更新,请关注最新版本。如有疑问或建议,欢迎提交 Issue 或 Pull Request。
\ No newline at end of file