# TSCMS **Repository Path**: sootou/tscms ## Basic Information - **Project Name**: TSCMS - **Description**: TSCMS 是一款基于 ThinkPHP 5.1 框架开发的企业级内容管理系统(CMS),拥有完善的栏目管理、内容模型、模型管理、会员体系、RBAC权限管控、多模块可插拔架构等特性,适用于企业建站、内容门户、内部管理系统等场景,模块开发完全按照Thinkphp开发规范,不过度封装,不增加额外学习成本,让熟悉ThinkPHP的开发者能够无缝上手,轻松进行二次开发与团队协作。 - **Primary Language**: PHP - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2022-04-17 - **Last Updated**: 2026-11-05 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # TSCMS — ThinkPHP 5.1 企业级内容管理系统 基于 **ThinkPHP 5.1 + Layui** 的企业级内容管理系统,为企业建站、内容门户、内部管理系统等场景提供一站式后台管理解决方案。 --- ### 介绍 TSCMS 是一款基于 **ThinkPHP 5.1** 框架开发的企业级内容管理系统(CMS),拥有完善的栏目管理、内容模型、模型管理、会员体系、RBAC权限管控、多模块可插拔架构等特性,适用于企业建站、内容门户、内部管理系统等场景,模块开发完全按照Thinkphp开发规范,不过度封装,不增加额外学习成本,让熟悉ThinkPHP的开发者能够无缝上手,轻松进行二次开发与团队协作。 > 框架底层:ThinkPHP 5.1(LTS)|PHP >= 7.0.0 |MySQL --- ### 项目预览 | | | | ------------------------------------------------------------------------------------ | ----------------------------------------------------------------------- | | ![模版首页](public/static/images/tscms-home.png) | ![文章管理](public/static/images/tscms-content.png) | | ![模型字段](public/static/images/tscms-field.png) | ![模块列表](public/static/images/tscms-module.png) | --- ### 技术栈 | 分类 | 技术 | |------|------| | 后端框架 | PHP 7.0+ / ThinkPHP 5.1 LTS | | 数据库 | MySQL 5.5+(推荐 5.7+) | | 后台 UI | LayUI | | 前台模板 | ThinkPHP 内置模板引擎 + 自定义标签库 `{ts module='content' action="lists"}` | | 认证机制 | Session 双重签名校验 | | 权限系统 | 基于菜单节点的 RBAC 模型 | --- ### 核心架构 - **多应用模式** — 后台(admin)、前台(content)、API(api)三个独立应用,共享 common 层 - **可插拔模块** — 功能以模块形式独立安装/卸载,内置友情链接、轮播图、广告、表单收集、支付、采集、小程序等扩展模块 - **内容模型驱动** — 单页、文章、图片三种默认模型,支持自定义模型及扩展字段 - **RBAC 权限体系** — 基于后台菜单的细粒度权限控制,支持角色分组与授权 - **自定义URL规则** — 后台配置 URL 规则模板,支持 `{catdir}/{id}`、`{parentdir}/{catdir}` 等变量 - **碎片功能** — 支持创建自定义碎片功能,包含:文本、编辑器、图片、多图等 --- ### 功能列表 #### 内容管理 - 栏目管理(无限级分类,支持单页面、文章列表、外部链接三种栏目类型) - 模型关联(单页/文章/图片三种默认模型,支持自定义模型及扩展字段) - 内容关联(缩略图、多图、附件、标签、推荐位、置顶/头条/幻灯) - 推荐位管理(置顶/头条/幻灯,支持内容推送到多个推荐位) - 碎片管理(自定义碎片全局调用) - TAG管理(一键导入,自定义SEO、自定义URL) - 稿件管理(支持稿件审核、退稿等) - URL 规则(后台可视化配置,自动生成 SEO 友好的 URL) - 回收站机制(删除进入回收站,可还原或彻底删除) - 数据批量替换(一键替换全站或指定表字段内容) - 更新管理(支持批量更新栏目、批量更新内容、一键生成等) #### 模块管理(可插拔) | 模块 | 简介 | |------|------| | 友情链接 | 文字/图片链接管理,分组展示 | | 轮播图 | 多组轮播管理,支持图片跳转链接 | | 广告管理 | 广告位管理,支持多尺寸广告 | | 自定表单 | 自定义表单收集用户提交数据 | | 支付模块 | 集成微信支付、支付宝 | | 短信模块 | 集成阿里云、腾讯云等 | | 采集模块 | 远程内容采集与批量入库 | | 小程序模块 | 微信小程序接口支持 | #### 扩展功能 - 自定义URL(支持自定义栏目、内容、tag等url规则) - IP禁止(支持ip黑名单和白名单功能) - 数据库管理(一键备份和还原) - 敏感词管理(支持批量添加、自动替换) - 内链管理(支持批量添加、自动内链) - 数据库替换(支持指定表、指定字段替换) - Sitemap生成(一键生成网站地图) - 钩子管理 #### 会员体系 - 会员注册/登录(找回密码、修改密码) - 会员积分与余额 - 内容收藏与投稿 - 充值管理 #### 模板与前端 - 多模板风格(前台模板引擎支持,切换风格无需修改代码) - 自定义标签库(`{ts:content}` 标签灵活调用数据) - 标签系统(内容关联标签,支持标签聚合页面) - 静态页生成(支持栏目/内容静态化,提升访问速度) - 网站地图(自动生成 XML Sitemap) #### 系统功能 - RBAC 权限管控(基于后台菜单的细粒度权限控制,支持角色分组与授权) - 附件管理(统一上传管理,支持缩略图生成、图片水印) - 敏感词过滤(内容发布时自动检测敏感词) - 操作日志(完整记录后台所有增删改操作) --- ### 🖥 运行环境 | 项目 | 要求 | |------|------| | PHP | >= 7.0 推荐 7.0 ~ 7.4) | | MySQL | >= 5.5(推荐 5.7+) | | Web 服务器 | Apache 或 Nginx | **必须开启的 PHP 扩展:** | 扩展 | 说明 | |------|------| | PDO | 数据库连接 | | pdo_mysql | MySQL 驱动 | | GD | 缩略图、验证码 | | mbstring | 多字节字符串处理 | | OpenSSL | 安全通信 | | CURL | 远程请求、采集 | | JSON | 数据交互 | | Fileinfo | 文件类型检测 | | ZIP | 模块打包/解压 | **目录权限要求(需可写):** | 目录 | 说明 | |------|------| | `config/` | 数据库配置文件 | | `runtime/` | 运行时缓存、日志 | | `public/upload/` | 附件上传目录 | | `application/install/` | 安装锁定 | --- ### 🚀 安装指南 #### 方法一:安装向导(推荐) 1. 将源码解压到网站根目录(或 `public/` 子目录) 2. 浏览器访问 `http://您的域名/install.php`(或 `http://您的域名/public/install.php`) 3. 跟随 5 步安装向导: - **第 1 步** — 阅读并同意许可协议 - **第 2 步** — 环境检测(自动检查 PHP 版本、扩展、目录权限) - **第 3 步** — 模块选择(勾选需要的扩展模块) - **第 4 步** — 填写数据库连接信息和管理员账号 - **第 5 步** — 自动安装(建表、注册模块、创建管理员) 4. 安装完成后,访问 `/admin` 进入后台管理 > ⚠️ 安装完成后,系统会在 `application/install/install.lock` 生成锁定文件。如需重装,请手动删除该文件。 #### 方法二:手动安装 1. 创建数据库(UTF-8 编码) 2. 导入 `application/install/install.sql` 到数据库(安装向导会自动执行,也可手动导入) 3. 修改 `config/database.php`,填写数据库连接信息 4. 确保 `runtime/cache/` 目录存在且可写 5. 执行一下sql可插入管理员信息 ``` INSERT INTO `ts_admin` VALUES (1, 'admin', '3611c442253471e40a4c00a46c80e91f', 1, 'XdMi6D', '管理员', 1784725935, '127.0.0.1', 'admin@admin.com', 1, 0, 1784700958); //默认admin/888521;访问 `/admin`,即可登录(ts_改成你自己的前缀) ``` --- ### 🔐 默认后台地址 安装完成后,后台管理地址为: ``` http://您的域名/admin ``` 使用安装时设置的管理员用户名和密码登录。 --- ### 🌐 URL 重写(伪静态) #### Apache **根目录部署(推荐):** 将项目根目录指向 Web 根目录,`.htaccess` 内容: ```apache Options +FollowSymlinks -Multiviews RewriteEngine On RewriteCond %{REQUEST_URI} .+/$ RewriteRule ^(.*)/$ /$1 [L,R=301] RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php?s=$1 [QSA,PT,L] ``` **public 目录部署:** 将 `public/` 设为网站根目录,`public/.htaccess` 内容: ```apache Options +FollowSymlinks -Multiviews RewriteEngine On # 去除 URL 末尾斜杠 RewriteCond %{REQUEST_URI} .+/$ RewriteRule ^(.*)/$ /$1 [L,R=301] # 真实文件/目录直接放行(含静态HTML) RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f # 其他交给入口文件 RewriteRule ^(.*)$ index.php?s=$1 [QSA,PT,L] ``` #### Nginx **根目录部署:** 项目根目录为 Web 根目录: ```nginx location / { # 去除 URL 末尾斜杠(如 news/ → news),统一为无尾斜杠形式 rewrite ^/(.*)/$ /$1 permanent; if (!-e $request_filename){ rewrite ^(.*)$ /public/index.php?s=$1 last; break; } } ``` **public 目录部署:** `public/` 为 Web 根目录: ```nginx location / { if (!-e $request_filename){ rewrite ^(.*)$ /index.php?s=$1 last; break; } } ``` > 提示:Nginx 用户请将对应的 `(public/)nginx.htaccess` 中的规则配置到站点 `server` 块中。ThinkPHP 5.1 的 URL 伪静态后缀默认为 `.html`,通过 `url_html_suffix` 配置。 --- ### 📂 目录结构 ``` ├─ application 应用目录 │ ├─ admin 后台管理模块(登录、系统配置、附件、RBAC) │ ├─ api API 接口模块(短信/邮件验证码、图形验证码) │ ├─ common 公共基类模块(Base、Adminbase、Indexbase) │ ├─ content 内容模型模块(核心:栏目、模型、内容管理) │ ├─ member 会员管理模块(注册、登录、资料) │ ├─ install 安装向导模块 │ ├─ collect 采集模块(可插拔) │ ├─ pay 支付模块(可插拔) │ ├─ formguide 表单引导模块(可插拔) │ ├─ link 友情链接模块(可插拔) │ ├─ sms 短信模块(可插拔) │ ├─ swiper 轮播图模块(可插拔) │ ├─ ad 广告模块(可插拔) │ ├─ xiaochengxu 小程序模块(可插拔) │ ├─ common.php 公共函数文件 │ └─ tags.php 应用行为扩展定义文件 │ ├─ config 应用配置目录 │ ├─ app.php 应用配置(模块、URL、分页) │ ├─ database.php 数据库配置(安装时自动生成) │ ├─ template.php 模板引擎配置 │ ├─ cache.php 缓存配置 │ ├─ session.php Session 配置 │ ├─ hook.php 钩子定义 │ └─ log.php 日志配置 │ ├─ route 路由定义目录 │ └─ route.php 前台 SEO 路由规则 │ ├─ public WEB 目录(对外访问) │ ├─ index.php 入口文件 │ ├─ install.php public 安装入口 │ ├─ .htaccess Apache 重写规则 │ ├─ nginx.htaccess Nginx 重写规则参考 │ ├─ upload/ 附件上传目录 │ ├─ static/ 静态资源(JS/CSS) │ └─ html/ 静态化页面目录(启用静态化时生成) │ ├─ templates 前台模板目录 │ └─ default/ 默认模板风格 │ ├─ thinkphp 框架系统目录 ├─ extend 扩展类库目录 ├─ vendor 第三方 Composer 依赖 ├─ runtime 运行时目录(缓存、日志、编译) │ ├─ install.php 安装入口(根目录) ├─ .htaccess 根目录 Apache 重写规则 ├─ nginx.htaccess 根目录 Nginx 重写规则参考 ├─ composer.json Composer 定义文件 └─ index.php 根目录入口文件 ``` --- ### 🙏 特别鸣谢 - [ThinkPHP](https://www.thinkphp.cn/) - [LayUI](https://layui.dev/) - [PHPcms](https://www.phpcms.vip/)