开发者手册

全网站安装、功能介绍与模板开发指南

1. 网站安装

1.1 系统要求

  • PHP 7.0+
  • MySQL 5.6+
  • Apache/Nginx
  • 支持URL重写
  • 必要的PHP扩展:
    • mbstring
    • openssl
    • pdo_mysql
    • curl
    • json

1.2 安装步骤

  1. 上传文件:将网站文件上传到服务器根目录
  2. 访问安装:在浏览器中访问网站域名,系统会自动跳转到安装页面
  3. 填写数据库信息:输入数据库主机、用户名、密码和数据库名
  4. 创建管理员账户:设置管理员用户名和密码
  5. 完成安装:点击"完成安装"按钮,系统会自动创建数据库表结构
  6. 删除安装文件:安装完成后,系统会自动创建install.lock文件,防止重复安装

1.3 安装后配置

  • 域名设置:登录后台,在"系统配置" > "基本设置"中设置网站域名
  • 邮箱配置
    • 在"系统配置" > "邮箱配置"中设置SMTP邮箱信息
    • PHPMailer安装:系统使用PHPMailer发送邮件,安装方法:
      // 使用Composer安装
      composer require phpmailer/phpmailer
      
      // 或手动下载PHPMailer库并放置在includes目录
  • 模板选择:在"系统配置" > "基本设置"中选择前台模板

2. 功能介绍

2.1 核心功能

短链接生成

支持将长URL缩短为短链接,可选择不同的域名和重定向类型

用户系统

支持用户注册、登录、邮箱验证,以及VIP会员等级

域名管理

支持添加多个域名,可设置为公用域名或私有域名

访问统计

详细的点击统计,包括IP、浏览器、来源等信息

2.2 后台管理

  • 用户管理:管理用户账户,设置VIP权限
  • 链接管理:查看和管理所有短链接
  • 域名管理:添加和管理域名,审核用户提交的域名
  • 系统配置:设置网站基本信息、邮箱配置、支付设置等
  • 财务管理:查看充值记录和支付情况

2.3 API接口

提供完整的RESTful API,支持通过API创建和管理短链接,适合集成到其他系统中。

3. 模板开发

3.1 模板结构

模板文件存放在 public/templates/ 目录下,每个模板是一个独立的文件夹。

基本结构

templates/
├── default/           # 默认模板
│   ├── header.php     # 头部文件
│   ├── footer.php     # 底部文件
│   ├── template.xml   # 模板配置文件
│   ├── pages/         # 页面文件
│   │   ├── index.php  # 首页
│   │   ├── about.php  # 关于我们
│   │   ├── contact.php # 联系我们
│   │   └── ...        # 其他页面
│   ├── css/           # CSS文件
│   └── js/            # JavaScript文件
└── test/              # 测试模板
    └── ...            # 相同结构

3.2 模板配置文件

每个模板需要创建 template.xml 配置文件,用于定义模板信息。

配置示例

<?xml version="1.0" encoding="UTF-8"?>
<template>
    <name>默认模板</name>
    <description>系统默认模板</description>
    <version>1.0.0</version>
    <author>System</author>
    <preview>/public/templates/default/preview.png</preview>
</template>

3.3 页面开发

  • 头部文件header.php 包含网站头部、导航栏和CSS/JS引用
  • 底部文件footer.php 包含网站底部、版权信息和页脚脚本
  • 页面文件:存放在 pages/ 目录下,每个页面对应一个PHP文件

页面示例

<?php
// pages/index.php
?>
<div class="container">
    <h1>首页</h1>
    <p>欢迎使用短链接服务</p>
    <!-- 短链接生成表单 -->
    <form method="POST">
        <div class="form-group">
            <label for="url">长链接</label>
            <input type="url" class="form-control" id="url" name="url" required>
        </div>
        <button type="submit" class="btn btn-primary">生成短链接</button>
    </form>
</div>

3.4 模板变量

模板中可以使用以下变量:

  • $pdo:数据库连接对象
  • $template:当前模板名称
  • $templatePath:当前模板路径
  • getConfig($pdo, 'key'):获取系统配置
  • getCurrentUserId():获取当前登录用户ID

3.5 模板检测

系统会自动检测模板目录,当添加新模板时:

  1. public/templates/ 目录下创建新的模板文件夹
  2. 添加必要的文件:header.phpfooter.phppages/index.php
  3. 创建 template.xml 配置文件
  4. 登录后台,进入"系统配置" > "基本设置",点击"检测新模板"按钮
  5. 在模板下拉菜单中选择新模板

4. API 参考

4.1 API 基础

  • API 地址https://yourdomain.com/api/
  • 认证方式:API Key(在后台"用户管理"中生成)
  • 请求方式:POST
  • 返回格式:JSON

4.2 常用接口

接口 描述 参数
create.php 创建短链接 url, api_key
list.php 获取链接列表 api_key
info.php 获取链接信息 short_code, api_key
edit_shortlink.php 编辑短链接 id, url, api_key

4.3 示例代码

// PHP 示例
$apiKey = 'your_api_key';
$url = 'https://example.com/very/long/url';

$data = [
    'url' => $url,
    'api_key' => $apiKey
];

$ch = curl_init('https://yourdomain.com/api/create.php');
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$response = curl_exec($ch);
$result = json_decode($response, true);

if ($result['success']) {
    echo '短链接:' . $result['short_url'];
} else {
    echo '错误:' . $result['message'];
}

5. 故障排除

5.1 常见问题

5.1.1 安装失败

  • 原因:数据库连接失败或权限不足
  • 解决方法:检查数据库信息是否正确,确保数据库用户有创建表的权限

5.1.2 短链接无法访问

  • 原因:URL重写未启用或配置错误
  • 解决方法:确保服务器支持URL重写,检查.htaccess文件是否正确

5.1.3 模板无法检测

  • 原因:模板目录权限不足或文件结构不完整
  • 解决方法
    1. 确保模板目录有写权限:chmod 755 public/templates
    2. 确保模板包含必要文件:header.phpfooter.phppages/index.php
    3. 创建 template.xml 配置文件

5.1.4 邮件发送失败

  • 原因:SMTP配置错误或服务器限制
  • 解决方法:检查邮箱配置是否正确,确保服务器允许发送邮件

5.2 调试技巧

  • 开启错误显示:在 index.php 中添加 error_reporting(E_ALL);
  • 查看日志:检查服务器错误日志,通常在 /var/log/apache2//var/log/nginx/ 目录
  • 使用调试工具:使用 debug_template.php 调试模板检测功能