睿能科技
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

14 KiB

睿能科技官网(rui-neng)项目文档

文档生成时间:2026-09-05 项目路径:D:\phpstudy_pro\WWW\rui-neng 代码仓库:https://git-online.zhco.com/wjd/rui-neng (默认分支 master


1. 项目概述

本项目是睿能科技的企业官网,基于 HuoCMS V3.5.1version 文件标识)二次开发而成。HuoCMS 是一款基于 ThinkPHP 6 的多站点、多语言内容管理系统(CMS),支持可视化建站、内容模型自定义、SEO 管理、询盘(Inquiry)收集等企业官网核心能力。

本项目当前主要服务于睿能科技官网的前台页面定制(产品、新闻、联系、关于等页面样式与跳转调整),并通过 HuoCMS 后台进行内容与站点管理。

核心特性

  • 多站点 / 多语言:支持简体中文(zh)、繁体中文(tc)、英文(en)三种语言版本,路由按站点 ID + 语言拆分文件管理。
  • 可视化设计:支持页面可视化设计器(Design)、主题管理(Theme)、主题文件编辑。
  • 内容模型:自定义内容模型(Module)与字段(ModuleField),栏目-内容树形结构。
  • 询盘/表单:询盘管理、自定义表单(DiyForm)、询盘邮件通知。
  • SEO:关键词管理、Sitemap、robots、SEO 检测、Google 统计对接。
  • 插件机制:插件以独立目录形式组织(如 user 用户插件、api 插件),可扩展路由、控制器、模型。
  • 多存储后端:本地、七牛(Qiniu)、腾讯云 COS、阿里云 OSS。

2. 技术栈

分类 技术 版本要求
语言 PHP >= 7.2
框架 ThinkPHP ^6.0
ORM topthink/think-orm ^2.0
数据库迁移 topthink/think-migration ^3.0
模板引擎 topthink/think-template / think-view ^2.0 / ^1.0
HTTP 客户端 guzzlehttp/guzzle ~6.0
Excel phpoffice/phpspreadsheet 1.18.0
WebSocket/长连接 workerman、workerman/phpsocket.io、workerman/mysql ^4.0 / ^1.1 / ^1.0
对象存储 qiniu/php-sdk、qcloud/cos-sdk-v5、aliyuncs/oss-sdk-php
表单构建 xaboy/form-builder ~2.0
邮件 yzh52521/think-mail、phpmailer/phpmailer
短信 alibabacloud/dysmsapi-20170525(阿里云短信) 2.0.18
JWT easyswoole/jwt ^2.0
简繁转换 overtrue/pinyin、php-opencc(本地 extend)
海报 hedali/poster dev-main
爬虫/采集 electrolinux/phpquery、zoujingli/ip2region

PHP 扩展依赖xmlwriterjsonsimplexmlzipdomxlswriteropensslbcmath

运行环境:本地使用 phpstudy_pro 部署(站点根目录为 public/),数据库为 MySQL(当前 .env 中库名 rui_neng_test,表前缀 hc_)。


3. 目录结构

rui-neng/
├── app/                        # 应用主目录(PSR-4: app\)
│   ├── controller/
│   │   ├── backend/            # 后台管理控制器(60+ 个)
│   │   ├── frontend/           # 前台控制器(列表、详情、搜索、表单、询盘、SEO、标签)
│   │   └── api/                # API 控制器
│   ├── model/                  # 数据模型(71 个,如 Content、Category、Inquiry…)
│   ├── service/                # 业务服务层(30+ 个,含 keywordMonitor、sms、upload 子目录)
│   ├── middleware/             # 中间件(登录、权限、禁用、插件路由)
│   ├── listener/               # 事件监听(管理员登录/操作日志)
│   ├── validate/               # 验证器
│   ├── command/                # 命令行任务(百度统计、Web 诊断、代码生成等)
│   ├── hcinterface/            # 系统设置接口(SysSettingInterface)
│   ├── hctrait/                # 公共 Trait
│   ├── common.php              # 公共函数
│   ├── event.php               # 事件定义
│   ├── provider.php            # 容器绑定
│   └── middleware.php          # 全局中间件
├── config/                     # 框架与业务配置(app、database、jwt、rbac、route、system 等)
├── route/                      # 路由定义
│   ├── admin.php               # 后台路由(安装、登录、各管理模块)
│   ├── index.php               # 前台公共路由(询盘、标签、搜索、表单、SEO 等)
│   ├── 1_zh_frontend.php       # 站点1 中文前台路由(域名绑定 ruineng.test.cc)
│   ├── 1_tc_frontend.php       # 站点1 繁体
│   ├── 1_en_frontend.php       # 站点1 英文
│   ├── 1_zh_plugin_api.php     # 站点1 插件 API 路由
│   ├── 4_*                     # 站点4 对应路由(多站点)
│   └── app.php                 # 默认示例路由
├── plugins/                    # 插件(PSR-4: plugins\)
│   ├── user/                   # 用户插件(含 install.sql、api/backend/模型/监听)
│   └── api/                    # API 插件
├── extend/                     # 扩展类库(helper、sys、traits、php-opencc)
├── view/                       # 后台视图(common:css/html/js)
├── public/                     # Web 根目录
│   ├── index.php               # 前台入口
│   ├── admin.php               # 后台入口
│   ├── themes/website/1/       # 站点1 主题模板(zh / en 两套语言目录)
│   ├── static/、customStatic/  # 静态资源
│   ├── storage/、system_file/  # 上传存储
│   └── tinymce/                # 富文本编辑器
├── data/、backup/              # 数据与备份
├── runtime/                    # 运行时缓存/日志
├── tests/                      # 测试
├── think                       # 命令行入口
├── composer.json               # 依赖管理
└── .env                        # 环境配置(APP/DATABASE/LANG)

4. 模块说明

4.1 后台管理(app/controller/backend)

通过 public/admin.php 入口 + route/admin.php 路由访问,主要功能模块:

分类 控制器
权限体系 Admin(管理员)、Role(角色)、AdminMenu(菜单)、AdminLoginLog / AdminOptLog(登录与操作日志)
站点管理 Website(多站点)、WebsiteLang、WebsiteSetting、WebsiteServer、SysSetting(系统设置)、SystemInstall(安装向导)
内容体系 Category(栏目)、Content(内容)、ContentTag、Module / ModuleField(内容模型与字段)、Tag(标签)、RecycleBin(回收站)
营销/展示 Slide / SlideCate(轮播)、Advertisement(广告)、Link(友情链接)、Nav / NavCate(导航)、Material(素材)、Poster(海报)、SocialMarketing
询盘/表单 Inquiry / InquiryCategory / InquiryEmail(询盘及邮件)、Form(自定义表单)、Excel(导入导出)
招聘 Job / JobCate / JobCity
SEO Keyword / KeywordQuery / KeywordWebsite、Seo / SeoAccount / SeoCheck / SeoSetting、SiteMap、GoogleStatistics
其他 Attachment / AttachmentCate(附件)、Database(数据库备份)、Theme / ThemeFile(主题)、Plugin(插件)、StaticFile(静态文件)、Dashboard(仪表盘)、Statistics / InnerChart(统计图表)

4.2 前台(app/controller/frontend)

  • List:栏目列表页(首页也是特定栏目的列表页,如站点1首页绑定栏目 id=36)
  • Detail:内容详情页(URL 形如 /栏目拼音/:id
  • Search:站内搜索(含视频、公告等返回值)
  • Tag:标签页(/tag/tagList/:id
  • Form:自定义表单展示与提交(/c/:code/addFormData、文件上传与下载)
  • Inquiry:询盘提交(POST /inquiry/save
  • Design:可视化设计页面
  • Seo:robots.txt、sitemap.xml、sitemap HTML 页

4.3 插件(plugins/)

  • user:会员用户体系插件,含前台 API、后台管理、模型、验证器、install.sql
  • api:对外 API 插件。

插件路由由全局中间件 PluginsMiddleware 初始化,路由文件存放在各插件的 route/ 目录,并合并进 route/{站点}_{语言}_plugin_api.php 体系。

4.4 中间件

中间件 作用
think\middleware\LoadLangPack 多语言加载(全局启用)
think\middleware\SessionInit Session 初始化(全局启用)
app\middleware\PluginsMiddleware 插件路由初始化(全局启用)
app\middleware\LoginMiddleware 后台登录校验
app\middleware\AuthMiddleware 后台 RBAC 权限校验(配置见 config/rbac.php
app\middleware\ApiLoginMiddleware API 登录态校验(JWT,配置见 config/jwt.php
app\middleware\ForbiddenMiddleware 禁用/拦截校验

4.5 服务层(app/service)

核心服务:ContentService(内容)、CategoryService(栏目)、ModuleService / ModuleFieldService(模型字段)、WebsiteService / WebsiteLangService(站点与语言)、ThemeService / ThemeFileService(主题)、SitemapServiceEmailService(邮件)、ExcelServiceMysqlBackupService(数据库备份)、TranslateService(翻译/简繁)、PluginServiceCacheServiceBeautifyHtmlService(HTML 美化)等;子目录 sms/(短信)、upload/(多存储上传)、keywordMonitor/(关键词监控)。

4.6 命令行任务(app/command)

通过 php think <command> 执行:

  • BaiduTongji — 百度统计数据采集
  • WebDiagnosis / WebDiagnosis2 / WebDiagnosis3 — 网站诊断
  • CreateModel / CreateController / CreateLink — 脚手架/代码生成

5. 路由设计

  • 后台:统一挂在 route/admin.php,格式为 /<模块>/<action> 映射到 backend 前缀控制器;安装向导与登录接口独立于权限中间件之外。
  • 前台公共route/index.php 定义询盘、标签、搜索、表单、设计器、SEO 等公共路由。
  • 站点路由:按「站点ID_语言_frontend」命名(如 1_zh_frontend.php),使用 Route::domain() 绑定域名(如站点1中文绑定 ruineng.test.cc),栏目列表/详情路由由 CMS 根据栏目拼音自动生成(List/index?id=栏目IDDetail/index?cid=栏目ID,详情 id 为数字)。
  • 多语言:zh / tc / en 三份路由文件,确保多语言 URL 独立。

6. 数据库

  • 数据库连接配置于 .env[DATABASE] 段)与 config/database.php;当前本地库:rui_neng_test,表前缀:hc_
  • 模型层共 71 个模型(app/model),核心表(按前缀 hc_ 推断):
    • 内容:hc_contenthc_categoryhc_model(内容模型)、hc_model_fieldhc_content_taghc_tag
    • 站点:hc_websitehc_website_langhc_website_setting
    • 权限:hc_adminhc_rolehc_admin_menuhc_admin_login_loghc_admin_opt_log
    • 询盘/表单:hc_inquiryhc_inquiry_categoryhc_inquiry_emailhc_diy_form
    • 展示:hc_slidehc_advertisementhc_linkhc_navhc_attachment
    • 其他:hc_job 系列、hc_keyword 系列、用户插件表(见 plugins/user/install.sql
  • 数据库迁移使用 topthink/think-migration;后台提供数据库备份(MysqlBackupService / DatabaseController)。

7. 本地部署与开发

  1. 环境:phpstudy_pro(PHP >= 7.2,启用 xlswriterzipbcmathopensslsimplexmlxmlwriterdom 等扩展),MySQL。
  2. 站点配置:网站根目录指向 D:\phpstudy_pro\WWW\rui-neng\public,入口 index.php(前台)/ admin.php(后台)。
  3. 依赖安装composer install(注意 minimum-stability: devextend/php-opencc 以 path 仓库引入)。
  4. 环境配置:复制/编辑 .env,配置 [APP][DATABASE][LANG]
  5. 安装向导:首次部署访问后台安装路由(/install 系列)完成安装检测。
  6. 常用命令
    php think <command>          # 命令行任务
    php think service:discover   # 服务发现(composer 脚本自动触发)
    

8. 二次开发说明(本项目定制点)

根据近期 Git 提交记录,本项目相对 HuoCMS 原版的改动集中在站点1 前台主题定制public/themes/website/1/,zh/en 两套模板):

  • 首页跳转逻辑调整、导航栏「展会与活动」跳转
  • 底部导航调整、底部 logo 更换为深色版本
  • 可展开遮罩导航(mask navigation)支持子项
  • 产品页移动端样式(图片大小限制、内边距)、分类导航移动端不固定
  • 联系页面表单结构(添加锚点 ID)、标题显示、圆角调整
  • 新闻详情分页 hover 样式、关于页段落样式
  • 路由复用优化、搜索返回值修复

开发建议:

  • 前台页面改动优先在主题目录 public/themes/website/{站点ID}/{语言}/ 内进行,避免直接修改框架文件,便于后续 HuoCMS 版本升级合并。
  • 栏目路由由后台「栏目管理」的栏目拼音自动生成,新增栏目后需确认对应站点语言路由文件已更新。
  • 多语言内容通过 WebsiteLang / TranslateService 管理,简繁转换依赖 extend/php-opencc

9. 目录速查

需要改什么 去哪里
后台接口/业务 app/controller/backend/ + app/service/
前台页面逻辑 app/controller/frontend/
前台页面模板/样式 public/themes/website/{站点ID}/{语言}/
路由 route/(后台 admin.php,前台公共 index.php,站点 1_zh_frontend.php 等)
数据模型 app/model/
配置 config/ + .env
插件 plugins/
静态资源/上传 public/static/public/storage/
日志/缓存 runtime/