前端开发模板Pear Admin Layui

embedded/2024/11/14 13:16:57/

目录

  • 基本资料
  • 学习笔记
    • 04-Pear-Admin-Layui模板运行
    • 05-Pear-Admin-Layui-GIT方式代...
    • 06-Pear-Admin与Vue对比 & 07-Pear-Admin与Vue对比补充
    • 09-Pear-Admin-CRUD练习-数据库表创建
    • 12-Pear-Admin-CRUD练习-引入其它依赖 & 13-Pear-Admin-CRUD练习-三层架构以及常见配置 & 20-Pear-Admin-CRUD练习-在线文档生成工具Knife4j使用
    • 14-Pear-Admin-CRUD练习-映射数据库表的实体类
    • 16-Pear-Admin-CRUD练习-角色mapper单元测试
    • 32-Pear-Admin-CRUD练习-菜单mapper查询完成
    • 34-Pear-Admin-CRUD练习-菜单service增删查完成
    • 38-Pear-Admin-前端-左侧菜单修改
    • 40-Pear-Admin-前端-角色列表展示

基本资料

Layui 是免费开源的 UI 组件,而官方出品的 Layui Admin 一直是付费产品,今天介绍的 Pear Admin Layui 就是 Pear 开源团队基于 Layui 打造的免费开源 admin ui 框架,无论是外观还是代码风格完全遵循 Layui 的规范。非常适合缺少前端牛人的团队或者仍然喜欢纯粹原生 HTML/CSS/JS 开发者使用,可以在不需要搞懂前端工程化的一系列新知识的情况下快速启动一个项目。gitee地址

最近官网打不开。但是可以把 Pear Admin Site 的资源下载到本地,部署到iis或者其他web服务上面,运行之后是这样的:
在这里插入图片描述
以及Layui官网

学习笔记

在b站找了一个教程,目前看起来还行:
Layui 潮流模板 Pear-Admin-Layui 快速入门 — b站
up主的个人博客和入门练习网站

Layui_18">04-Pear-Admin-Layui模板运行

Visual Studio Code使用Live Server插件来启动一个前端项目(我注:直接放java web项目的static目录应该也会行)

LayuiGIT_20">05-Pear-Admin-Layui-GIT方式代…

在这里插入图片描述
如上图,在VS Code的这个位置可切换git分支,切换后可马上看到已经在Live Server中跑的前端项目的表现变化。

06-Pear-Admin与Vue对比 & 07-Pear-Admin与Vue对比补充

在这里插入图片描述
简单来说就是Pear Admin Layui更简单易上手,会HTML/CSS/JS就行,而基于Vue的功能更强大更灵活更适合产品化,但是需要学很多其它知识。

09-Pear-Admin-CRUD练习-数据库表创建

详见本博—典型的用户/角色/菜单表设计

12-Pear-Admin-CRUD练习-引入其它依赖 & 13-Pear-Admin-CRUD练习-三层架构以及常见配置 & 20-Pear-Admin-CRUD练习-在线文档生成工具Knife4j使用

Knife4j是一个集Swagger2和OpenAPI3为一体的增强解决方案

14-Pear-Admin-CRUD练习-映射数据库表的实体类

Intellij里连数据库,和用表自动生成实体类

16-Pear-Admin-CRUD练习-角色mapper单元测试

快速生成测试等

32-Pear-Admin-CRUD练习-菜单mapper查询完成

mapper递归查询,比如可用于菜单(嵌套子菜单)

34-Pear-Admin-CRUD练习-菜单service增删查完成

  • 偏末尾:
    对于已检查异常(Exception及其非运行时子类),Spring默认不会回滚事务。这意味着,如果你抛出了一个如IOException、SQLException等已检查异常,事务将不会回滚,除非你明确配置Spring来回滚这些异常。所以通常应该配置抛出RuntimeException或其子类。
    可以通过在@Transactional注解中使用rollbackFor属性来指定哪些已检查异常应该触发事务回滚。例如:@Transactional(rollbackFor = Exception.class)。

38-Pear-Admin-前端-左侧菜单修改

版本3.50.0:
左侧菜单在admin/data/menu.json

40-Pear-Admin-前端-角色列表展示

Layui官网有很多可参考和复用的代码和组件,比如表格的异步属性,就适用在表单里请求数据和渲染的场景。下面是我的可运行代码:

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title>角色管理</title><link rel="stylesheet" href="../../component/pear/css/pear.css" /><link rel="stylesheet" href="../../admin/css/other/result.css" /></head><body class="pear-container"><div class="layui-card"><div class="layui-card-body"><table class="layui-hide" id="test" lay-filter="test"></table></div></div><script src="../../component/layui/layui.js"></script><script src="../../component/pear/pear.js"></script><script>layui.use(function(){let table = layui.table;//表格渲染table.render({elem: '#test',url: 'http://127.0.0.1:8083/aiButton/logs/generatedButtons?clientId=client_a_pro',//    page: true,parseData: function(res){ // res 即为原始返回的数据// alert(	"res:" + res[0].outputUrl);return {"code": 0, // 解析接口状态 layui定义:如果是code为0才解析数据,不是的话就在表格显示msg?"msg": "暂无数据", // "count": 2, // 解析数据长度"data": res // 解析数据列表};},cols: [[{type: 'checkbox', fixed: 'left'},{field:'clientId', title: 'clientId'},{field:'outputUrl', title: '图片链接'},{title: 'tags',templet: function(row){return row.clientId=='client_a_pro' ? '<span class="layui-badge layui-bg-orange">是的</span>': '<span class="layui-badge layui-bg-green">不是</span>';}},{title: '操作',templet: function(row){let s = '<button type="button" class="layui-btn layui-bg-red">红色删除</button>';s += '<button class="layui-btn layui-btn-primary layui-border-blue">蓝色按钮</button>';return s;}}]]});});</script></body>
</html>

其中调用后端url返回的数据为:
[
{
“clientId”: “client_a_pro”,
“outputUrl”: “http://36.26.47.210:25337/NiukouToCloth/view?filename=img_00544_.png&type=output&subfolder=buttonx”,
“createdAt”: “2024-10-23T16:53:34”
},
{
“clientId”: “client_a_pro”,
“outputUrl”: “http://36.26.47.210:25337/NiukouToCloth/view?filename=img_00543_.png&type=output&subfolder=buttonx”,
“createdAt”: “2024-10-23T16:53:34”
},
{
“clientId”: “client_a_pro”,
“outputUrl”: “http://36.26.47.210:25337/NiukouToCloth/view?filename=img_00542_.png&type=output&subfolder=buttonx”,
“createdAt”: “2024-10-23T16:53:34”
},
{
“clientId”: “client_a_pro”,
“outputUrl”: “http://36.26.47.210:25337/NiukouToCloth/view?filename=img_00541_.png&type=output&subfolder=buttonx”,
“createdAt”: “2024-10-23T16:53:34”
}
]

呈现的页面效果:
在这里插入图片描述
这里关于parseData算是有个坑1:返回code为0才解析数据,否则就在表格显示msg。


  1. 关于LayUi中parseData中code的坑 ↩︎


http://www.ppmy.cn/embedded/136485.html

相关文章

Windows下mysql数据库备份策略

Windows下mysql的增量备份和全量备份&#xff0c;并利用schtasks设置定时任务执行bat脚本。 一、备份要求 序号 备份类型 备份频次 备份时间 1 增量备份 每周一-每周六各一次 18:00:00 2 全量备份 每周日一次 18:00:00 二、备份方法 2.1增量备份 2.1.1准备工作…

Python小白学习教程从入门到入坑------第二十六课 单例模式(语法进阶)

在这个节课的开始&#xff0c;我们先回顾一下面向对象课程中学的构造函数__init__() 目录 一、__init__() 和 __new__() 1.1 __init__() 1.2 __new__() 二、单例模式 2.1 特点 2.2 通过classmethod实现单例模式 2.3 通过装饰器实现单例模式 2.3 通过重写__new__() 实现…

文本转SQL(Text-to-SQL),场景介绍与 Spring AI 实现

在众多的 AI 大模型的应用场景中&#xff0c;Text-to-SQL&#xff0c;也就是文本转 SQL&#xff0c;是其中实用性很高的一个。Text-to-SQL 充分利用了大模型的优势&#xff0c;把用户提供的自然语言描述转换成 SQL 语句&#xff0c;还可以执行生成的 SQL 语句&#xff0c;再把查…

SpringBoot技术:共享汽车行业的新动力

摘要 随着信息技术在管理上越来越深入而广泛的应用&#xff0c;管理信息系统的实施在技术上已逐步成熟。本文介绍了共享汽车管理系统的开发全过程。通过分析共享汽车管理系统管理的不足&#xff0c;创建了一个计算机管理共享汽车管理系统的方案。文章介绍了共享汽车管理系统的系…

Vue 3 中Pinia状态管理库的使用方法总结

Pinia 是 Vue 3 的状态管理库&#xff0c;旨在替代 Vuex&#xff0c;提供更简洁和更灵活的 API。以下是如何在 Vue 3 项目中使用 Pinia 的详细步骤。 1. 安装 Pinia 首先&#xff0c;你需要在你的 Vue 3 项目中安装 Pinia。你可以使用 npm 或 yarn 进行安装&#xff1a; npm…

什么是 eCPRI,它对 5G 和 Open RAN 有何贡献?

这里写目录标题 eCPRI 协议平面&#xff1a;功能分解eCPRI与CPRI的区别CPRI具有以下特点&#xff1a;eCPRI具有以下特点&#xff1a;eCPRI 的优势 所需带宽减少 10 倍适用于 5G 和 Open RAN 的 eCPRI&#xff1a; 通用公共无线接口&#xff08;CPRI&#xff09;是一种行业合作&…

C++设计模式精选面试题及参考答案

目录 什么是单例模式?它的应用场景是什么?如何保证单例模式线程安全? 什么是工厂方法模式?如何与简单工厂模式进行比较? 抽象工厂模式和工厂方法模式有什么区别?请给出实际应用场景。 什么是建造者模式?它和工厂模式有什么不同? 在什么情况下使用单例模式?如何在…

postman入参file的接口测试

在 Postman 中测试入参是文件类型&#xff08;File&#xff09;参数的接口时&#xff0c;可以按照以下步骤进行操作&#xff1a; 打开 Postman&#xff1a; 启动 Postman 应用程序。 创建新请求&#xff1a; 点击左上角的 “” 按钮来创建一个新的请求。选择 “HTTP Request”…