LaravelAdmin

Packagist

Total Downloads

Awesome Laravel

Logo

介绍

laravel-admin是一个可以快速帮你构建后台管理的工具,它提供的页面组件和表单元素等功能,能帮助你使用很少的代码就实现功能完善的后台管理功能。(QQ群: 391528810) Demo || 阅读文档

特点

截图

laravel-admin

软件架构

基于laravel框架实现前后端分离的单页面应用架构

使用相关技术:vue+bootstrap+phpswoole+docker+laravel

Windows环境安装请查看 Windows安装

安装前准备

  1. 提前安装好git(整套部署流程使用git方式部署,请依照文档通过git clone命令安装)

安装教程

  1. 下载代码
git clone https://gitee.com/laravel-admin/laraveladmin.git
cd laraveladmin
  1. 参照.env.example配置.env文件(务必设置好mysql密码,redis密码)
cp .env.example .env
vi .env
  1. 初始化安装
sh ./docker/install.sh
  1. 设置当前代码目录的上级目录跟"~"目录必须包含 dokcer的File Sharing列表中的目录中

  2. php容器环境中安装composer相关扩展包及项目代码初始化

如果安装"laravel/envoy"过程中失败请切换下全局镜像源,进行尝试

- 腾讯云composer镜像源:https://mirrors.cloud.tencent.com/composer
- 阿里云composer镜像源:https://mirrors.aliyun.com/composer
- 华为云composer镜像源:https://mirrors.huaweicloud.com/repository/php
- laravel(中国)composer镜像源:https://packagist.laravel-china.org
- phpcomposer:https://packagist.phpcomposer.com
docker-compose run --rm php composer config -g repo.packagist composer https://mirrors.cloud.tencent.com/composer #设置镜像源
docker-compose run --rm php composer global require laravel/envoy -vvv #该命令出错了请切换镜像源
docker-compose run --rm php composer global dump-autoload
docker-compose run --rm node cnpm install #前端编译扩展包安装
docker-compose run --rm node npm run prod #编译前端页面js
docker-compose run --rm php envoy run init --branch=master #项目初始化
docker-compose up -d #启动服务
  1. 系统已安装有nginx服务器导致端口(80,443)冲突依据如下进行配置

    • 将nginx容器暴露宿主机端口修改防止冲突
vim docker-compose.yml

宿主机暴露端口修改

- 设置本机已有的nginx代理配置
server
{
    listen 80;
    server_name local.laraveladmin.cn;
    location / {
          proxy_http_version 1.1;
          proxy_set_header X-Real-IP $remote_addr;
          proxy_set_header X-Real-PORT $remote_port;
          proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
          proxy_set_header Host $http_host;
          proxy_set_header Scheme $scheme;
          proxy_set_header Server-Protocol $server_protocol;
          proxy_set_header Server-Name $server_name;
          proxy_set_header Server-Addr $server_addr;
          proxy_set_header Server-Port $server_port;
          proxy_pass http://host.docker.internal:81;
    }
}
  1. 解决扩展包mrgoon/aliyun-sms自动加载问题

  2. 访问

本地开发环境绑定hosts后就可以进行访问了

127.0.0.1 local.laraveladmin.cn
  1. 开发环境前端实时编译启动
docker-compose run --rm node npm run watch
  1. 代码更新升级
docker-compose exec php envoy run update --branch=master

使用说明

  1. 官网及相关文档: https://www.laraveladmin.cn

  2. 在线示例演示环境: https://demo.laraveladmin.cn

用户名:demo_admin

密码:admin123456

参与贡献

  1. Fork 本仓库
  2. 新建 Feat_xxx 分支
  3. 提交代码
  4. 新建 Pull Request

LaravelAdmin

简洁、直观、强悍的前端后端开发框架,让全栈开发更迅速、简单。

权限管理

内置基于权限系统,已将路由、菜单进行绑定。

统一API

后台为web及移动端提供统一,通用,简洁的纯json数据接口,实现前后端分离

用户管理

后台用户,前端用户,注册登录忘记密码及相关权限管理

操作日志

记录相关请求日志,方便操作记录跟踪.记录包括提交的参数及响应结果

代码自动生成

开发中可以使用Navicat可视化生成数据表,然后通过命令直接生成代码(控制器,模型,迁移文件,列表页面视图,编辑页面视图)

基础环境

提供基于laravel的docker线上环境,及开发环境(php mysql nginx redis phpswoole).启动时已自动配置好并启动了队列,定时任务,进程守护程序

vue单页面应用

基于前后端分离的思想搭建单页面应用,后端提供统一接口,前端基于VUE搭建

代码部署

基于 Laravel Envoy 提供远程部署解决方案,提供了一套干净的、最简化的语法。使用 Blade 风格语法,你可以轻松为开发设置任务。

三方登录

支持一个账号关联多个三方用户登录,并统一转换成统一的数据格式及解码相应数据项值

多国语言包

支持多国语言包全场景自动切换,支持开发中指定主语言包通过脚本调用翻译API(百度翻译,有道翻译,谷歌翻译)直接辅助翻译其它语言

数据批量导入导出

数据表批量导入导出,支持导入导出过程中暂停取消操作,支持导入数据自动验证数据并将错误数据excel返回,支持导入导出语言包转换

菜单管理

支持菜单内容开发环境维护,支持拖拽移位设置菜单位置

多主题自由切换

支持主题:夜间护眼模式,蓝色主题,白色主题,紫色主题,绿色主题,红色主题,黄色主题

日志文件

系统日志文件便捷查看页面,方便快速处理系统出现的异常问题

接口文档生成

可通过脚本自动辅助生成API接口文档,支持参数说明,支持响应说明,调试接口等功能

前后端表单验证

统一的前后端表单验证规则,可自动辅助生成验证相关代码,也支持自定义验证规则扩展

laravel

laravel

Laravel 是 Taylor Otwell 开发的一款基于 PHP 语言的 Web 开源框架,采用了 MVC 的架构模式

docker

docker

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也可以实现虚拟化。

Git

Git

Git 和其它版本控制系统(包括 Subversion 和近似工具)的主要差别在于 Git 对待数据的方式。

Vue.js

Vue.js

Vue是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用

Bootstrap

Bootstrap

Bootstrap 是全球最受欢迎的前端开源工具库,它支持 Sass 变量和 mixin、响应式栅格系统、自带大量组件和众多强大的 JavaScript 插件。

NPM

NPM

NPM(node package manager)是 Node.js 世界的包管理器。NPM 可以让 JavaScript 开发者在共享代码、复用代码以及更新共享的代码上更加方便。

Envoy

Envoy

Laravel Envoy 为定义运行在远程主机上的通用任务提供了一套干净的、最简化的语法。使用 Blade 风格语法,你可以轻松为开发设置任务,Artisan命令,以及更多。

composer

composer

Composer 是 PHP5.3以上 的一个依赖管理工具。它允许你声明项目所依赖的代码库,它会在你的项目中为你安装他们。

Nginx

Nginx

Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务

Redis

Redis

即远程字典服务,是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。

mysql

mysql

MySQL是一种开放源代码的关系型数据库管理系统(RDBMS),使用最常用的数据库管理语言--结构化查询语言(SQL)进行数据库管理。

Laravel Mix

Laravel Mix

larave-mix是位于webpack顶层的一个简洁的配置层,在 80% 的情况下使用 laravel mix 会使操作变的非常简单

Swoole

Swoole

Swoole 使 PHP 开发人员可以编写高性能高并发的 TCP、UDP、Unix Socket、HTTP、 WebSocket 等服务,让 PHP 不再局限于 Web 领域。

Vue I18n

Vue I18n

Vue I18n 是 Vue.js 的国际化插件

Element UI

Element UI

Element,一套为开发者、设计师和产品经理准备的基于 Vue 2.0 的桌面端组件库

ECharts

ECharts

一个基于 JavaScript 的开源可视化图表库

collect.js

collect.js

类似于Laravel Collection的前端集合操作库

Animate.css

Animate.css

Animate.css 是CSS3的动画库

editor.md

editor.md

开源在线 Markdown 编辑器,已经基于vue进行封装

select2

select2

可快速搜索选项的select组件库,已经转换成VUE组件

sortablejs

sortablejs

好用的前端拖拽组件库,已封装成VUE组件

VeeValidate

VeeValidate

基于vue的表单验证库,设计理念类似laravel的验证

vue-clipboard2

vue-clipboard2

好用的vue复制粘贴板组件库vue-clipboard2

vuex

vuex

每一个 Vuex 应用的核心就是 store(仓库)。“store”基本上就是一个容器,它包含着你的应用中大部分的状态 (state)

Vue Router

Vue Router

Vue Router 是 Vue.js (opens new window)官方的路由管理器。它和 Vue.js 的核心深度集成,让构建单页面应用变得易如反掌

vue-json-view

vue-json-view

项目开发过程中遇到展示json的场景,且json文件体积过大,小则几百kb,也尝试了已经开源的部分组件,但由于节点过多,渲染速度过慢,无法使用,已有项目技术选型为vue。

ztree

ztree

zTree 是一个依靠 jQuery 实现的多功能 “树插件”。优异的性能、灵活的配置、多种功能的组合是 zTree 最大优点。

极验验证

极验验证

新一代身份验证解决方案 整合三大运营商网关取号服务,准确识别用户手机号码,实现App 登录注册等环节一键通过,帮助企业优化验证流程,助力运营拉新、留存、促活。