心动造页·表白生成系统 V2.0 开发文档
前言
「心动造页·表白生成系统」是一款面向普通用户的零代码表白页生成工具,无需懂技术即可快速创建专属表白页面,支持多模板切换、在线编辑、页面管理等核心功能。
项目初衷是解决市面上表白页“模板单一、无法二次修改、管理繁琐、生成价格昂贵、无法永久保存、自定义链接”的痛点,同时兼顾安全性与易用性,让技术为浪漫赋能。经过多轮调试,目前已实现核心功能闭环,适合个人、开发者二次扩展或直接使用。
环境要求
操作系统:CentOS 7.X(推荐7.6)/ Windows Server 2016
PHP版本:7.0 ~ 7.4(兼容主流虚拟主机/服务器环境)
MySQL版本:6.0以下(避免高版本语法兼容问题)
运行环境:Apache 2.4+ / Nginx 1.16+(需开启伪静态支持)
权限要求: page/可写权限, template/可读权限
安装部署步骤
- 数据库配置
1. 新建MySQL数据库
2. 导入根目录下的 sql/xindong.sql
3. 编辑 config.php 文件,填写数据库连接信息:
// 数据库配置
define('DB_HOST', 'localhost');
define('DB_USER', 'gxsnote_cn');
define('DB_PWD', 'gxsnote_cn');
define('DB_NAME', 'gxsnote_cn');
- 伪静态配置
Apache 环境
在网站根目录创建 .htaccess 文件,写入以下规则:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([a-zA-Z0-9_]{4})$ /page/$1.php [L]
Nginx 环境
location / {
try_files $uri $uri/ /page/$uri.php;
}
- 初始账号
默认管理员账号: admin
默认密码: 123456
用户注册:普通用户可通过前台注册入口创建账号,仅可管理自己生成的页面
部分截图展示




目录结构说明
心动造页/
├─ admin/ # 管理员后台目录
│ ├─ index.php # 后台首页(数据统计、页面管理)
│ ├─ template.php # 模板管理(新增/编辑模板配置)
│ └─ user.php # 用户管理(审核/禁用用户)
├─ api/ # 接口目录
│ └─ user/
│ ├─ generate_page.php # 核心接口(生成/编辑页面)
│ ├─ get_page.php # 读取页面数据接口
│ ├─ rename_page.php # 重命名页面接口
│ └─ delete_page.php # 删除页面接口
├─ page/ # 生成的页面存储目录(自动创建)
├─ template/ # 模板目录(支持新增模板)
│ ├─ haoxiangni/ # 模板示例:好想你
│ │ ├─ index.html # 模板页面
│ │ ├─ config.php # 模板配置(表单字段、基本信息)
│ │ └─ static/ # 模板静态资源(css/js/img)
│ └─ love_letter/ # 模板示例:情书模板
├─ user/ # 用户中心目录
│ ├─ list.php # 我的页面列表(核心管理页)
│ ├─ templates.php # 模板中心(全部模板展示)
│ └─ vip.php # 会员中心(开通存储会员、充值生成次数)
├─ config.php # 全局配置文件(数据库、开放注册)
├─ function.php # 公共函数(日志记录、敏感词过滤)
├─ sql/ # 数据库脚本
│ └─ xindong.sql
└─ index.php # 祝福广场
核心功能说明
模板管理
模板配置规则( template/模板名/config.php )
每个模板需包含独立配置文件,定义表单字段、模板信息,示例:<?php
$tpl_config = array (
'level' => 1,
'name' => '圣诞快乐',//模板名称
'desc' => '圣诞快乐',//模板介绍
'preview_img' => '7ecbcd62af66cac2c1587f1b9ffe4f69.gif',//模板logo图
'demo' => '/01',//预览地址
'tips' =>
array ('con1' => array ( 'label' => '标题', 'placeholder' => '(如:圣诞快乐❤)', 'example' => '圣诞快乐', ), 'con2' => array ( 'label' => '内容', 'placeholder' => '(如:你自己想吧,送上你最真诚的祝福语)', 'example' => '今天就是平安夜,明天就是圣诞节,2026年已经进入尾声。愿所有美好,不负归期,愿你喜欢的都拥有,失去的都释怀,愿崭新的2027年,心想事成,万事如意💕', ), ), 'cate' => 'shengdan',//分类,后台创建分类就行了 ); ?>
新增模板步骤
1. 在 template/ 目录下新建文件夹(如 love )
2. 复制现有模板的 index.html 到新文件夹,修改页面样式与变量占位符( <?php echo $con1?> )
3. 创建 config.php 配置文件,按上述规则定义表单字段
4. 上传静态资源到 static/ 目录(css/js/img需与 index.html 路径对应)
5. 后台模板管理中刷新,即可在用户端选择新模板
页面生成与编辑
生成流程
1. 普通用户登录后选择模板
2. 填写表单字段(根据模板 config.php 动态渲染输入框)
3. 点击“生成页面”,系统调用 generate_page.php 接口:
- 敏感词过滤(拦截违规内容)
- 随机生成4位字符文件名(如 111.php )
- 替换模板变量,生成页面文件到 page/ 目录
- 写入数据库记录(用户ID、模板名、过期时间等)
4. 返回访问链接(如 https://gxsnote.cn/111 ),用户可直接分享
编辑流程
1. 用户在“我的页面列表”中选择需要编辑的页面
2. 点击“编辑内容”,系统调用 get_page.php 接口读取历史数据
3. 弹窗中显示模板对应的表单字段(回填历史输入内容)
4. 修改后提交,系统复用 generate_page.php 接口,覆盖原文件(链接不变)
过期设置
- 普通用户生成的页面默认有效期:3天(72小时)
- VIP用户生成的页面:永久有效(VIP权限)
- 过期页面访问时自动跳转至“页面已过期”提示页,支持重新生成
封禁机制
- 管理员可在后台封禁违规页面(状态设为2)
- 封禁页面访问时自动跳转至“页面已被禁封”提示页
- 支持批量封禁、定时解封功能
敏感词过滤 - 敏感词库存储在 system 表的 sensitive_words 字段
- 生成/编辑页面时自动检测,包含敏感词则禁止提交
- 支持后台动态更新敏感词库,无需重启服务
用户权限管理
权限类型 可操作功能 限制说明
普通用户 编辑/删除自己的页面、 仅可使用免费模板,页面有有效期(3天)
VIP用户 免费+会员模板、永久页面、无广告 重命名页面(域名后面的链接如gxsnote.cn/111)
管理员 全功能操作 可管理所有页面、模板、用户
模板开发指南
- 模板页面规则( index.html )
- 变量占位符:使用 <?php echo $字段名?> 替换用户输入内容,如 <?php echo $con1?>
- 静态资源路径:使用相对路径,如 ./static/css/style.css (系统会自动补全模板路径)
- 远程资源:支持直接引用CDN资源(如jQuery、图标库),系统不会修改远程链接
- 响应式要求:模板需适配移动端,建议使用Bootstrap、Flex布局
- 静态资源优化
- CSS/JS压缩:建议使用工具压缩静态资源,减少页面加载时间
- 图片懒加载:添加 loading="lazy" 属性优化图片加载,如 < img src="xxx.jpg" loading="lazy">
- 资源合并:减少CSS/JS文件数量,降低HTTP请求次数
示例模板片段
<?php echo $con1 ?>
<div class="box" align="center"> <p><?php echo $con1 ?></p> <h1><?php echo $con2 ?></h1> <img src="images/3.jpg"> <div class="bottom"> <div class="left" id="hao">好</div> <div class="right" id="buhao">不好</div> </div> <img src="images/4.jpg"> </div>
常见问题排查
- 生成页面后无法访问
- 检查 page/ 目录权限是否为 0755
- 查看服务器错误日志,排查PHP语法错误
- 编辑页面时表单字段不显示
- 检查模板 config.php 中 tips 数组配置是否正确
- 确认字段名与模板页面中的占位符一致(如 con1 对应 <?php echo $con1?> )
- 清除浏览器缓存后重试
敏感词过滤失效
- 检查 system 表中 sensitive_words 字段是否存在敏感词
- 确认 function.php 中 check_sensitive 函数是否正常调用
- 敏感词需用英文逗号分隔,不可包含空格
- 数据库中文显示乱码
- 确认数据库编码为 utf8mb4
- 检查 config.php 中是否设置 mysqli_set_charset($conn, "utf8mb4")
- 避免在Windows环境下修改模板文件(可能导致编码格式异常)
更新日志
V2.0(2026-03-09)
- 新增核心功能:页面生成、编辑、重命名、删除
- 支持多模板切换,模板表单动态渲染
- 新增敏感词过滤、页面过期/封禁机制
- 优化用户中心交互,支持单选操作、顶部工具栏集中管理
- 修复路径替换bug,支持远程CDN资源
- 新增响应式提示页(过期/封禁页面)
二次开发建议
1. 新增功能:可在 api/user/ 目录扩展接口(如页面分享、二维码生成)
2. 模板扩展:按照模板开发指南新增自定义模板,支持商业化模板运营
3. 权限扩展:新增会员等级体系,设置不同等级的模板使用权限、页面有效期
4. 统计扩展:集成百度统计/Google Analytics,添加页面访问量统计
5. 存储扩展:将静态资源迁移至OSS(阿里云/腾讯云),降低服务器存储压力
版权声明
1. 本项目暂不开源
2. 允许二次开发,但需保留核心代码注释中的版权信息,不得删除作者声明
3. 禁止修改源码后声称是自己的作品,违者将追究法律责任
4. 使用本项目造成的任何损失(如服务器攻击、数据泄露),作者不承担任何责任
5. 如有能力,可通过赞助支持作者持续维护(赞助方式见项目首页)
反馈与交流
bug反馈:发送邮件至 67031002@qq.com(附详细报错信息、环境配置)
结语
「心动造页·表白生存系统」从需求分析到开发上线,始终围绕“简单、实用、安全”的核心,希望能帮助更多人用技术传递浪漫。
项目后续将不再提供官方更新,但欢迎开发者Fork后继续维护,也期待大家分享二次开发成果。技术的意义在于赋能生活,愿每一份心意都能通过代码传递~
花有重开日,人无再少年,珍惜眼前人,祝使用愉快!
