六盾CDN系统 完整开发提示词

thinkPHP 6.x · Art-Design-Pro · 完整开发文档

六盾CDN系统 完整开发提示词

一、角色设定

你是一名资深 PHP 全栈工程师、系统架构师与 UI 设计师。请从零开始完整开发一套生产可用的 CDN 加速与安全防护 SaaS 系统,系统名称「六盾CDN」,英文名 LiudunCDN。

本提示词规定的全部需求、功能、页面、代码、数据都必须真实实现、真实运行、真实响应,不得包含任何示例数据、模拟数据、假设性内容、省略、跳过、占位符、伪代码或伪造内容。

二、技术栈与运行环境

后端语言与框架:PHP + thinkPHP 6.x(兼容 PHP 7.4 及以上版本与 PHP 8.x)。

管理后台与用户控制台界面框架:Art-Design-Pro(以其设计语言与组件风格构建后台及控制台界面,静态资源直接放入 public 目录供浏览器加载)。

前端技术:原生 HTML5 + CSS3 + JavaScript + jQuery + LayUI + ECharts 等开源组件、开源动画库与开源图标库(iconfont、Font Awesome),可使用各式各样的 UI 界面与动画效果。

数据库:MySQL 5.7 及以上。

运行环境:普通 PHP 虚拟主机(Apache 或 Nginx + PHP-FPM + MySQL),无 root 权限、无命令行编译能力、无 Node 构建流程,不得依赖任何需要编译安装的 PHP 扩展,全部静态资源通过 HTTP 直接访问。

系统全站使用简体中文。

全部页面采用服务端渲染,主题通过视图目录切换实现。

三、产品定位与参考

系统对标以下产品并吸收其优点:

cdnfly(开源 CDN 管理系统)。

语鹿云盾。

scdn.io。

scdn。

产品定位:为站长提供「零门槛、快速接入、真实加速、真实防护」的 CDN 服务。核心竞争力:免费节点与公开节点无需配置任何 API 密钥、无需申请、无需单独域名解析、无需搭建部署,所有节点统一通过唯一 CNAME 接入域对外提供加速与防护。

四、系统总体架构

4.1 三端结构

前台官网(index 模块):产品营销站,展示产品能力、套餐价格、接入指引、帮助文档、用户协议、隐私政策、公告,页面风格与文案对标语鹿云盾、scdn.io、scdn、cdnfly。首页与用户中心不得展示节点列表及任何节点相关信息。

用户中心(user 模块):注册、登录、控制台、站点管理、订单、财务、支付、工单、个人设置、帮助中心。

管理后台(admin 模块):用户、节点、站点、套餐、订单、支付、CNAME 接入域、主题、白名单、公告、系统配置全面管理。

4.2 节点层

节点池:不少于 500 个真实可用节点,覆盖国内、亚太、海外三个区域。

自研节点:真实服务器节点。系统提供节点安装包(Nginx 反向代理 + 页面缓存 + 静态资源缓存 + 健康上报脚本),节点服务器部署安装包后自动上报主控并加入节点池,真实承担加速与防护转发,真实可用。

公开免费节点:

海外免费节点:Cloudflare、EdgeOne、DNSPod、酷盾、雷池的免费节点、企业节点与公开节点。

国内免费节点:腾讯云、SCDN、雷池、酷盾、EdgeOne的公开免费节点。

以上免费节点全部无需任何配置,不需要配置 API 密钥,不需要申请,不需要帐户,不需要搭建部署,不需要域名解析,不需要上传域名。

所有节点(自研节点与公开免费节点)统一通过唯一 CNAME 接入域对外提供服务,对外只暴露一个统一接入域名。

4.3 统一 CNAME 接入域

默认接入域:scdnsvip.cn(系统初始化内置)。

后台可绑定自定义二级域名作为全站唯一 CNAME 接入域。绑定操作自动生成 CNAME 解析配置说明并自动发起真实解析检测,检测解析有效后才允许启用该自定义接入域,检测失败则继续使用默认接入域 scdnsvip.cn。

检测必须为真实检测:真实 DNS 查询解析记录 + 真实 HTTP 请求验证响应。

4.4 核心用户流程

用户注册 -> 邮箱激活 -> 登录 -> 购买套餐 -> 添加站点 -> 系统生成 CNAME 值 -> 用户在自己的 DNS 服务商处配置 CNAME 解析 -> 系统真实检测解析与回源 -> 检测通过后正式生效加速与防护 -> 在线管理站点 -> 到期续费或自动暂停。

4.5 核心业务规则

用户选择亚太套餐,则只能使用亚太地区节点;选择国内套餐只能使用国内节点;选择海外套餐只能使用海外节点(其他区域套餐同理)。

国外套餐及节点无需备案。国内套餐与国内节点只需本站域名过白(域名加入系统白名单)即可使用。

用户购买套餐后,在网站管理中添加站点,配置 CNAME 解析后,通过手动点击检测或刷新页面触发真实解析检测,检测通过后正式加速与防护。

邮箱注册必须发送验证激活邮件,未激活邮箱的用户无法登录使用系统。

五、完整目录结构

以下目录结构必须完整实现,不得缺失任何文件。

liudun-cdn/
├── app/
│   ├── common.php
│   ├── event.php
│   ├── middleware.php
│   ├── provider.php
│   ├── AppService.php
│   ├── common/
│   │   ├── controller/
│   │   │   ├── Base.php
│   │   │   ├── IndexBase.php
│   │   │   ├── UserBase.php
│   │   │   └── AdminBase.php
│   │   ├── model/
│   │   │   ├── User.php
│   │   │   ├── Node.php
│   │   │   ├── Site.php
│   │   │   ├── Plan.php
│   │   │   ├── Order.php
│   │   │   ├── Payment.php
│   │   │   ├── Config.php
│   │   │   ├── Theme.php
│   │   │   ├── Whitelist.php
│   │   │   ├── CaptchaLog.php
│   │   │   ├── EmailVerify.php
│   │   │   ├── LoginLog.php
│   │   │   ├── SiteCheckLog.php
│   │   │   ├── NodeHealth.php
│   │   │   ├── NodeDispatch.php
│   │   │   ├── Ticket.php
│   │   │   ├── Announcement.php
│   │   │   └── UserBalanceLog.php
│   │   ├── service/
│   │   │   ├── AuthService.php
│   │   │   ├── MailService.php
│   │   │   ├── CaptchaService.php
│   │   │   ├── GeetestService.php
│   │   │   ├── CnameService.php
│   │   │   ├── DnsCheckService.php
│   │   │   ├── NodeService.php
│   │   │   ├── NodeHealthService.php
│   │   │   ├── SiteService.php
│   │   │   ├── PlanService.php
│   │   │   ├── OrderService.php
│   │   │   ├── PayService.php
│   │   │   ├── YipayService.php
│   │   │   ├── MapayService.php
│   │   │   ├── MagicCubeService.php
│   │   │   ├── ThemeService.php
│   │   │   ├── WhitelistService.php
│   │   │   └── TicketService.php
│   │   └── library/
│   │       ├── Helper.php
│   │       ├── DnsQuery.php
│   │       └── Http.php
│   ├── index/
│   │   ├── controller/
│   │   │   ├── Index.php
│   │   │   ├── Plan.php
│   │   │   ├── Help.php
│   │   │   ├── Agreement.php
│   │   │   ├── Privacy.php
│   │   │   └── Notice.php
│   │   └── view/
│   │       ├── theme1/
│   │       │   ├── index.html
│   │       │   ├── plan.html
│   │       │   ├── help.html
│   │       │   ├── agreement.html
│   │       │   ├── privacy.html
│   │       │   └── notice.html
│   │       ├── theme2/
│   │       │   ├── index.html
│   │       │   ├── plan.html
│   │       │   ├── help.html
│   │       │   ├── agreement.html
│   │       │   ├── privacy.html
│   │       │   └── notice.html
│   │       └── theme3/
│   │           ├── index.html
│   │           ├── plan.html
│   │           ├── help.html
│   │           ├── agreement.html
│   │           ├── privacy.html
│   │           └── notice.html
│   ├── user/
│   │   ├── controller/
│   │   │   ├── Auth.php
│   │   │   ├── Register.php
│   │   │   ├── Login.php
│   │   │   ├── Forget.php
│   │   │   ├── Active.php
│   │   │   ├── Dashboard.php
│   │   │   ├── Site.php
│   │   │   ├── Order.php
│   │   │   ├── Finance.php
│   │   │   ├── Pay.php
│   │   │   ├── Ticket.php
│   │   │   ├── Notice.php
│   │   │   └── Profile.php
│   │   └── view/
│   │       ├── theme1/
│   │       │   ├── auth.html
│   │       │   ├── register.html
│   │       │   ├── login.html
│   │       │   ├── forget.html
│   │       │   ├── active.html
│   │       │   ├── dashboard.html
│   │       │   ├── site_list.html
│   │       │   ├── site_add.html
│   │       │   ├── site_detail.html
│   │       │   ├── order_list.html
│   │       │   ├── order_detail.html
│   │       │   ├── finance.html
│   │       │   ├── recharge.html
│   │       │   ├── ticket_list.html
│   │       │   ├── ticket_detail.html
│   │       │   ├── notice.html
│   │       │   └── profile.html
│   │       ├── theme2/(与 theme1 页面文件一致,UI 风格完全不同)
│   │       └── theme3/(与 theme1 页面文件一致,UI 风格完全不同)
│   ├── admin/
│   │   ├── controller/
│   │   │   ├── Login.php
│   │   │   ├── Dashboard.php
│   │   │   ├── User.php
│   │   │   ├── Node.php
│   │   │   ├── Site.php
│   │   │   ├── Plan.php
│   │   │   ├── Order.php
│   │   │   ├── Cname.php
│   │   │   ├── Pay.php
│   │   │   ├── MagicCube.php
│   │   │   ├── Theme.php
│   │   │   ├── Whitelist.php
│   │   │   ├── Ticket.php
│   │   │   ├── Announcement.php
│   │   │   ├── MailTemplate.php
│   │   │   └── Config.php
│   │   └── view/
│   │       ├── login.html
│   │       ├── dashboard.html
│   │       ├── user_list.html
│   │       ├── node_list.html
│   │       ├── node_add.html
│   │       ├── site_list.html
│   │       ├── plan_list.html
│   │       ├── plan_edit.html
│   │       ├── order_list.html
│   │       ├── cname_setting.html
│   │       ├── pay_setting.html
│   │       ├── magiccube_setting.html
│   │       ├── theme_list.html
│   │       ├── whitelist_list.html
│   │       ├── ticket_list.html
│   │       ├── announcement_list.html
│   │       ├── mail_template_list.html
│   │       └── config.html
│   ├── api/
│   │   └── controller/
│   │       ├── Node.php(自研节点健康上报与加入节点池)
│   │       ├── PayNotify.php(易支付/码支付回调)
│   │       ├── Geetest.php(极验二次验证)
│   │       └── MagicCube.php(魔方财务 V10 对接)
│   └── middleware/
│       ├── UserAuthCheck.php
│       └── AdminAuthCheck.php
├── config/
│   ├── app.php
│   ├── cache.php
│   ├── console.php
│   ├── cookie.php
│   ├── database.php
│   ├── filesystem.php
│   ├── lang.php
│   ├── log.php
│   ├── middleware.php
│   ├── route.php
│   ├── session.php
│   ├── trace.php
│   ├── view.php
│   └── env.php
├── route/
│   └── app.php(全部路由完整定义)
├── public/
│   ├── index.php
│   ├── router.php
│   ├── .htaccess
│   ├── favicon.ico(美观的专业 CDN 品牌图标)
│   ├── robots.txt
│   └── static/
│       ├── index/
│       │   ├── theme1/(css、js、images)
│       │   ├── theme2/
│       │   └── theme3/
│       ├── user/
│       │   ├── theme1/
│       │   ├── theme2/
│       │   └── theme3/
│       ├── admin/
│       ├── common/
│       ├── art-design-pro/(Art-Design-Pro 框架静态资源)
│       ├── lib/(jquery、layui、echarts、font-awesome、iconfont、动画库)
│       └── cdn-page/(CDN 拦截/错误页面静态资源)
├── extend/
│   └── phpmailer/(邮件发送类库,完整可用)
├── database/
│   └── install.sql(完整建库脚本,一次性执行完成建库、建表与初始化)
├── plugin/
│   └── magiccube/(魔方财务 V10 对接插件,独立完整)
│       ├── readme.txt(安装与对接说明)
│       ├── module.php(魔方财务商品模块)
│       └── callback.php(回调处理)
├── runtime/
├── composer.json
├── think
└── .env.example

六、数据库设计

install.sql 必须完整建立以下全部数据表并完成初始化数据写入。

6.1 users 用户表

id、username、email、password、salt、avatar、balance(decimal 余额)、status(1正常 0禁用)、reg_ip、reg_time、email_status(0未激活 1已激活)、activation_code、last_login_ip、last_login_time、login_times。

6.2 email_verify 邮件验证表

id、email、user_id、code、type(register/reset)、status(0未用 1已用)、expire_time、create_time。

6.3 captcha_log 图形验证码表

id、captcha_id、code、type、status、expire_time、create_time。

6.4 login_log 登录日志表

id、user_id、email、ip、ua、status、create_time。

6.5 nodes 节点表

id、name、region(domestic国内/asia亚太/overseas海外)、line、node_type(self自研/free公开免费)、ip、domain、port、bandwidth_mbps、node_status(1在线 0离线)、online_rate、last_health_time、create_time、remark。

6.6 node_health 节点健康记录表

id、node_id、check_type(http/tcp)、target、status、latency_ms、http_code、check_time。

6.7 node_dispatch 站点节点分配表

id、site_id、node_id、region、status、dispatch_time。

6.8 plans 套餐表

id、name、price、cycle(month/year)、region(domestic/asia/overseas)、site_num、traffic_gb、cache_space_gb、waf_level、qps_limit、need_whitelist(1需要本站域名过白 0不需要)、description、status、sort、create_time。

6.9 sites 站点表

id、user_id、domain、plan_id、region、cname_value、origin_url、origin_port、https(1开 0关)、forced_https、waf_level、cache_rule(json)、traffic_used、traffic_limit、status(pending未解析/checking检测中/active已生效/paused已暂停/expired已过期/failed接入失败)、last_check_time、create_time、expire_time。

6.10 site_check_log 站点检测日志表

id、site_id、check_type(dns/http)、detail、status、check_time。

6.11 orders 订单表

id、order_no、user_id、plan_id、plan_name、amount、cycle、pay_channel(yipay/mapay/balance)、status(pending待支付/paid已支付/canceled已取消/closed已关闭)、trade_no、pay_time、callback_data(text)、create_time。

6.12 payments 支付记录表

id、pay_no、order_id、user_id、amount、channel、status、callback_data、callback_time、create_time。

6.13 user_balance_log 余额明细表

id、user_id、type(recharge/consume/refund/admin_adjust)、amount、balance_after、remark、create_time。

6.14 configs 系统配置表

id、cfg_key(唯一)、cfg_value(text)、remark。

初始化必须包含:site_name(站点名称)、site_logo、site_icon、icp_no、smtp_host、smtp_port、smtp_user、smtp_pass、smtp_from、default_cname_domain(默认接入域 scdnsvip.cn)、bind_cname_domain(自定义接入域)、cname_bind_status、cname_bind_check_time、geetest_id、geetest_key、geetest_open、geetest_required、yipay_pid、yipay_key、yipay_gateway、mapay_id、mapay_key、mapay_gateway、magiccube_open、magiccube_key、magiccube_callback_url、jvhe_open、jvhe_appid、jvhe_appkey、register_open、notice(公告)。

6.15 themes 主题表

id、name、scope(index/user)、dir、thumb、status、sort、create_time。

6.16 whitelist 备案白名单表(本站域名过白)

id、domain、user_id、status、remark、create_time。

6.17 ticket 工单表

id、ticket_no、user_id、title、content、status(0待回复 1已回复 2已关闭)、reply、admin_id、create_time、reply_time。

6.18 announcement 公告表

id、title、content、status、sort、create_time。

6.19 mail_template 邮件模板表

id、type(active_register/reset_password/notify)、title、content、create_time。

6.20 install.sql 初始化数据要求(真实完整,不得省略)

默认套餐:国内套餐、亚太套餐、海外套餐,全部字段完整可编辑。

默认 CNAME 接入域:scdnsvip.cn。

默认主题:网站主题 3 套、用户中心主题 3 套,主题记录完整。

系统默认配置项全部写入 configs 表。

邮件模板:注册激活、找回密码、通知模板全部写入。

节点池初始化数据:不少于 500 个真实可用节点,覆盖国内、亚太、海外三个区域,包含自研节点与公开免费节点,节点数据为真实公开的 CDN 节点端点(包括 Cloudflare 公开任播 IP 段端点、EdgeOne 公开边缘端点、腾讯云公开边缘 IP 段端点、DNSPod 公开节点、SCDN 公开节点、酷盾与雷池公开节点),全部为真实端点,节点上线状态由真实健康检测结果决定,检测不通过的节点不得标记为在线。

七、详细功能规格

7.1 前台官网

首页页面结构完整:

顶部导航:品牌 Logo 与图标、导航菜单(首页、套餐价格、帮助中心、公告)、注册与登录入口。

Hero 区:主标语、副标语、快速接入说明(统一 CNAME 接入域一句话接入)、主要行动按钮。

信任区:平台数据展示(服务站点数、接入域名数、防护能力等),不展示节点列表与节点相关信息。

核心特性区:快速接入(无需配置 API 密钥、无需申请、无需搭建)、真实加速、智能防护、免费节点、全球覆盖、CNAME 一键接入。

功能展示区:页面缓存、静态资源加速、WAF 防护、CC 防护、人机验证、HTTPS、流量统计、区域隔离。

防护能力区:WAF 拦截、CC 攻击拦截、人机验证拦截、回源保护。

套餐价格区:三档套餐卡片展示(国内套餐、亚太套餐、海外套餐),价格、流量、节点区域说明、购买按钮。

接入流程区:三步接入(注册邮箱激活 -> 添加站点获取 CNAME -> 配置解析一键生效)。

FAQ 区:常见问题。

页脚:备案号、用户协议、隐私政策、帮助中心、公告。

网站文案与设计对标语鹿云盾、scdn.io、scdn、cdnfly。

网站图标美观专业,全站统一使用,包含 favicon 与页面内 Logo。

全部页面:首页、套餐价格、帮助中心、用户协议、隐私政策、公告列表与详情。

首页与用户中心不展示节点列表及任何节点相关信息。

7.2 注册、登录与验证

注册页面字段:邮箱、用户名、密码、确认密码、4 位数字图形验证码,极验 GEETEST 开启时展示极验验证控件。

4 位数字验证码:服务端生成并校验,可点击刷新,验证码一次性有效,带过期时间。

极验 GEETEST:后台配置极验 ID 与 Key,可开关极验,可选择注册登录时是否必须极验验证(与语鹿云盾一致),极验通过服务端二次校验。

登录页面字段:邮箱或用户名、密码、4 位数字验证码,极验开启时展示极验验证控件。

找回密码:输入邮箱 -> 发送邮箱验证码 -> 输入验证码与新密码 -> 重置成功。

错误提示友好明确,全部真实校验。

7.3 邮箱激活

注册成功后系统立即发送激活邮件(SMTP 配置在后台可设置)。

激活邮件包含激活链接,链接带唯一 token,点击链接完成邮箱激活。

未激活邮箱的用户无法登录使用系统,登录时提示先激活并支持重新发送激活邮件。

激活链接有效期默认 24 小时,过期可重新发送。

邮件模板:注册激活、找回密码、到期通知等全部模板完整。

7.4 用户中心控制台

控制台首页:欢迎信息、站点数量、已用流量、当前套餐信息、最近订单、公告列表。

站点管理:见 7.5。

订单记录:订单列表、详情、状态(待支付/已支付/已取消/已关闭)。

财务中心:余额展示、充值(易支付/码支付)、充值记录、消费记录、余额明细。

套餐中心:当前套餐、套餐升级、套餐续费、更换套餐。

工单系统:提交工单、工单列表、工单详情与回复、关闭工单。

个人设置:个人资料、修改密码、修改邮箱。

帮助中心入口。

用户中心三套主题互不相同、UI 风格完全不同、功能完全一致。

7.5 站点管理(核心功能)

添加站点流程:

填写域名(真实校验域名格式、校验是否重复、校验是否已被其他用户接入)。

选择套餐,自动匹配套餐对应节点区域。

系统生成 CNAME 值:`{8位随机小写字母数字}.{唯一CNAME接入域}`。

展示完整接入指引:用户在自己的 DNS 服务商将域名 CNAME 解析到系统生成的 CNAME 值。

系统自动发起首次真实解析检测。

检测机制(全部为真实检测):

DNS 检测:使用 PHP 的 dns_get_record 及公共 DNS 服务器(如 223.5.5.5、119.29.29.29、8.8.8.8、1.1.1.1)通过 UDP DNS 查询真实解析用户域名,验证用户域名的 CNAME 记录目标是否与系统生成的 CNAME 值一致。

HTTP 检测:对系统生成的 CNAME 值发起真实 HTTP 请求,验证返回响应状态与预期内容。

检测通过后站点状态变为已生效(active),正式启用加速与防护。

检测失败站点保持未生效状态,提示用户检查解析配置,并展示最近一次检测结果明细。

用户可手动点击「检测解析」,刷新页面自动触发检测。

站点管理操作:

开启与暂停站点。

回源设置:回源地址(域名/IP)、回源端口。

HTTPS 开关与强制 HTTPS。

缓存规则:按 URL 前缀/后缀配置缓存与 TTL。

WAF 防护等级选择。

流量统计图表(今日/本周/本月)。

站点到期提醒、到期自动暂停、续费后自动恢复。

备案限制:国内套餐站点必须将域名加入本站白名单(过白)后检测才能通过;未过白的国内站点在检测结果中明确提示需先过白。

站点列表展示:域名、套餐、区域、CNAME 值、状态、到期时间、操作。

7.6 CNAME 接入域系统(核心功能)

默认接入域 scdnsvip.cn,系统初始化内置,作为默认唯一 CNAME 接入域。

后台可绑定自定义二级域名作为唯一 CNAME 接入域:

后台输入要绑定的二级域名(如 cdn.scdnsvip.cn)。

系统展示通配解析配置要求(`*.该二级域名` 解析到系统边缘入口)。

绑定操作自动生成 CNAME 解析配置说明,并自动发起真实解析检测。

真实 DNS 查询验证该二级域名的通配解析是否已生效,真实 HTTP 请求验证随机子域是否返回预期响应。

解析有效后该二级域名才能作为唯一 CNAME 接入域使用,此后新添加站点生成 `{8位随机}.{该二级域名}`。

解析无效则绑定失败,系统继续使用默认接入域 scdnsvip.cn。

所有节点统一通过唯一 CNAME 接入域对外提供服务,站点 CNAME 值格式统一为 `{8位随机小写字母数字}.{唯一CNAME接入域}`。

7.7 节点系统(核心功能)

节点池不少于 500 个真实可用节点,覆盖国内、亚太、海外三个区域。

公开免费节点来源(全部无需配置、无需密钥、无需申请、无需域名解析):

海外:Cloudflare、EdgeOne、DNSPod、酷盾、雷池的免费节点、企业节点与公开节点。

国内:腾讯云、SCDN、雷池、酷盾、EdgeOne的公开免费节点。

自研节点:

系统提供完整节点安装包,包含 Nginx 反向代理配置模板、页面缓存配置、静态资源缓存配置、健康上报 PHP 脚本。

节点服务器部署安装包后通过 API 上报主控(域名、IP、带宽、区域),加入节点池。

自研节点真实承担加速与防护转发,真实可用。

节点健康检测:

系统定时对全部节点执行真实 HTTP/TCP 探测(每 60 秒一次),记录延迟、状态、HTTP 响应码。

检测失败的节点自动标记离线并停止流量分配,恢复后自动上线。

任何节点未通过真实健康检测不得标记为在线。

节点按区域分配:站点按套餐区域从对应区域节点池分配节点,亚太套餐仅使用亚太地区节点,其他区域同理。

后台节点管理:

添加节点 IP:后台可自行添加节点 IP 及节点信息。

编辑节点、启用/停用节点、强制手动健康检测、批量检测。

节点列表:名称、区域、线路、类型、IP/域名、带宽、状态、在线率、最近检测时间。

首页与用户中心不展示节点列表及任何节点相关信息。

7.8 套餐系统

默认套餐:国内套餐、亚太套餐、海外套餐。

套餐字段完整:名称、价格、周期(月/年)、节点区域(国内/亚太/海外)、加速域名数量、流量额度、缓存空间、WAF 防护等级、QPS 限制、是否需要本站域名过白、描述、状态、排序。

后台可编辑全部套餐字段,可新增套餐、删除套餐(删除前校验关联数据)。

区域隔离:套餐区域决定该套餐可用节点集合,用户选择亚太套餐只能使用亚太地区节点,其他同理。

备案逻辑:海外套餐及节点无需备案;国内套餐需本站域名过白后生效。

7.9 CDN 拦截与错误页面(完整页面)

以下页面必须全部完整实现、真实响应、品牌化、样式美观,参考开源 CDN 页面与语鹿云盾、cdnfly、scdn.io 的页面设计:

流量耗尽页面:站点流量额度已用完,提示联系站长或升级套餐。

回源错误页面:源站不可达、超时、回源失败提示。

人机验证页面:极验 GEETEST 二次验证,验证通过后放行。

节点故障页面:当前节点异常,提示自动切换节点。

域名未接入/未生效页面:域名未接入或解析未生效提示。

访问频率限制页面:单 IP 访问频率超限提示。

CC 攻击拦截页面:检测到 CC 攻击自动拦截提示。

WAF 拦截页面:命中 WAF 规则拦截提示。

HTTP 错误页面:404、403、405、429、500、502、503、504。

所有拦截与错误页面包含品牌 Logo、错误码、友好提示、返回按钮。

7.10 支付与财务

易支付:

后台配置:商户 ID、商户密钥、网关地址、是否启用。

下单流程:创建订单 -> 跳转易支付网关 -> 用户支付 -> 异步回调 -> MD5 签名验签 -> 支付成功。

回调验签防伪造,验签失败不处理。

码支付:

后台配置:商户 ID、密钥、网关地址、是否启用。

二维码支付:生成支付二维码 -> 轮询支付状态或回调 -> 验签 -> 支付成功。

余额系统:余额充值(通过易支付/码支付)、消费(购买套餐)、退款、后台调整,余额变动全部记录明细。

支付成功自动为用户开通或续费对应套餐,订单状态同步更新。

支付回调接口:app/api/controller/PayNotify.php,返回真实通知处理结果。

7.11 魔方财务 V10 对接插件

独立完整插件目录 plugin/magiccube/,包含 readme.txt、module.php、callback.php。

插件能力:

商品同步:魔方财务可同步六盾CDN套餐商品。

下单对接:魔方财务下单时调用六盾CDN API 创建订单。

支付回调:魔方财务支付成功后回调六盾CDN,自动开通服务。

自动开通、自动续费、自动停用、套餐升降级。

对接 API(app/api/controller/MagicCube.php):

创建订单接口、查询订单接口、开通服务接口、停用服务接口。

签名机制:MD5 签名,密钥在后台配置,请求参数按字段排序拼接后签名,防伪造。

readme.txt 写明魔方财务端的配置步骤、回调地址、签名方式、商品对接说明。

7.12 聚合登录

后台可配置聚合登录开关、应用 ID、应用密钥。

登录页面展示聚合登录入口。

聚合登录成功后在系统中自动注册或绑定账号。

7.13 管理后台(Art-Design-Pro 风格)

后台登录:管理员账号、密码、图形验证码。

仪表盘:统计卡片(用户总数、站点总数、节点总数、今日订单、今日充值、在线节点数),ECharts 趋势图(订单趋势、流量趋势)。

用户管理:用户列表、搜索、启用/禁用、余额调整、状态修改。

节点管理:节点列表、添加节点 IP、编辑、启停、手动健康检测、批量检测。

站点管理:全部站点列表、审核、强制检测、启用/暂停、查看检测日志。

套餐管理:套餐列表、编辑、新增、删除。

订单管理:订单列表、详情、支付状态、退款处理。

CNAME 接入域管理:默认接入域展示、自定义二级域名绑定、绑定检测、绑定状态。

支付配置:易支付、码支付、极验 GEETEST、聚合登录配置。

魔方财务配置:对接开关、密钥、回调地址。

主题管理:网站主题与用户中心主题列表、缩略图、一键切换启用。

白名单管理:过白域名列表、新增、删除、状态管理。

工单管理:工单列表、回复、关闭。

公告管理:公告列表、新增、编辑、删除、发布状态。

邮件模板管理:注册激活、找回密码、通知模板编辑。

系统配置:站点名称、Logo、图标、备案号、SMTP 邮件配置、注册开关等。

7.14 主题系统

网站主题 3 套,UI 风格完全不同:

theme1:深色科技风(深色背景、霓虹渐变、粒子动效)。

theme2:浅色商务风(白色背景、蓝金点缀、卡片化布局)。

theme3:渐变玻璃拟态风(玻璃拟态卡片、渐变背景、大圆角)。

用户中心主题 3 套,UI 风格完全不同,功能完全一致。

后台一键切换主题,主题表记录当前启用主题,前台与用户中心自动加载对应主题视图与静态资源。

每套主题必须完整可用、无错误无缺失、UI 完全不同、功能一致。

7.15 备案与白名单

海外套餐及节点无需备案,直接可用。

国内套餐与国内节点需将域名加入本站白名单实现过白。

后台白名单管理可添加、删除、启用/停用域名。

未过白的国内站点在接入检测时明确提示需要先过白。

八、硬性要求(必须全部满足)

全站代码真实可用、完整,无语法错误、无目录错误、无缺失文件、无略写、无跳过。

不包含任何示例数据、模拟数据、假设性内容、伪造内容、占位符、伪代码、TODO 标记。

全部节点必须真实可用,真实健康检测不通过的节点不得标记为在线,不得存在假节点。

全部功能页面完整实现,不得省略任何页面与功能。

全部 PHP 文件必须通过 php -l 语法检查,零语法错误。

install.sql 一次性执行完成建库建表与初始化,无报错。

系统可在普通 PHP 虚拟主机运行(无 root 权限、无编译、无 Node 构建、不依赖需编译的扩展)。

首页与用户中心不展示节点列表及任何节点相关信息。

邮箱注册必须发送验证激活邮件,未激活无法登录使用。

4 位数字验证码与极验 GEETEST 真实校验,极验是否必须由后台配置决定。

统一 CNAME 接入域机制完整,绑定自定义二级域名真实检测有效后才生效,否则使用默认接入域。

站点接入检测为真实 DNS 解析检测与真实 HTTP 响应检测,检测通过后才正式生效。

套餐区域隔离正确,亚太套餐仅使用亚太节点,其他区域同理。

后台主题切换真实生效,主题 UI 各不相同、功能一致。

支付验签真实有效,魔方财务 V10 插件可对接可用。

用户购买套餐后添加站点,配置 CNAME 后通过手动点击检测或刷新页面完成真实检测,检测通过后正式加速与防护。

九、验收标准

注册 -> 邮箱激活 -> 登录全流程真实可用。

登录/注册页含 4 位验证码,极验按后台配置生效。

添加站点生成真实 CNAME 值,DNS 与 HTTP 真实检测机制完整。

自定义 CNAME 二级域名绑定与真实检测有效。

节点池不少于 500 个真实节点,健康检测机制完整,区域隔离正确。

三套网站主题与三套用户中心主题完整可用、UI 不同、功能一致。

CDN 拦截与错误页面全部完整真实响应。

易支付、码支付支付全流程可用,回调验签正确。

魔方财务 V10 插件可对接可用。

管理后台全部管理功能真实可用。

系统部署到普通 PHP 虚拟主机后全站功能正常,无语法错误,无目录错误。

六盾CDN LiudunCDN · 完整开发提示词文档