14 Star 151 Fork 43

临沂奥宏网络科技有限公司 / ulthon_admin

2023-06-09 17:17
1529589 augushong 1578953767 augushong

今天ulthon_admin发布了新的版本,新增了一套拟物特效皮肤。

ulthon_admin是一个基于ThinkPHP6.1和layui2.8的快速开发的后台管理系统。只为开发人员服务,只为需求定制服务。基本的理念是为了更好的开发体验

虽然没有什么根据,但是更好看的后台能够让开发人员更高效的工作。基于这种理由,ulthon_admin开发了多套特效皮肤:

  • 标准
  • 原型
  • 科幻
  • GTK
  • 像素
  • WIN7

现在又发布了一套拟物皮肤。优雅来袭!从现在开始做一个优雅的程序员。

下列是拟物风格的皮肤预览效果。

有兴趣的抓紧来看看吧!

项目地址为: http://admin.demo.ulthon.com/

原文标题:ulthon_admin新增拟物特效皮肤,更好看的皮肤才有更好的开发体验!

原文地址:https://phpreturn.com/index/a6482e9e0e0726.html

原文平台:PHP武器库

版权声明:本文由phpreturn.com(PHP武器库官网)原创和首发,所有权利归phpreturn(PHP武器库)所有,本站允许任何形式的转载/引用文章,但必须同时注明出处。

最后提交信息为: 发布版本
2023-04-24 17:44
1529589 augushong 1578953767 augushong

升级layui2.8.0

ulthon_admin已经将后台升级为layui的2.8.0版本。

升级过程中,处理了一些对layui定制覆盖产生的错误。

layui2.8.0对老版本的兼容性很好(对2.7.6来说),任何人都可以根据本次提交的变动文件,查看如何将layui升级为2.8.0.

升级过程中,优化了一些特效皮肤对layui的兼容性。

特效皮肤预览:

  • 科幻风
  • GTK风
  • 更多皮肤可查看后台
    输入图片说明
    输入图片说明

未来规划

后台将根据新版layui的特性,未来将推进以下工作:

  • 优化和重构后台对layui的底层封装
  • 依照layui新特性优化代码
  • 统一各个组件的代码组织风格
  • 统一各个封装参数的表现风格
  • 清理潜在的技术债务

热烈祝贺layui2.8.0正式发行!

最后提交信息为: layui升级并兼容2.8.0
2023-03-29 15:42
1529589 augushong 1578953767 augushong

本次更新包括一些常规功能修复和优化,同时增强了curd的功能,极大提高开发体验。

更新内容:

    '修复部分css没有正确使用缓存参数',
    '修复table的field属性的边界情况处理',
    '新增table的重载方法',
    '优化table的tabbar设置关闭的情况',
    '修复菜单管理修改排序的错误效果',
    '新增curd生成的模型支持注解部分',

增强的curd

本次对curd自动生成代码中,可以直接在模型上生成字段的属性声明,这样可以极大地提高开发体验,也为以后生成apidoc打下基础。

生成的模型效果如下:

输入图片说明

如果你的编辑器支持基本的PHPdoc的话,将极大的提高开发体验:

输入图片说明
输入图片说明

可以实现代码自动补全提示,可以查看字段描述,避免开发时两眼摸黑。

未来方向

ulthon_admin继续以优化开发体验的方向改进。不发展插件市场等。只以开发的角度,提供最极致的开发体验。

最后提交信息为: 增加生成模型字段注解
2023-01-28 10:52
1529589 augushong 1578953767 augushong

本次更新了多处细节,提供更好的开发体验。同时还增加了一个自定义属性的输入组件。

更新内容

'优化表格刷新操作',
'优化工具类PATH',
'增加table的url回调用法',
'优化table的operat的空判断',
'优化科幻皮肤兼容细节',
'新增form的属性输入组件',

属性输入组件

新增了属性输入组件,可以在表单中提交key-value的格式数据。

效果

文档地址

https://doc.ulthon.com/read/augushong/ulthon_admin/63d48af581e62/zh-cn/2.x.html

最后提交信息为: 发布新版本
2022-12-14 10:51
1529589 augushong 1578953767 augushong

本次跟进升级到ThinkPHP6.1和flysystem2,解决了flysystem的缓存漏洞和tp的漏洞。

本次更新仍然以完善开发体验为主,完善多处开发细节。

    '升级ThinkPHP6.1',
    '升级第三方flysystem组件',
    '调整表格重载特性',
    '完善CURD模板',
    '修改table.operat.field特性',
    '清理技术债务',
    '增加权限菜单的权限标志',
    '修复导出方法文件名获取方式',
    '优化时间范围和数字范围的placeholder',
    '优化版本设置有效性',
    '优化表格导出按照字段字数设置宽度',
    '默认允许icon上传',
最后提交信息为: 发布新版本
2022-10-29 11:44
1529589 augushong 1578953767 augushong

本次更新了多处细节,优化了上传的开发体验。

本次更新仍然以提升开发体验为目的。

    '升级为最新的echart扩展',
    '后台使用增加基类全局状态',
    '修改默认头像为中性头像',
    '优化上传,增加svg扩展',
    '优化上传,增加设置扩展名分组的用法',
    '优化上传,增加检测上传代码注入的用法',
    '增加配置系统默认密码,并修改了表结构',
最后提交信息为: 发布新版本
2022-10-14 10:50
1529589 augushong 1578953767 augushong

本次更新了大量细节。

系统更新的最高原则是:提高开发体验。

同时将陆续接入新的功能特性。

'优化多处细节',
'优化生成数据库迁移代码',
'优化tableData组件',
'优化表格链接模板',
'增加删除临时代码命令',
'修复data-images放大顺序问题',
'修复编辑菜单导致丢失pid问题',
'优化跳转页面对PHP8.1的兼容',
'新增表格列的valueParser设置',
'新增全局复制事件监听',
'新增表格复制模板',
'完善url拼装',
'新增data-request的参数设置',
'增加兼容php8.1的函数',
'优化管理员添加设置默认值头像',
'增加控制器设置导出文件的文件名',
'优化getDataBrage支持嵌套读取',
最后提交信息为: 发布新版本
2022-09-05 23:13
1529589 augushong 1578953767 augushong

本次发行版中,优化了底层建设的代码,并实现了一个强大的特性(对我来说如此):

  • 从数据库生成数据库迁移代码

用法

什么是数据库迁移工具

ulthon_admin标准的安装流程是使用数据库迁移工具进行安装,他不仅可以安装到mysql数据库,也支持sqlitesqlserver等其它数据库。

具体用法参考文档:

https://www.kancloud.cn/manual/thinkphp6_0/1118028

但一般而言,我们开发中不会从写迁移代码开始,而是直接使用顺手的数据库工具(Dbeaver、Navcat等)设计数据库,然后在开发中修修补补。

这并没有什么不妥,但是如果你做的是一个标准产品,需要经常执行安装和更新,需要给多个客户部署时,就会感到吃力。

遇到这种情况,你只能从一个数据库导出,再导入到另一个数据库,反反复复的操作。还有可能不知道哪个是最新的,哪个需要更新,哪个更新到哪个版本了。

另一方面,如果数据库丢失了,而你手里又没有及时备份,那么也是很头疼的事。

数据库迁移工具就是为了解决以上种种问题的,比如我们需要新建一张test_goods数据表,我们可以使用数据库迁移工具,写出这样的代码:

<?php

use think\migration\Migrator;
use think\migration\db\Column;

class TestGoods extends Migrator
{
    public function change()
    {
        $table = $this->table('test_goods')
            ->setComment('商品列表')
            ->addColumn('cate_id', 'biginteger', ['limit' => '20', 'signed' => '0', 'null' => '0', 'default' => '0', 'comment' => '分类ID {relation} (table:mall_cate,relationBindSelect:title)',])
            ->addColumn('title', 'char', ['limit' => '20', 'null' => '0', 'default' => '', 'comment' => '商品名称',])
            .......
            ->addColumn('detail', 'text', ['null' => '1', 'comment' => '详情',])
            ->addIndex('uid', ['unique' => true])
            ->addIndex('detail', ['type' => 'fulltext'])
            ->addIndex('cate_id')
            ->create();
    }
}

然后运行命令:

php think migrate:run

此时这张表就出现在我们的数据库了,至于其他的表,并不会覆盖或丢失。

这样有很多好处:

  • 数据库跟随版本库存储不会丢失
  • 没有反复多余的导出数据库
  • 可以安装到“任何数据库”
  • 任何标准产品都可以任意运行该命令用于升级数据库

但是我们开发的时候,不会直接写数据迁移工具,而是从设计表开始。如果我们需要数据库迁移工具,就只能照着现在的数据表写迁移工具,这是以前的做法,也只能这样做。但是现在不一样了,通过一行命令可以一键生成数据库迁移的代码。就像生成curd那样。

现在按照我们的介绍看看怎么用吧。

使用

我们先用自己喜欢的方式设计出一张表。

-- admin_demo_ultho.ul_test_goods definition

CREATE TABLE `ul_test_goods` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `cate_id` bigint(20) unsigned NOT NULL DEFAULT '0' COMMENT '分类ID {relation} (table:mall_cate,relationBindSelect:title)',
  `title` char(20) NOT NULL DEFAULT '' COMMENT '商品名称',
  `logo` char(255) NOT NULL COMMENT '商品logo {image}',
  `images` text NOT NULL COMMENT '商品图片 {images}',
  `describe` text NOT NULL COMMENT '商品描述 {editor}',
  `total_stock` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '总库存',
  `sort` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '排序',
  `status` int(1) unsigned NOT NULL DEFAULT '0' COMMENT '状态 {radio} (0:正常,1:禁用)',
  `cert_file` varchar(100) NOT NULL COMMENT '合格证 {file}',
  `verfiy_file` text NOT NULL COMMENT '检测报告 {files}',
  `remark` char(255) NOT NULL DEFAULT '' COMMENT '备注说明',
  `create_time` int(11) unsigned NOT NULL DEFAULT '0',
  `update_time` int(11) unsigned NOT NULL DEFAULT '0',
  `delete_time` int(11) unsigned NOT NULL DEFAULT '0',
  `publish_time` int(10) unsigned NOT NULL COMMENT '发布日期 {date} (date)',
  `sale_time` bigint(20) unsigned NOT NULL COMMENT '售卖日期 {date} (datetime)',
  `intro` varchar(100) NOT NULL COMMENT '简介 {textarea}',
  `time_status` smallint(5) unsigned NOT NULL COMMENT '秒杀状态 {select} (0:未参加,1:已开始,3:已结束)',
  `is_recommend` tinyint(4) NOT NULL COMMENT '是否推荐 {switch} (0:不推荐,1:推荐)',
  `shop_type` varchar(100) NOT NULL COMMENT '商品类型 {checkbox} (taobao:淘宝,jd:京东)',
  `tag` varchar(100) NOT NULL COMMENT '商品标签 {table} (table:mall_tag,type:checkbox,valueField:id,fieldName:title)',
  `tag_backup` varchar(100) DEFAULT NULL COMMENT '商品标签(单选) {table} (table:mall_tag,type:radio,valueField:id,fieldName:title)',
  `from_area` varchar(100) NOT NULL COMMENT '产地 {city} (name-province:0,code:0)',
  `store_city` varchar(100) NOT NULL DEFAULT '山东省/临沂市' COMMENT '仓库 {city} (level:city)',
  `tag_input` varchar(100) NOT NULL COMMENT '商品标签 (输入) {tag}',
  `uid` varchar(100) NOT NULL COMMENT '唯一id',
  `price` decimal(10,2) DEFAULT NULL COMMENT '价格',
  `detail` longtext COMMENT '详情',
  PRIMARY KEY (`id`),
  UNIQUE KEY `ul_test_goods_uid_IDX` (`uid`) USING BTREE,
  KEY `cate_id` (`cate_id`) USING BTREE,
  FULLTEXT KEY `ul_test_goods_detail_IDX` (`detail`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8 COMMENT='商品列表';

面对这样一张数据表,如果我们要对照写出数据库迁移工具的代码,会很费事,而且很容易就写错了。

但现在时代变了,只需要一行命令

php think curd:migrate -t test_goods

此时会在数据库迁移工具的工作目录下生成一个文件:

database\migrations\20220905222557_test_goods.php

这跟使用官方的生成方式一致

此时会直接生成开头那样的数据库迁移代码。

结尾

可能你没用过数据库迁移工具,那么目前可能无法引起你的兴趣,(建议使用),如果你正在使用,那么这个命令绝对能给你带来极大的便利。甚至可以让那些拥有几十个数据表的项目,也能轻松地使用数据库迁移工具来安装了。

ulthon_admin正在积极维护,拥有极高的定制性,支持依赖裁剪,精简代码,欢迎使用。

最后提交信息为: 发布新版本
2022-08-29 11:23
1529589 augushong 1578953767 augushong

距离上一次发行版本,已经发布了许多tag,ulthon_admin会频繁的更新tag,每当积累一定的特性更新就会发布。所以您不需要依赖发行版来查看更新。

这期间我们更新了很多内容,比如:

  • 可以精简(几乎所有)依赖
  • 优化多处系统细节
  • 更方便的CURD生成功能

精简依赖

目前,ulthon_admin已经没有业务上不可或缺的组件(除了thinkPHP所以来的那部分),您可以根据您的情况删除不必要的依赖,比如我们内置支持三款对象存储(阿里云、七牛云、腾讯云),你可以轻易地删除掉不需要的依赖,并且不影响任何功能。
其他可以精简的还有guzzle、内置定时器、表格导出等。
具体方法可以参考文档:https://doc.ulthon.com/read/augushong/ulthon_admin/62f61e413b2c0.html?current_lang_id=15&current_version_id=16

多处系统细节

优化了多处系统细节,解决了很多技术债务,让开发定制的体验更加流程。

比如:

  • 所有字段默认支持排序
  • 导出功能支持关联查询
  • 弹框能够智能生成标题
  • 体验更好的表格选择器
  • 增加了新的按钮打开方式

更方便的CURD生成功能

我们的CURD使用方法体验更好,增加了一个生成到临时文件的参数,这样避免覆盖已修改的文件,开发者可以自由复制相关需要的代码。现在可以同时关联多个表。

ulthon_admin正在积极更新,如果你需要的是一个纯定制性质的项目,不需要花哨的插件市场,那么ulthon_admin很适合你。

最后提交信息为: 发布新版本
2022-07-12 17:35
1529589 augushong 1578953767 augushong

ulthon_admin的第二版已经发布很久了,当时只是从一个简单的模板后台升级成一个较为健全的后台框架。

自那时起,我使用它开发了多个项目,这期间优化了很多问题,实现了很多新特性,修改了很多底层逻辑和依赖(为了更方便定制),并且实现了几个很有趣的皮肤。并且 目前采用最新的layui2.7.4 ,以后也会随layui的版本及时更新。

第二版要求运行PHP最低7.4,并且兼容PHP8.1(推荐)。

ulthon_admin语法将继续兼容PHP7.2(继续与ThinkPHP保持一致),最低运行的版本因为部分依赖造成,可以根据实际情况放弃这些依赖

在此版本中更新了大量的特性:

  • curd 自动生成
    • 根据表格注释生成(而非命令行)
    • 增加城市选择器组件
    • 增加表格选择器组件
    • 增加标签输入组件
    • 使用类常数实现枚举值
  • 底层修改
    • 更新大量js的助手函数
    • 更新js中更过的table用法
    • 实现更多的表格搜索声称
    • 实现新的导出效果(根据实际表格字段和内容类型导出)
    • 去除很多工具依赖(节点生成、上传)
    • 新的上传更容易定制,并且符合composer生态和TP生态
  • 修复了很多的错误
  • 实现了很多特效皮肤
    • 标准
    • 标准
    • 原型
    • 科幻
    • GTK
    • 像素
    • WIN7
  • 实现命令行得安装流程
    • 使用数据库迁移工具安装数据库
  • 内置定时器用法
  • 实现移动端表格转卡片

不支持下载安装的用法,请使用composer或git。

最后提交信息为: 去除多余依赖;更新layui2.7.4;
PHP
1
https://gitee.com/ulthon/ulthon_admin.git
git@gitee.com:ulthon/ulthon_admin.git
ulthon
ulthon_admin
ulthon_admin

搜索帮助