同步操作将从 Eddy/lightCMS 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
lightCMS
是一个轻量级的CMS
系统,也可以作为一个通用的后台管理框架使用。lightCMS
集成了用户管理、权限管理、日志管理、菜单管理等后台管理框架的通用功能,同时也提供模型管理、分类管理等CMS
系统中常用的功能。lightCMS
的代码一键生成功能可以快速对特定模型生成增删改查代码,极大提高开发效率。
lightCMS
基于Laravel 5.5
开发,前端框架基于layui
。
LightCMS&Laravel
学习交流QQ群:972796921
注意:如果你只需要一个通用的后台管理框架,使用admin
分支即可。
后台:
RBAC
的权限管理前台:
更多功能待你发现~
linux/windows & nginx/apache/iis & mysql 5.5+ & php 7.0+
首先请确保系统已安装好composer。
cd /data/www
git clone git_repository_url
cd lightCMS
composer install
新建一份环境配置,并配置好数据库等相关配置:
copy .env.example .env.pro
初始化系统:
php artisan migrate --seed
Nginx
为例)server {
listen 80;
server_name light.com;
root /data/www/lightCMS/public;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param APP_ENV pro; #不同配置对应不同的环境配置文件。比如此处应用会加载.env.pro文件。
include fastcgi_params;
}
}
后台访问地址:/admin/login
默认用户(此用户为超级用户,不受权限管理限制):admin/admin
基于角色的权限管理。只需新建好角色,给对应的角色分配好相应的权限,最后给用户指定角色即可。lightCMS
中权限的概念其实就是菜单,一条菜单对应一个laravel
的路由,也就是一个具体的操作。
只需要按约定方式写好指定路由的控制器注释,则可在菜单管理页面自动添加/更新对应的菜单信息。例如:
/**
* 角色管理-角色列表
*
* 取方法的第一行注释作为菜单的名称、分组名。注释格式:分组名称-菜单名称。
* 未写分组名称,则直接作为菜单名称,分组名为空。
* 未写注释则选用uri作为菜单名,分组名为空。
*/
public function index()
{
$this->breadcrumb[] = ['title' => '角色列表', 'url' => ''];
return view('admin.role.index', ['breadcrumb' => $this->breadcrumb]);
}
需要注意的是,程序可以自动获取菜单,但是菜单的层级关系还是需要在后台手动配置的。
首先需要将config/light.php
配置文件中的light_config
设置为true
:
然后只需在配置管理页面新增配置项或编辑已存在配置项,则在应用中可以直接使用laravel
的配置获取函数config
获取指定配置,例如:
// 获取 key 为 SITE_NAME 的配置项值
$siteName = config('light_config.SITE_NAME');
lightCMS
支持在后台直接创建模型,并可对模型的表字段进行自定义设置。设置完模型字段后,就不需要做其它工作了,模型的增删改查功能系统已经内置。
这里说明下模型的表单验证及后端的保存和更新处理。如果有自定义表单验证需求,只需在app/Http/Request/Admin/Entity
目录下创建模型的表单请求验证类即可。类名的命名规则:模型名+Request。例如User
模型对应的表单请求验证类为UserRequest
。
同理,如果想自定义模型的保存和更新处理逻辑,只需在app/Http/Controllers/Admin/Entity
目录下创建模型的控制器类即可,save
和update
方法实现可参考app/Http/Controllers/Admin/ContentController
。类名的命名规则:模型名+Controller。例如User
模型对应的控制器类为UserController
。
lightCMS
集成了一套简单的日志系统,默认情况下记录后台的所有操作相关信息,具体实现可以参考Log
中间件。
对于一个普通的模型,管理后台通常有增删改查相关的业务需求。lightCMS
拥有一键生成相关代码的能力,在建好模型的数据库表结构后,可以使用如下artisan
命令生成相关代码:
# config 为模型名称 配置 为模型中文名称
php artisan light:basic config 配置
成功执行完成后,会创建如下文件(注意:相关目录需要有写入权限):
routes/auto/
目录下的路由。$searchField
属性用来配置搜索字段,$listField
用来配置列表视图中需要展示哪些字段数据。list
方法,该方法用来返回列表数据。需要注意的是如果列表中的数据不能和数据库字段数据直接对应,则可对数据库字段数据做相应转换,可参考list
方法中的transform
部分。$formNames
属性,用来配置新增/编辑表单请求字段的白名单。此属性必需配置,否则获取不到表单数据。参考 request 对象的 only 方法
最后,如果想让生成的路由展示在菜单中,只需在菜单管理页面点击自动更新菜单即可。
如果需要对发表的内容(文章、评论等)进行内容审查,则可直接调用LightCMS
提供的checkSensitiveWords
函数即可。示例如下:
$result = checkSensitiveWords('出售正品枪支');
print_r($result);
/*
[
"售 出售 枪",
"正品枪支"
]
*/
LightCMS
集成了一套简单的用户注册登录系统,支持微信、QQ、微博三方登录。三方登录相关配置请参考config/light.php
。
有问题可以提 issue ,为项目贡献代码可以提 pull request
如果该项目对于您有所帮助,欢迎打赏支持项目开发 ^_^
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。