ulthon / ulthon_admin
基于ThinkPHP6.0和layui的快速开发的后台管理系统。
Requires
- php: >=8.0.0
- ext-fileinfo: *
- ext-json: *
- czproject/git-php: ^4.2
- doctrine/annotations: 2.*
- guzzlehttp/guzzle: ^7.4
- iidestiny/flysystem-oss: ^4.0
- league/flysystem: ^3.0
- overtrue/flysystem-cos: ^5.0
- overtrue/flysystem-qiniu: ^3.0
- phpoffice/phpspreadsheet: ^1.22
- psr/simple-cache: >=1.0
- topthink/framework: ^8.0
- topthink/think-captcha: ^3.0
- topthink/think-multi-app: ^1.0
- topthink/think-orm: ^3.0
Requires (Dev)
- dev-master
- v2.0.113
- v2.0.112
- v2.0.111
- v2.0.110
- v2.0.109
- v2.0.108
- v2.0.107
- v2.0.106
- v2.0.105
- v2.0.104
- v2.0.103
- v2.0.102
- v2.0.101
- v2.0.100
- v2.0.99
- v2.0.98
- v2.0.97
- v2.0.96
- v2.0.95
- v2.0.94
- v2.0.93
- v2.0.92
- v2.0.91
- v2.0.90
- v2.0.89
- v2.0.88
- v2.0.87
- v2.0.86
- v2.0.85
- v2.0.84
- v2.0.83
- v2.0.82
- v2.0.81
- v2.0.80
- v2.0.79
- v2.0.78
- v2.0.77
- v2.0.76
- v2.0.75
- v2.0.74
- v2.0.73
- v2.0.72
- v2.0.71
- v2.0.70
- v2.0.69
- v2.0.68
- v2.0.67
- v2.0.66
- v2.0.65
- v2.0.64
- v2.0.63
- v2.0.62
- v2.0.61
- v2.0.60
- v2.0.59
- v2.0.58
- v2.0.56
- v2.0.55
- v2.0.54
- v2.0.53
- v2.0.52
- v2.0.51
- v2.0.50
- v2.0.49
- v2.0.48
- v2.0.47
- v2.0.46
- v2.0.45
- v2.0.44
- v2.0.43
- v2.0.42
- v2.0.41
- v2.0.40
- v2.0.39
- v2.0.38
- v2.0.37
- v2.0.36
- v2.0.35
- v2.0.34
- v2.0.33
- v2.0.32
- v2.0.31
- v2.0.30
- v2.0.30-beta
- v2.0.29
- v2.0.28
- v2.0.27
- v2.0.26
- v2.0.25
- v2.0.24
- v2.0.23
- v2.0.22
- v2.0.21
- v2.0.20
- v2.0.19
- v2.0.18
- v2.0.17
- v2.0.16
- v2.0.15
- v2.0.14
- v2.0.13
- v2.0.12
- v2.0.11
- v2.0.10
- v2.0.9
- v2.0.8
- v2.0.7
- v2.0.6
- v2.0.5
- v2.0.4
- v2.0.3
- v2.0.2
- v2.0.0
- v1.x-dev
- v1.0.0
- dev-curd_mutli_sql
- dev-dev_build_dist
This package is auto-updated.
Last update: 2024-12-05 13:43:11 UTC
README
为了更好的开发体验。
只为开发人员
服务,只为需求定制
服务。
基于ThinkPHP8和layui2.8的快速开发的后台管理系统。自定义扩展架构,支持自动更新上游框架代码。
技术交流QQ群:207160418
安装教程
>ulthon_admin 使用 Composer 来管理项目依赖。因此,在使用 ulthon_admin 之前,请确保你的机器已经安装了 Composer。
建议设置composer的镜像为阿里镜像源
通过git下载安装包,composer安装依赖包
第一步,下载安装包
git clone https://gitee.com/ulthon/ulthon_admin
或者使用composer创建
composer create-project ulthon/ulthon_admin
第二步,安装依赖包(使用composer创建可忽略)
composer install
第三步, 配置`.env`
复制`.example.env`为`.env`
修改`env`文件
[DATABASE]
TYPE=mysql
HOSTNAME=host.docker.internal
DATABASE=ulthon
USERNAME=root
PASSWORD=root
HOSTPORT=3306
CHARSET=utf8
DEBUG=true
PREFIX=ul_
第四步, 安装数据库
php think migrate:run
第五步,初始化数据库数据
php think seed:run
最后,本地临时运行
php think run
这个安装方式对开发体验非常友好
下载完整包
完整包下载方式更新中。
在线安装(初始化)数据库
框架并没有在线安装的功能,以后也不会内置提供。
但ulthon_admin使用数据库迁移工具安装数据库,不一定要在命令行环境使用,在普通的控制器中也可以使用。我们提供一个简单地代码脚本演示如何在线安装。
更新
直接运行命令,即可。
php think admin:update
注意:必须使用git管理您的代码,在更新时尽量您自己的所有改动提交,然后您可以对比更新的文件。
上游框架经常会增加新特性和修复细节问题,使用该命令会很方便的同步代码。
为什么要选择ulthon_admin
- 扩展架构,自动更新
- 不搞
插件生态
和应用市场
,没有历史包袱和开发包袱 - 保持最新技术栈和开发思想
- 不断完善开发体验
- 你想做一个可以长远开发维护的产品或定制项目
- 你需要一个只要简单的代码开发就能达到一定功能建设水平的项目
- 你希望有一个完善的教程文档
- ulthon_admin文档将不断完善
- 文档约定详细的目录规范、代码规范、代码规范管理工具配置文件等
- 文档展示详细的最佳实践和特性用例用法
- 文档包括常见问题和底层介绍
- 标准的依赖管理,支持根据实际情况精简和定制
站点地址
演示地址:http://admin.demo.ulthon.com/admin(账号:admin,密码:123456。备注:只有查看信息的权限)
代码仓库
项目特性
- 兼容PHP8.1
- 最低版本PHP7.4
- 支持移动端表格转卡片
- 支持多款皮肤
- 标准
- 拟物
- 原型
- 科幻
- GTK
- 像素
- WIN7
- 快速CURD命令行
- 一键生成控制器、模型、视图、JS文件
- 支持关联查询、字段设置等等
- 支持生成数据库迁移代码
- 支持生成模型字段的属性声明
- 基于
auth
的权限管理系统- 通过
注解方式
来实现auth
权限节点管理 - 具备一键更新
auth
权限节点,无需手动输入管理 - 完善的后端权限验证以及前面页面按钮显示、隐藏控制
- 通过
- 完善的菜单管理
- 分模块管理
- 无限极菜单
- 菜单编辑会提示
权限节点
- 完善的上传组件功能
- 本地存储
- 阿里云OSS
建议使用
- 腾讯云COS
- 七牛云OSS
- 完善的前端组件功能
- 对layui的form表单重新封装,无需手动拼接数据请求
- 简单好用的
图片、文件
上传组件 - 简单好用的富文本编辑器
ckeditor
- 对弹出层进行再次封装,以极简的方式使用
- 对table表格再次封装,在使用上更加舒服
- 根据table的
cols
参数再次进行封装,提供接口实现image
、switch
、list
等功能,再次基础上可以自己再次扩展 - 根据table参数一键生成
搜索表单
,无需自己编写
- 默认使用数据库记录日志
- 一键部署静态资源到OSS上
- 所有在
public\static
目录下的文件都可以一键部署 - 一个配置项切换静态资源(oss/本地)
- 所有在
- 上传文件记录管理
- 后台路径自定义,防止别人找到对应的后台地址
- 高度可定制性
- 可以精简代码功能
- 支持定制删除不需要的依赖
版本更新
保持和thinkPHP、layui的版本同步。
以后每当实现一个新特性则发布一个tag。
tag的主要意义是更新底层代码。如果您只改动了app和config下的文件,那么一般情况下,可以通过命令随便更新底层框架。
开源协议
木兰开源协议
是什么
tp8后台
,thinkphp8后台
,layui后台
,curd后台
皮肤预览
支持多款特效皮肤,更多请前往演示站点 查看
标准
规规矩矩,简洁大方,稳重不失活泼。
拟物
优雅来袭!从现在开始做一个优雅的程序员。
科幻
适合夜间使用,适合物联网系统、监控系统、大屏系统等非常规后台使用。
gnome
感受到来自gnome的恐惧了吗?一个“兼容Linux”的后台框架。
开发依赖
基本环境
只需要最基础的PHP开发环境即可。
- PHP8.0(正确设置PATH环境变量)
- composer
- Mysql5.7+(开发必备)
开发环境中,并不必须安装nginx、apache、ftp等软件,可以直接通过内置服务器进行开发。
实际上,如果你使用sqlite开发,连mysql都不想要安装,但是sqlite并不能很好地调整数据表和列,所以一般使用mysql等常规数据库。
SASS
框架中部分底层组件使用了SASS特性,但一般不需要关心,如果使用vscode,可参考以下内容:
名称: Live Sass Compiler
ID: glenn2223.live-sass
说明: Compile Sass or Scss to CSS at realtime.
版本: 5.5.1
发布者: Glenn Marks
VS Marketplace 链接: https://marketplace.visualstudio.com/items?itemName=glenn2223.live-sass
配置
vscode中liveSassCompiler的配置:
{
"liveSassCompile.settings.includeItems": [
"/public/static/common/css/theme/*.scss",
"/public/static/plugs/lay-module/tableData/tableData.scss",
"/public/static/plugs/lay-module/tagInput/tagInput.scss",
"/public/static/plugs/lay-module/propertyInput/propertyInput.scss"
]
}
docker
打包镜像
下面给出的命令指定了标签名,可自行替换。 使用以下命令打包时,相同的名称不会覆盖,名称会被新的镜像占用,因此用第二行以时间为版本名的方式,调试起来更方面。
docker build -t ulthon/ulthon_admin:v1 .
docker build -t ulthon/ulthon_admin:202404071454 .
运行镜像
下面的命令中为容器指定了名字,可自行替换。 相同名称不能重复运行,所以指定名字是个好习惯,否则docker会自动起名。
docker run -d \
--restart=always \
-p 88:80 \
-v /data/ulthon_admin/runtime:/var/www/html/runtime \
-v /data/ulthon_admin/storage:/var/www/html/public/storage \
-v /data/ulthon_admin/build:/var/www/html/public/build \
-v /data/ulthon_admin/safe_storage:/var/www/html/storage \
--name ulthon_admin ulthon/ulthon_admin:202404071454 \
server
- 端口:需要暴露80端口,冒号左侧可自定义,修改为本机可用的一个端口。
- runtime:需要映射runtime目录,冒号左侧可自定义,修改为指定的目录,推荐设置,因为缓存、日志等文件都保存在这个目录下,不指定的话,重启丢失。
- public/storage:框架默认的上传文件存储在public/storage下,因此必须映射该目录,如果系统不需要上传,则可以不设置。
- public/build:框架默认的生成文件(比如海报、二维码)存储在public/build下,推荐映射,否则重启后丢失。
- storage:框架设计了一个安全存储的位置,相对于storage在public下,storage在项目根目录下,因此无法直接请求到,相对安全,此时只能通过相关支持认证的控制器访问,因此更安全,可以用于存储身份证等敏感信息,但此机制大多数项目用不到,如果用到了必须要设置。
- 后端运行,
-d
参数可以让docker在后端运行。
如果有其他指定的目录,可在Dockerfile中自行添加,在命令中映射。
如果不映射目录,镜像不会出错,但重启后丢失。
基本用法
内置了docker打包命令,打包出的镜像支持两种调用方法:
- server或空
- think
有两个基本的用法,运行镜像后,如果在最后增加任何参数或者增加server,会启用镜像中的php-fpm和nginx,使用-d
后自动运行到后台,相当于框架一键运行。
如果以think开始传参,则是调用think命令,比如docker run xxxxx think admin:version
,是调用内置命令。
实际上可以不以think开始,也可以是其他路径的php文件,但这里不过多讨论
其他常用命令
# 一键删除停止的容器
docker rm $(docker ps -a -q)
# 导出镜像
docker save e950efa97445 -o ulthon_admin.tar ulthon/ulthon_admin:202404071454
# 导入镜像
docker load -i ulthon_admin.tar
# 删除指定名称的镜像
docker images | grep ulthon_admin | awk '{print $3}' | xargs docker rmi
# 停止指定名称的容器
docker stop ulthon_admin
# 删除指定名称的容器
docker remove ulthon_admin
# 开启交互终端
docker exec -it ulthon_admin /bin/bash
# 删除没有运行的镜像
docker image prune -a
# 移除卷
docker volume prune
# 移除所有卷
docker system prune