thinkcmf/thinkcmf

ThinkCMF based on ThinkPHP 8.0 , it is a free and open source Content Management Framework(CMF)

Installs: 16 033

Dependents: 1

Suggesters: 0

Security: 5

Stars: 2 115

Watchers: 167

Forks: 601

Open Issues: 193

Language:JavaScript

Type:project

v8.0.1 2024-09-30 02:05 UTC

README

8.0.2正在紧张开发中,请不要用于正式环境!实际项目请下载最新正式版8.0.1

主要特性

  • MIT开源协议,让你飞得更高,行得更远
  • 基于ThinkPHP 8.0
  • 多应用架构
  • 应用中心
  • 支持插件机制
  • 支持多模板
  • 支持模板可视化设计
  • 支持RESTful API
  • 支持Swagger API文档
  • 支持数据库迁移
  • 支持Docker运行

功能列表

  • 基础网站功能(导航、幻灯片、友情链接)
  • 后台多角色权限管理
  • 云存储
  • 微信小程序
  • API
  • API基础功能
  • API用户基础功能
  • 傻瓜式模板
  • 后台模板设计
  • 后台不存在模板文件检测并切换到默认模板
  • 后台加密码
  • 全站静态文件CDN切换
  • 多应用
  • 前台多模板
  • 后台多模板
  • 模板命名空间
  • 多语言
  • 插件功能
  • 插件钩子功能
  • 插件在线安装
  • 应用在线安装
  • 模板在线安装
  • 数据库迁移
  • 插件和应用命令行工具
  • 轻量级命令行工具php think cli
  • 应用发布打包工具
  • 插件发布打包工具
  • 模板发布打包工具
  • 应用支持composer第三方库
  • 插件支持composer第三方库
  • 邮件发送
  • Docker容器
  • API支持Swagger
  • Swagger规范
  • URL美化
  • 应用导航共享
  • 应用后台菜单注解
  • 应用钩子配置
  • 用户操作配置
  • URL规则配置
  • 网站安装功能
  • 会员管理
  • 默认过滤器htmlspecialchars
  • 文件上传
  • 验证码优化
  • 强制所有创建,更新,删除操作携带Token请求
  • 基础控制器validateFailError()方法
  • 支持.env环境配置

即将废弃

  • app模式下后台所有非GET请求提交接口,请后台模板开发者尽快升级到API接口

开发手册

https://www.thinkcmf.com/docs/cmf8

Git仓库

  1. 码云:https://gitee.com/thinkcmf/ThinkCMF 主要仓库
  2. GitHub:https://github.com/thinkcmf/thinkcmf 国际镜像

环境推荐

PHP 8.1
MySQL 5.7+
打开rewrite

最低环境要求

PHP 8.0 (swagger插件要求PHP8.1)
MySQL 5.5
打开rewrite

安装程序

  1. public目录做为网站根目录,入口文件在 public/index.php
  2. 配置好网站,请访问http://你的域名

enjoy your cmf~!

Swagger

开启Swagger

后台应用中心->插件管理安装 Swagger插件(要求PHP8.1及以上)

相关文档

OpenAPI (https://www.openapis.org)
Swagger-PHP (https://zircote.github.io/swagger-php/)

Docker

如果需要Docker下运行ThinkCMF,可以使用下面的仓库
https://gitee.com/thinkcmf/docker

升级指导

8.0.0升级到8.0.1

  1. composer update

6.0.9升级到8.0.0

  1. 更改根目录composer.jsonrequire下列包版本
"php": ">=8.0.0",
"thinkcmf/cmf-app": "^8.0.0",
"thinkcmf/cmf-install": "^8.0.0",
"thinkcmf/cmf-api": "^8.0.0",
"thinkcmf/cmf-appstore": "^2.0",
"thinkcmf/cmf-root": "^2.0"
  1. composer update
  2. 后台所有非ajax的POST请求,改为GET请求
  3. 如自定义后台模板未用admin.js,请注意所有POST请求时在header中增加XX-Device-TypeAuthorization
  4. data/config/template.phpcmf_admin_default_theme后台模板改为admin_default

6.0.8升级到6.0.9

  1. composer update

6.0.7升级到6.0.8

  1. composer update

6.0.6升级到6.0.7

  1. composer update

6.0.5升级到6.0.6

  1. composer update

6.0.4升级到6.0.5

  1. 根目录composer.jsonrequire-dev属性值请更新
  2. composer update

6.0.3升级到6.0.4

  1. 安装静态资源包composer require thinkcmf/cmf-root
  2. 根目录composer.jsonminimum-stability,require,config属性值请更新
  3. composer update

6.0.2升级到6.0.3

  1. composer update

6.0.1升级到6.0.2

  1. composer.json文件里的autoload.psr-4.themes\\改为public/themes
  2. 安装应用市场包composer require thinkcmf/cmf-appstore
  3. public/themes,public/static静态文件也有更新
  4. 删除public/themes/admin_simpleboot3/admin目录下的app_store目录
  5. composer update

更新日志

8.0.2 coding~

  • 优化多语言识别流程
  • 修复模板文件列表设计报错
  • 修复模板卸载不删除多语言数据
  • 修复模板更新不更新多语言配置
  • 修复后台切换多语言影响前台语言

8.0.1

  • 增加前台模板多语言功能
  • 增加多语言设置功能
  • 后台模板全面升级为bootstrap5
  • 升级FontAwesome图标到v6.4.2
  • 增加后台设置统一入口
  • 增加cmf_lang_url函数
  • 增加后台模板自由设计
  • 优化API跨域处理
  • 优化插件安装卸载更新提示
  • 优化应用安装卸载更新提示
  • 优化自由模板组件解析
  • 修复插件API基类validate报错

8.0.0

  • 升级到ThinkPHP8.0
  • 增加后台管理本地文件上传
  • 增加admin.jsRESTful API支持
  • 增加插件PluginRestAdminBaseController基类
  • 后台所有POST请求需要传token
  • 后台使用RESTful API
  • 优化模板标签库加载忽略不存在标签库
  • 优化后台模板
  • 更改后台默认模板为admin_default
  • 增加后台风格arcoadmin
  • 增加后台模板支持bootstrap5
  • 完善前台默认模板default

6.0.9

  • 增强前台模板自由控件功能支持拖拽
  • 增加后台API权限管理
  • 增加后台API导入
  • 增加Swagger插件
  • 增加模板块控件css样式功能
  • 增加模板富文本rich_text变量类型
  • 增加应用支持系统钩子
  • 增加安装程序数据库迁移功能
  • 增加插件执行顺序设置
  • 增加cmf_get_file_url,cmf_utf8_bom函数
  • 优化后台开发者面板支持插件扩展
  • 优化后台插件管理
  • 优化后台首页
  • 优化插件设置
  • 优化权限认证

6.0.8

  • 更新TP到6.0.14
  • 增加应用轻量级命令行第三方库支持
  • 增加注册登录和验证码界面第三方验证码支持
  • 增加后台管理员个人邮件功能
  • 增加应用支持导入系统钩子功能
  • 优化上传对话框逻辑
  • 优化钩子管理界面
  • 优化后台管理员添加编辑逻辑增加安全性
  • 优化缓存清理
  • 优化路由识别
  • 优化系统文件加载
  • 修复后台部分URL刷新不加载
  • 修复幻灯片页面管理报错
  • 补全缺失语言包

6.0.7

  • 升级到tp6.0.13
  • 增加安装时检查API配置
  • 增加前台模板自由控件功能
  • 增加widgetsHead,widgetsBlock,widgetsScript标签
  • 增加css标签相同文件不重复引入功能
  • 增加js标签相同文件不重复引入功能
  • 修复后台菜单添加和编辑子菜单父级不选中
  • 修复后台菜单编辑删除报错
  • 修复应用市场模板升级报错
  • 增加php think cli支持/分隔符
  • 修复tree类相关bug

6.0.6

  • 后台模板设计增强,支持多终端
  • 增加命令行卸载应用
  • 增加网页卸载应用
  • 增加命令行卸载插件
  • 增加tree标签
  • 后台菜单和导航菜单管理使用tree标签
  • 优化应用插件模板升级安装逻辑
  • 优化应用打包格式
  • 去除eval的使用
  • 修复API跨域问题
  • 修复邮件验证码获取用户信息错误

6.0.5

  • 增加数据库迁移
  • 增加模板在线安装
  • 增加轻量级命令行工具php think cli
  • 增加应用发布打包工具
  • 增加插件发布打包工具
  • 增加模板发布打包工具
  • 优化命令行程序
  • 修复命令行下常量APP_PATH缺失
  • 独立Docker容器为单独仓库

6.0.4

  • 调整PHP版本最低限制为7.4.0
  • 增加应用在线安装
  • 增加应用管理
  • 增加安装时更多目录可写检查
  • 增加cmf_get_app_class函数
  • 增加cmf_is_cli函数
  • 增加cmf_test_write函数
  • 优化用户资料编辑
  • 优化函数cmf_scan_dir
  • 优化安装时数据库连接处理
  • 修复cmf_curl_get不支持https
  • 修复/home/slides/{id}API注解错误
  • 修复验证码登录API报错
  • 修复回收站删除、还原报错
  • 修复API路由加载
  • 修复插件更新无法删除旧钩子

6.0.3

  • 自定义分页类
  • 优化后台模板设计
  • 优化后台菜单导入
  • 修复验证器使用错误
  • 修复路由禁用报错
  • 修复插件模板异常类引入错误

6.0.2

  • 增加插件市场支持插件在线安装
  • 增加后台不存在模板文件检测并切换到默认模板
  • 移动swagger功能到插件
  • 优化插件后台权限检查
  • 修复url美化报错
  • 规范env命名,方便编辑器跳转
  • 修正themes命名空间
  • 修复角色删除问题
  • 修复管理员删除问题
  • 修复幻灯片删除问题
  • 优化用户注册
  • 优化后台菜单导入

6.0.1

  • 兼容php8.0
  • 升级到tp6.0.7
  • 增加插件后台基类admin_init钩子
  • 优化cmf版本获取
  • 优化cmf_clear_cache()函数
  • 修复插件URL美化报错
  • 修复上传报错
  • 修复demo应用 page/nav数据源演示报错
  • 修复导入后台菜单报错
  • 修复url美化问题
  • 修复头像上传报错

6.0.0

  • 升级到ThinkPHP6.0
  • API增加Swagger支持
  • 增加.env环境配置支持