Skip to content

项目介绍

Yuan-ICP 是一个开源的虚拟ICP备案系统,旨在为用户提供一个模拟真实ICP备案流程的趣味性平台。它并非一个真实的备案系统,而是一个可以用于社区、个人网站或作为PHP学习项目的工具。

🎯 项目目标

Yuan-ICP 的设计目标是提供一个完整、易用、可扩展的虚拟备案管理解决方案:

  • 教育学习:帮助开发者了解备案流程和系统架构
  • 社区应用:为社区网站提供趣味性的备案功能
  • 技术展示:展示现代PHP开发的最佳实践
  • 二次开发:提供灵活的扩展基础

🚀 核心功能

前台用户功能

  • 备案申请:用户可在线提交网站信息,包括网站名称、域名、描述等
  • 号码选择:支持从号码池选择心仪号码或系统自动生成
  • 备案查询:通过备案号或域名查询备案状态和详细信息
  • 公告查看:查看系统公告和最新通知信息
  • 状态跟踪:实时跟踪申请审核进度

后台管理功能

  • 仪表盘概览:直观展示系统统计数据和最近活动
  • 备案审核:管理员可审核、通过或驳回备案申请
  • 号码池管理:管理可选号码,设置靓号标识和赞助信息
  • 公告管理:发布、编辑和管理系统公告,支持置顶功能
  • 用户管理:管理管理员账户和权限
  • 系统设置:配置站点信息、邮件设置、SEO参数等
  • 主题管理:切换和管理前台显示主题
  • 插件管理:安装、启用和管理系统插件
  • 操作日志:记录和查看系统操作历史
  • 数据备份:系统数据备份和恢复功能

🏗️ 技术架构

系统架构

Yuan-ICP 采用经典的 MVC 架构模式,主要包含以下组件:

├── 前台展示层    # 用户界面和交互
├── 后台管理层    # 管理员操作界面
├── 业务逻辑层    # 核心业务处理
├── 数据访问层    # 数据库操作抽象
└── 基础设施层    # 配置、缓存、日志等

核心模块

1. 备案管理模块 (apply.php, result.php)

  • 处理用户备案申请提交
  • 验证申请数据完整性和合法性
  • 管理备案状态流转(待审核→已通过/已驳回)
  • 支持申请信息修改和重新提交

2. 号码管理模块 (select_number.php, api/get_numbers.php)

  • 双模式支持
    • 号码池模式:从预设号码中选择
    • 自动生成模式:根据规则动态生成
  • 靓号识别:自动识别连号、对称号等特殊号码
  • 号码规则:支持自定义号码生成格式

3. 查询模块 (query.php)

  • 支持按备案号或域名查询
  • 仅显示已通过审核的备案信息
  • 提供详细的备案信息展示

4. 公告系统 (announcements.php)

  • 支持富文本公告内容
  • 置顶公告功能
  • 公告发布时间管理

5. 主题系统 (includes/theme_manager.php)

  • 模板引擎支持
  • 主题切换功能
  • 自定义主题开发接口

6. 插件系统 (plugins/)

  • 插件生命周期管理
  • 钩子(Hook)机制
  • 插件配置管理

数据库设计

系统采用关系型数据库设计,主要数据表包括:

  • admin_users - 管理员用户表
  • system_config - 系统配置表
  • announcements - 公告信息表
  • selectable_numbers - 可选号码池表
  • icp_applications - 备案申请表
  • plugins - 插件信息表
  • operation_logs - 操作日志表

🎨 界面设计

前台界面

  • 响应式设计:完美支持桌面端和移动端
  • 现代化UI:使用 Bootstrap 5 框架
  • 主题化支持:可切换不同视觉风格
  • 无障碍访问:支持屏幕阅读器等辅助技术

后台界面

  • 管理仪表盘:数据可视化展示
  • 侧边导航:清晰的功能分类
  • 操作友好:批量操作和快捷操作支持
  • 响应式布局:适配不同屏幕尺寸

🔧 技术特点

1. 轻量级架构

  • 原生PHP开发:无需复杂框架依赖
  • SQLite支持:零配置数据库方案
  • 模块化设计:按需加载,提高性能

2. 安全机制

  • CSRF防护:防止跨站请求伪造攻击
  • 输入验证:严格的数据验证和过滤
  • 权限控制:基于角色的访问控制
  • 密码加密:使用PHP内置密码哈希函数

3. 性能优化

  • 数据库优化:合理的索引设计和查询优化
  • 缓存机制:仪表盘数据缓存,提高响应速度
  • 内存管理:合理的内存使用和垃圾回收
  • 静态资源:CDN支持,加速资源加载

4. 扩展性设计

  • 插件架构:支持功能扩展和定制
  • 主题系统:支持界面定制
  • 配置驱动:通过配置文件控制系统行为
  • API接口:提供RESTful API支持

🌍 适用场景

个人学习

  • PHP开发学习:了解现代PHP开发模式
  • 数据库设计:学习关系型数据库设计
  • 前端技术:掌握响应式界面开发
  • 系统架构:理解MVC架构模式

社区应用

  • 论坛备案:为论坛提供趣味备案功能
  • 社群管理:作为社群网站的管理工具
  • 活动组织:用于活动网站的备案管理

商业应用

  • 企业内部:作为内部系统的备案管理工具
  • 服务提供:为客户提供备案代理服务
  • 教学培训:用于培训机构的实践教学

技术展示

  • 作品集展示:展示PHP开发能力
  • 技术分享:用于技术交流和分享
  • 开源贡献:参与开源项目开发

🔮 未来规划

  • 多语言支持:国际化和本地化功能
  • API扩展:更完整的RESTful API
  • 移动应用:开发配套的移动端应用
  • 数据分析:更详细的统计分析功能
  • 自动化测试:完善的单元测试和集成测试
  • Docker支持:容器化部署方案

下一步

基于 MIT 协议发布