From c81052b0b90ed1deafb7307cf911ae05e7ea24b3 Mon Sep 17 00:00:00 2001
From: whb <17803890193@163.com>
Date: Sat, 19 Aug 2023 17:07:29 +0800
Subject: [PATCH] =?UTF-8?q?=E7=9B=AE=E5=BD=95=E5=BD=92=E5=B1=9E=E4=BF=AE?=
 =?UTF-8?q?=E6=94=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../service/impl/CourseServiceImpl.java       |   4 -
 .../zhiyun03/filter/LoginCheckFilter.java     |   2 +-
 .../invite/service/impl/InviteServieImpl.java |   3 -
 .../serve/service/impl/ServeServiceImpl.java  |   4 -
 src/main/resources/application.yml            |   2 +-
 .../templates/layui-v2.6.8/academicList.html  | 182 +++--
 .../layui-v2.6.8/applicationList.html         | 737 ++++++++++++-----
 .../templates/layui-v2.6.8/courseList.html    | 737 ++++++++++++-----
 .../templates/layui-v2.6.8/downloadList.html  | 156 +++-
 .../templates/layui-v2.6.8/inviteList.html    |   7 +
 .../templates/layui-v2.6.8/login.html         |   2 +-
 .../templates/layui-v2.6.8/textualList.html   | 761 +++++++++++++-----
 12 files changed, 1920 insertions(+), 677 deletions(-)

diff --git a/src/main/java/com/zhiyun/zhiyun03/course/service/impl/CourseServiceImpl.java b/src/main/java/com/zhiyun/zhiyun03/course/service/impl/CourseServiceImpl.java
index df5d65e..f522221 100644
--- a/src/main/java/com/zhiyun/zhiyun03/course/service/impl/CourseServiceImpl.java
+++ b/src/main/java/com/zhiyun/zhiyun03/course/service/impl/CourseServiceImpl.java
@@ -49,10 +49,6 @@ public class CourseServiceImpl extends ServiceImpl<CourseMapper,Course> implemen
         PageHelper.startPage(page,limit);
         //查询所有课程
       List<CourseVo> courseVoList  = courseMapper.queryCourse();
-      if (courseVoList.isEmpty())
-      {
-          throw new ServiceException("400","课程数据为空");
-      }
         PageInfo<CourseVo> pageInfo = new PageInfo<CourseVo>(courseVoList);
         PageVO<CourseVo> courseVoPageInfo = new PageVO<>();
         //当前页
diff --git a/src/main/java/com/zhiyun/zhiyun03/filter/LoginCheckFilter.java b/src/main/java/com/zhiyun/zhiyun03/filter/LoginCheckFilter.java
index 8bcdcee..9d0a391 100644
--- a/src/main/java/com/zhiyun/zhiyun03/filter/LoginCheckFilter.java
+++ b/src/main/java/com/zhiyun/zhiyun03/filter/LoginCheckFilter.java
@@ -17,7 +17,7 @@ import java.io.IOException;
  * @author: Jie
  * @date: 2022/8/10 9:48
  **/
-@WebFilter(filterName = "LoginCheckFilter", urlPatterns = "/*")
+//@WebFilter(filterName = "LoginCheckFilter", urlPatterns = "/*")
 @Slf4j
 public class LoginCheckFilter implements Filter {
 
diff --git a/src/main/java/com/zhiyun/zhiyun03/invite/service/impl/InviteServieImpl.java b/src/main/java/com/zhiyun/zhiyun03/invite/service/impl/InviteServieImpl.java
index 4ee4f06..235e859 100644
--- a/src/main/java/com/zhiyun/zhiyun03/invite/service/impl/InviteServieImpl.java
+++ b/src/main/java/com/zhiyun/zhiyun03/invite/service/impl/InviteServieImpl.java
@@ -42,9 +42,6 @@ public class InviteServieImpl extends ServiceImpl<InviteMapper, Invite> implemen
         PageHelper.startPage(page, limit);
         //查询所有课程
         List<InviteVo> inviteVoList = inviteMapper.queryInvite();
-        if (inviteVoList.isEmpty()) {
-            throw new ServiceException("400", "课程数据为空");
-        }
         PageInfo<InviteVo> pageInfo = new PageInfo<InviteVo>(inviteVoList);
         PageVO<InviteVo> inviteVoPageVO = new PageVO<>();
         //当前页
diff --git a/src/main/java/com/zhiyun/zhiyun03/serve/service/impl/ServeServiceImpl.java b/src/main/java/com/zhiyun/zhiyun03/serve/service/impl/ServeServiceImpl.java
index bc26748..85121a0 100644
--- a/src/main/java/com/zhiyun/zhiyun03/serve/service/impl/ServeServiceImpl.java
+++ b/src/main/java/com/zhiyun/zhiyun03/serve/service/impl/ServeServiceImpl.java
@@ -43,10 +43,6 @@ public class ServeServiceImpl extends ServiceImpl<ServeMapper, Serve> implements
         PageHelper.startPage(page,limit);
         //查询所有课程
         List<ServeVo> serveVoList  = serveMapper.queryService();
-        if (serveVoList.isEmpty())
-        {
-            throw new ServiceException("400","服务数据为空");
-        }
         PageInfo<ServeVo> pageInfo = new PageInfo<ServeVo>(serveVoList);
         PageVO<ServeVo> serveVoPageVO = new PageVO<>();
         //当前页
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index 0befe0c..8f27ab5 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -19,7 +19,7 @@ spring:
     druid:
       url: jdbc:mysql://localhost:3306/zhiyun?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai
       username: root
-      password: 123456
+      password: root
   thymeleaf:
     cache: false
     prefix: classpath:/templates
diff --git a/src/main/resources/templates/layui-v2.6.8/academicList.html b/src/main/resources/templates/layui-v2.6.8/academicList.html
index f117e9d..62dbb9c 100644
--- a/src/main/resources/templates/layui-v2.6.8/academicList.html
+++ b/src/main/resources/templates/layui-v2.6.8/academicList.html
@@ -7,44 +7,10 @@
     <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
     <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
     <link rel="stylesheet" href="layui/css/layui.css" tppabs="//res.ilayuis.com/layui/dist/css/layui.css"  media="all">
+    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/Swiper/10.2.0/swiper-bundle.min.css"
+          integrity="sha512-s6khMl5GDS1HbQ5/SwL1wzMayPwHXPjKoBN5kHUTDqKEPkkGyEZWKyH2lQ3YO2q3dxueG3rE0NHjRawMHd2b6g=="
+          crossorigin="anonymous" referrerpolicy="no-referrer" />
     <!-- 注意:如果你直接复制所有代码到本地,上述css路径需要改成你本地的 -->
-    <style>
-        .select-img-wrap {
-            width: calc(100% - 40px);
-            margin: 0 20px;
-        }
-
-        .select-img-wrap .dir-img-icon {
-            position: relative;
-        }
-
-        .select-img-wrap .dir-img-icon .icon {
-            width: 70px;
-            height: 70px;
-            cursor: pointer;
-            vertical-align: bottom;
-            background: #e7e7e7;
-        }
-
-        .select-img-wrap .dir-img-icon.active::before {
-            content: "";
-            position: absolute;
-            right: 10px;
-            bottom: 10px;
-        }
-        .select-img-wrap .dir-img-icon.active::after {
-            content: "";
-            width: 16px;
-            height: 8px;
-            border: 3px solid #FF5722;
-            border-bottom: 0;
-            border-left: 0;
-            position: absolute;
-            right: 10px;
-            bottom: 10px;
-            transform: rotate(135deg);
-        }
-    </style>
 </head>
 <body>
 
@@ -338,7 +304,55 @@
 
 </script>
 <script type="text/html" id="addForm">
+    <style>
+        /* 取消弹框拖拽 */
+        .layui-layer-resize {
+            display: none;
+        }
+
+        .select-img-wrap {
+            width: calc(100% - 90px);
+            margin: 10px auto 0;
+        }
+
+        .select-img-wrap .dir-img-icon {
+            position: relative;
+            padding: 5px !important;
+        }
+
+        .select-img-wrap .dir-img-icon .icon {
+            width: 70px;
+            height: 70px;
+            cursor: pointer;
+            object-fit: cover;
+            vertical-align: bottom;
+            background: #e7e7e7;
+        }
 
+        .select-img-wrap .dir-img-icon.active {
+            background: #007aff;
+        }
+
+        .select-img-wrap .dir-img-icon.active::before {
+            content: "";
+            position: absolute;
+            right: 10px;
+            bottom: 10px;
+        }
+
+        .select-img-wrap .dir-img-icon.active::after {
+            content: "";
+            width: 16px;
+            height: 8px;
+            border: 3px solid #007aff;
+            border-bottom: 0;
+            border-left: 0;
+            position: absolute;
+            right: 10px;
+            bottom: 15px;
+            transform: rotate(135deg);
+        }
+    </style>
     <form class="layui-form" id="addDirectory">
 
         <!-- 把id 作为隐藏域传过去 -->
@@ -353,48 +367,116 @@
         </div>
         <div class="layui-form-item" style="display: flex;flex-direction: column">
             <label class="layui-form-label">选择icon</label>
-            <!--            <input type="hidden"  name="dirImg" id="dirImg" class="layui-form-label">选择icon</input>-->
             <div class="layui-row layui-col-space20 select-img-wrap">
                 <div name="dirImg" class="layui-col-md2 dir-img-icon" lay-event="addData">
-                    <img id="icon1" class="icon" src="https://picsum.photos/id/237/70/70" alt="图片1">
+                    <img id="icon1" class="icon" src="https://picsum.photos/id/237/70/70">
                 </div>
                 <div name="dirImg" class="layui-col-md2 dir-img-icon" lay-event="addData">
-                    <img id="icon2" class="icon" src="https://picsum.photos/id/238/70/70" alt="图片1">
+                    <img id="icon2" class="icon" src="https://picsum.photos/id/238/70/70">
                 </div>
                 <div name="dirImg" class="layui-col-md2 dir-img-icon" lay-event="addData">
-                    <img id="icon3" class="icon" src="https://picsum.photos/70/70" alt="图片1">
+                    <img id="icon3" class="icon" src="https://picsum.photos/id/239/70/70">
                 </div>
                 <div name="dirImg" class="layui-col-md2 dir-img-icon" lay-event="addData">
-                    <img id="icon4" class="icon" src="https://picsum.photos/70/70" alt="图片1">
+                    <img id="icon4" class="icon" src="https://picsum.photos/id/240/70/70">
                 </div>
                 <div name="dirImg" class="layui-col-md2 dir-img-icon" lay-event="addData">
-                    <img id="icon5" class="icon" src="https://picsum.photos/70/70" alt="图片1">
+                    <img id="icon5" class="icon" src="https://picsum.photos/id/261/70/70">
                 </div>
                 <div name="dirImg" class="layui-col-md2 dir-img-icon" lay-event="addData">
-                    <img id="icon4" class="icon" src="https://picsum.photos/70/70" alt="图片1">
+                    <img id="icon4" class="icon" src="https://picsum.photos/id/252/70/70">
                 </div>
                 <div name="dirImg" class="layui-col-md2 dir-img-icon" lay-event="addData">
-                    <img id="icon5" class="icon" src="https://picsum.photos/70/70" alt="图片1">
+                    <img id="icon5" class="icon" src="https://picsum.photos/id/253/70/70">
                 </div>
                 <div name="dirImg" class="layui-col-md2 dir-img-icon" lay-event="addData">
-                    <img id="icon4" class="icon" src="https://picsum.photos/70/70" alt="图片1">
+                    <img id="icon4" class="icon" src="https://picsum.photos/id/254/70/70">
                 </div>
                 <div name="dirImg" class="layui-col-md2 dir-img-icon" lay-event="addData">
-                    <img id="icon5" class="icon" src="https://picsum.photos/70/70" alt="图片1">
+                    <img id="icon5" class="icon" src="https://picsum.photos/id/255/70/70">
                 </div>
                 <div name="dirImg" class="layui-col-md2 dir-img-icon" lay-event="addData">
-                    <img id="icon4" class="icon" src="https://picsum.photos/70/70" alt="图片1">
+                    <img id="icon4" class="icon" src="https://picsum.photos/id/256/70/70">
                 </div>
                 <div name="dirImg" class="layui-col-md2 dir-img-icon" lay-event="addData">
-                    <img id="icon5" class="icon" src="https://picsum.photos/70/70" alt="图片1">
+                    <img id="icon5" class="icon" src="https://picsum.photos/id/257/70/70">
                 </div>
                 <div name="dirImg" class="layui-col-md2 dir-img-icon" lay-event="addData">
-                    <img id="icon5" class="icon" src="https://picsum.photos/70/70" alt="图片1">
+                    <img id="icon5" class="icon" src="https://picsum.photos/id/258/70/70">
                 </div>
             </div>
         </div>
     </form>
 </script>
+<style>
+    .icon-swiper-wrap {
+        position: relative;
+    }
+
+    .icon-swiper-wrap .swiper {
+        box-sizing: border-box;
+        width: calc(100% - 60px);
+        height: 162px;
+        margin: 20px 30px 20px 30px;
+    }
+
+    .icon-swiper-wrap .swiper-slide {
+        height: calc((100% - 10px) / 2);
+        text-align: center;
+        font-size: 12px;
+        background: #fff;
+        display: flex;
+        justify-content: center;
+        align-items: center;
+        position: relative;
+    }
+
+    .icon-swiper-wrap .swiper-slide.active::before {
+        content: "";
+        position: absolute;
+        right: 10px;
+        bottom: 10px;
+    }
+
+    .icon-swiper-wrap .swiper-slide.active::after {
+        content: "";
+        width: 16px;
+        height: 8px;
+        border: 3px solid #007aff;
+        border-bottom: 0;
+        border-left: 0;
+        position: absolute;
+        right: 10px;
+        bottom: 15px;
+        transform: rotate(135deg);
+    }
+
+    .icon-swiper-wrap .swiper-slide img {
+        width: 70px;
+        height: 70px;
+        cursor: pointer;
+        object-fit: cover;
+        vertical-align: bottom;
+        background: #e7e7e7;
+        border: 3px solid transparent;
+    }
+
+    .icon-swiper-wrap .swiper-slide.active img {
+        border: 3px solid #007aff;
+    }
+
+    .icon-swiper-wrap .swiper-pagination {
+        bottom: 0 !important;
+    }
+
+    .icon-swiper-wrap .swiper-button-prev {
+        margin-left: -10px !important;
+    }
+
+    .icon-swiper-wrap .swiper-button-next {
+        margin-right: -10px !important;
+    }
+</style>
 <script>
     function addAcademic(data) {
         //弹框
diff --git a/src/main/resources/templates/layui-v2.6.8/applicationList.html b/src/main/resources/templates/layui-v2.6.8/applicationList.html
index 6612ccc..5f6917b 100644
--- a/src/main/resources/templates/layui-v2.6.8/applicationList.html
+++ b/src/main/resources/templates/layui-v2.6.8/applicationList.html
@@ -1,51 +1,18 @@
 <!DOCTYPE html>
-<html>
+<html xmlns="http://www.w3.org/1999/html">
+
 <head>
     <meta charset="utf-8">
     <title>Layui</title>
     <meta name="renderer" content="webkit">
     <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
     <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
-    <link rel="stylesheet" href="layui/css/layui.css" tppabs="//res.ilayuis.com/layui/dist/css/layui.css"  media="all">
-    <!-- 注意:如果你直接复制所有代码到本地,上述css路径需要改成你本地的 -->
-    <style>
-        .select-img-wrap {
-            width: calc(100% - 40px);
-            margin: 0 20px;
-        }
-
-        .select-img-wrap .dir-img-icon {
-            position: relative;
-        }
-
-        .select-img-wrap .dir-img-icon .icon {
-            width: 70px;
-            height: 70px;
-            cursor: pointer;
-            vertical-align: bottom;
-            background: #e7e7e7;
-        }
-
-        .select-img-wrap .dir-img-icon.active::before {
-            content: "";
-            position: absolute;
-            right: 10px;
-            bottom: 10px;
-        }
-        .select-img-wrap .dir-img-icon.active::after {
-            content: "";
-            width: 16px;
-            height: 8px;
-            border: 3px solid #FF5722;
-            border-bottom: 0;
-            border-left: 0;
-            position: absolute;
-            right: 10px;
-            bottom: 10px;
-            transform: rotate(135deg);
-        }
-    </style>
+    <link rel="stylesheet" href="layui/css/layui.css" tppabs="//res.ilayuis.com/layui/dist/css/layui.css" media="all">
+    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/Swiper/10.2.0/swiper-bundle.min.css"
+          integrity="sha512-s6khMl5GDS1HbQ5/SwL1wzMayPwHXPjKoBN5kHUTDqKEPkkGyEZWKyH2lQ3YO2q3dxueG3rE0NHjRawMHd2b6g=="
+          crossorigin="anonymous" referrerpolicy="no-referrer" />
 </head>
+
 <body>
 
 <table class="layui-hide" id="test" lay-filter="test"></table>
@@ -53,7 +20,7 @@
 <script type="text/html" id="toolbarDemo">
     <div class="layui-btn-container">
         <button class="layui-btn layui-btn-sm" lay-event="addData">添加目录</button>
-        <button class="layui-btn layui-btn-sm" lay-event="addApplication">添加应用</button>
+        <button class="layui-btn layui-btn-sm" lay-event="addCourse">添加应用</button>
     </div>
 </script>
 <script type="text/html" id="barDemo">
@@ -65,15 +32,20 @@
 <script src="layui/layui.js" charset="utf-8"></script>
 <!-- 注意:如果你直接复制所有代码到本地,上述 JS 路径需要改成你本地的 -->
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
-
+<script src="https://cdnjs.cloudflare.com/ajax/libs/Swiper/10.2.0/swiper-bundle.min.js"
+        integrity="sha512-QwpsxtdZRih55GaU/Ce2Baqoy2tEv9GltjAG8yuTy2k9lHqK7VHHp3wWWe+yITYKZlsT3AaCj49ZxMYPp46iJQ=="
+        crossorigin="anonymous" referrerpolicy="no-referrer"></script>
 <script>
     layui.use('table', function () {
         var table = layui.table
+
+        //温馨提示:默认由前端自动合计当前行数据。从 layui 2.5.6 开始: 若接口直接返回了合计行数据,则优先读取接口合计行数据。
+        //详见:http://www.ilayuis.com/doc/modules/table.html#totalRow
         table.render({
             elem: '#test'
             , url: 'http://localhost:8080/application/queryApplication'
             , toolbar: '#toolbarDemo'
-            , title: '应用中心'
+            , title: '课程中心'
             , totalRow: true
             , parseData: function (res) {
                 console.log('data', res)
@@ -88,64 +60,62 @@
                 statusName: 'code', //规定返回的状态码字段为code
                 statusCode: 200 //规定成功的状态码为200
             }
-            ,cols: [[
-                {type: 'checkbox', fixed: 'left'}
+            , cols: [[
+                { type: 'checkbox', fixed: 'left' }
                 ,{field:'id', title:'编号', width:250, sort: true, }
                 ,{field:'appName', title:'应用名称', width:250}
                 ,{field:'appBrief', title:'应用简介', width:250}
                 ,{field:'appUrl', title:'超链接', width:250}
                 ,{field:'dirName', title:'归属目录', width:250}
-                ,{fixed: 'right', title:'操作', toolbar: '#barDemo', width:150}
+                , { fixed: 'right', title: '操作', toolbar: '#barDemo', width: 150 }
             ]]
-            ,page: true
-        });
+            , page: true
+        })
 
-        //工具栏事件
+        //头工具栏事件
         table.on('toolbar(test)', function (obj) {
-            var data = obj.data;
+            var data = obj.data
             //console.log(obj)
             if (obj.event === 'addData') {
-                addDir(data);
-            } else if (obj.event === 'addApplication') {
-                addApplication(data);
+                addDir(data)
+            } else if (obj.event === 'addCourse') {
+                addCourse(data)
             }
-        });
+        })
 
         //监听行工具事件
-        table.on('tool(test)', function(obj){
-            var data = obj.data;
+        table.on('tool(test)', function (obj) {
+            var data = obj.data
             //console.log(obj)
-            if(obj.event === 'del'){
-                layer.confirm('真的删除行么', function(index){
+            if (obj.event === 'del') {
+                layer.confirm('真的删除行么', function (index) {
                     //obj.del();//删除表结构
-                    layer.close(index);
+                    layer.close(index)
 
                     //获取要删除的服务的id
-                    var deleteApplication = data.id;
-
-                    //发送Ajax到后台,进行删除操作
-                    $.get("http://localhost:8080/application/deleteApplication", { "id": deleteApplication},
-                        function(result){
-                            if (result.code==200){
-                                // 删除成功之后 弹出msg
-                                layer.msg(result.msg);
-                                // 重点:继续显示当前页
-                                $(".layui-laypage-btn").click();
-                            } else {
-                                layer.msg(result.msg, {icon: 2});
-                                layer.close(index);
-                            }
-                        });
-                });
-            }else if(obj.event === 'edit'){
-                selectOne(data);
+                    var deleteCourseId = data.id
+
+                    $.get("http://localhost:8080/application/deleteApplication", { "id": deleteCourseId }, function (result) {
+                        if (result.code == 200) {
+                            // 删除成功之后 弹出msg
+                            layer.msg(result.msg)
+                            // 重点:继续显示当前页
+                            $(".layui-laypage-btn").click()
+                        } else {
+                            layer.msg(result.msg, { icon: 2 })
+                            layer.close(index)
+                        }
+                    })
+                })
+            } else if (obj.event === 'edit') {
+                selectOne(data)
             }
-        });
+        })
+
     });
 </script>
-
 <script>
-    function selectOne(data) {
+    function selectOne (data) {
         //弹框
         layer.open({
             type: 1,
@@ -160,61 +130,89 @@
                 $("#appBrief").val(data.appBrief);
                 $("#appUrl").val(data.appUrl);
                 $("#dirName").val(data.dirName);
+                $("#appIcon").val(data.appIcon)
+
                 //渲染页面
-                layui.form.render();
+                layui.form.render()
             },
             btn: ['提交', '取消']
             , yes: function (index, layero) {
                 //修改操作
-                $.post("http://localhost:8080/application/updateApplication", $("#updateApplication").serialize(),
+                $.post("http://localhost:8080/application/updateApplication", $("#updateCourse").serialize(),
                     function (data) {
                         if ("success" == data.msg) {
-                            layer.msg(data.msg);
-                            $(".layui-laypage-btn").click();
-                            parent.layer.close(index);
+                            layer.msg(data.msg)
+                            $(".layui-laypage-btn").click()
+                            parent.layer.close(index)
                         } else {
-                            layer.msg(data.msg);
+                            layer.msg(data.msg)
                         }
-                    });
-
+                    })
             }
             , btn2: function (index, layero) {
                 // alert("取消")
             }
-        });
+        })
         layui.use(['form'], function () {
-            var form = layui.form;
+            var form = layui.form
             $.ajax({
                 url: 'http://localhost:8080/application/queryDir',
                 type: "get",
                 success: function (data) {
                     if (data.msg === "success") {
                         //给一个默认值(‘请选择’)
-                        var opt = '<option value="" selected="' + data.dirName + '"></option>';
+                        var opt = '<option value="" selected="' + data.dirName + '"></option>'
                         //获取返回的数据
-                        var value = data.data;
+                        var value = data.data
                         //循环遍历
                         for (var i in value) {
                             opt += '<option value = "' + value[i].dirName + '">' + value[i].dirName + '</option>'
                             console.log(value[i].dirName)
                         }
-                        $("#directorId").html(opt);
-                        form.render('select');//需要渲染一下
+                        $("#directorId").html(opt)
+                        form.render('select')//需要渲染一下
 
                     } else {
-                        layer.alert(data.msg, {icon: 2, title: '提示'}, function (i) {
-                            layer.closeAll();
-                        });
+                        layer.alert(data.msg, { icon: 2, title: '提示' }, function (i) {
+                            layer.closeAll()
+                        })
                     }
 
                 }
-            });
-        });
+            })
+        })
+
+        var swiper = new Swiper(".icon-swiper", {
+            slidesPerView: 6,
+            spaceBetween: 10,
+            slidesPerGroup: 12,
+            grid: {
+                rows: 2,
+            },
+            pagination: {
+                el: ".swiper-pagination",
+                clickable: true,
+            },
+            navigation: {
+                nextEl: ".swiper-button-next",
+                prevEl: ".swiper-button-prev",
+            },
+        })
+
+        $(".icon-swiper").on('click', '.swiper-slide>img', function (event) {
+            const parentEl = $(this).parent('.swiper-slide')
+            const siblingsEl = $(parentEl).siblings('.swiper-slide')
+            parentEl.addClass('active')
+            $.each(siblingsEl, function () {
+                $(this).removeClass('active')
+            })
+            appIcon = $(this).attr('src')
+        })
     }
 </script>
 <script type="text/html" id="updateForm">
 
-    <form class="layui-form" id="updateApplication">
+    <form class="layui-form layui-form-pane" id="updateCourse" style="padding: 15px;">
 
         <!-- 把id 作为隐藏域传过去 -->
         <input type="hidden" name="id" id="id">
@@ -252,19 +250,132 @@
                 </select>
             </div>
         </div>
-
-        <div class="layui-form-item">
+        <div class="layui-form-item" style="display: flex;flex-direction: column">
             <label class="layui-form-label">选择icon</label>
-            <div class="layui-input-block">
-                <input type="text" name="appIcon" id="appIcon" class="layui-input">
+            <div class="icon-swiper-wrap">
+                <div #swiperRef="" class="swiper icon-swiper">
+                    <div  class="swiper-wrapper">
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/500/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/501/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/502/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/503/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/504/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/505/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/506/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/507/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/508/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/509/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/510/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/511/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/512/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/520/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/521/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/523/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/533/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/534/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/535/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/536/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/550/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/551/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/552/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/553/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/554/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/555/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/556/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/557/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/558/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/559/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/560/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/562/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/563/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/564/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/565/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/566/70/70">
+                        </div>
+                    </div>
+                </div>
+                <div class="swiper-button-next" style="margin-right: -5px;"></div>
+                <div class="swiper-button-prev"></div>
+                <div class="swiper-pagination"></div>
             </div>
         </div>
-
+        <!-- 弹框错乱,多了这个 div 闭合标签 -->
+        <!-- </div> -->
     </form>
 </script>
-
 <script>
-    function addDir(data) {
+    function addDir (data) {
         var $ = layui.jquery
         var dirImg = ''
         //弹框
@@ -274,7 +385,6 @@
             title: ['添加页面', 'font-size:18px;'],
             area: ['600px', '600px'],
             btn: ['提交', '取消']
-
             , yes: function (index, layero) {
                 // 获取所有图标元素
                 var dirName = $('#dirName').val()
@@ -286,24 +396,24 @@
                 $.get("http://localhost:8080/application/addDirectory", params,
                     function (data) {
                         if ("success" == data.msg) {
-                            layer.msg(data.msg);
-                            $(".layui-laypage-btn").click();
-                            parent.layer.close(index);
+                            layer.msg(data.msg)
+                            $(".layui-laypage-btn").click()
+                            parent.layer.close(index)
                         } else {
-                            layer.msg(data.msg);
+                            layer.msg(data.msg)
                         }
-                    });
+                    })
             }
             , btn2: function (index, layero) {
                 // alert("取消")
             }
-        });
-        $(".select-img-wrap").on('click', '.dir-img-icon>img', function (event){
+        })
+        $(".select-img-wrap").on('click', '.dir-img-icon>img', function (event) {
             const parentEl = $(this).parent('.dir-img-icon')
             const siblingsEl = $(parentEl).siblings('.dir-img-icon')
             parentEl.addClass('active')
-            Array.from(siblingsEl).forEach(item=>{
-                $(item).removeClass('active')
+            $.each(siblingsEl, function () {
+                $(this).removeClass('active')
             })
             dirImg = $(this).attr('src')
         })
@@ -311,12 +421,58 @@
 
 </script>
 <script type="text/html" id="addForm">
+    <style>
+        /* 取消弹框拖拽 */
+        .layui-layer-resize {
+            display: none;
+        }
 
-    <form class="layui-form" id="addDirectory">
+        .select-img-wrap {
+            width: calc(100% - 90px);
+            margin: 10px auto 0;
+        }
 
+        .select-img-wrap .dir-img-icon {
+            position: relative;
+            padding: 5px !important;
+        }
+
+        .select-img-wrap .dir-img-icon .icon {
+            width: 70px;
+            height: 70px;
+            cursor: pointer;
+            object-fit: cover;
+            vertical-align: bottom;
+            background: #e7e7e7;
+        }
+
+        .select-img-wrap .dir-img-icon.active {
+            background: #007aff;
+        }
+
+        .select-img-wrap .dir-img-icon.active::before {
+            content: "";
+            position: absolute;
+            right: 10px;
+            bottom: 10px;
+        }
+
+        .select-img-wrap .dir-img-icon.active::after {
+            content: "";
+            width: 16px;
+            height: 8px;
+            border: 3px solid #007aff;
+            border-bottom: 0;
+            border-left: 0;
+            position: absolute;
+            right: 10px;
+            bottom: 15px;
+            transform: rotate(135deg);
+        }
+    </style>
+    <form class="layui-form layui-form-pane" id="addDirectory" style="padding: 15px;">
         <!-- 把id 作为隐藏域传过去 -->
         <input type="hidden" name="id" id="id">
-
         <div class="layui-form-item">
             <label class="layui-form-label">目录名称</label>
             <div class="layui-input-block">
@@ -326,106 +482,209 @@
         </div>
         <div class="layui-form-item" style="display: flex;flex-direction: column">
             <label class="layui-form-label">选择icon</label>
-            <!--            <input type="hidden"  name="dirImg" id="dirImg" class="layui-form-label">选择icon</input>-->
             <div class="layui-row layui-col-space20 select-img-wrap">
                 <div name="dirImg" class="layui-col-md2 dir-img-icon" lay-event="addData">
-                    <img id="icon1" class="icon" src="https://picsum.photos/id/237/70/70" alt="图片1">
+                    <img id="icon1" class="icon" src="https://picsum.photos/id/237/70/70">
                 </div>
                 <div name="dirImg" class="layui-col-md2 dir-img-icon" lay-event="addData">
-                    <img id="icon2" class="icon" src="https://picsum.photos/id/238/70/70" alt="图片1">
+                    <img id="icon2" class="icon" src="https://picsum.photos/id/238/70/70">
                 </div>
                 <div name="dirImg" class="layui-col-md2 dir-img-icon" lay-event="addData">
-                    <img id="icon3" class="icon" src="https://picsum.photos/70/70" alt="图片1">
+                    <img id="icon3" class="icon" src="https://picsum.photos/id/239/70/70">
                 </div>
                 <div name="dirImg" class="layui-col-md2 dir-img-icon" lay-event="addData">
-                    <img id="icon4" class="icon" src="https://picsum.photos/70/70" alt="图片1">
+                    <img id="icon4" class="icon" src="https://picsum.photos/id/240/70/70">
                 </div>
                 <div name="dirImg" class="layui-col-md2 dir-img-icon" lay-event="addData">
-                    <img id="icon5" class="icon" src="https://picsum.photos/70/70" alt="图片1">
+                    <img id="icon5" class="icon" src="https://picsum.photos/id/261/70/70">
                 </div>
                 <div name="dirImg" class="layui-col-md2 dir-img-icon" lay-event="addData">
-                    <img id="icon4" class="icon" src="https://picsum.photos/70/70" alt="图片1">
+                    <img id="icon4" class="icon" src="https://picsum.photos/id/252/70/70">
                 </div>
                 <div name="dirImg" class="layui-col-md2 dir-img-icon" lay-event="addData">
-                    <img id="icon5" class="icon" src="https://picsum.photos/70/70" alt="图片1">
+                    <img id="icon5" class="icon" src="https://picsum.photos/id/253/70/70">
                 </div>
                 <div name="dirImg" class="layui-col-md2 dir-img-icon" lay-event="addData">
-                    <img id="icon4" class="icon" src="https://picsum.photos/70/70" alt="图片1">
+                    <img id="icon4" class="icon" src="https://picsum.photos/id/254/70/70">
                 </div>
                 <div name="dirImg" class="layui-col-md2 dir-img-icon" lay-event="addData">
-                    <img id="icon5" class="icon" src="https://picsum.photos/70/70" alt="图片1">
+                    <img id="icon5" class="icon" src="https://picsum.photos/id/255/70/70">
                 </div>
                 <div name="dirImg" class="layui-col-md2 dir-img-icon" lay-event="addData">
-                    <img id="icon4" class="icon" src="https://picsum.photos/70/70" alt="图片1">
+                    <img id="icon4" class="icon" src="https://picsum.photos/id/256/70/70">
                 </div>
                 <div name="dirImg" class="layui-col-md2 dir-img-icon" lay-event="addData">
-                    <img id="icon5" class="icon" src="https://picsum.photos/70/70" alt="图片1">
+                    <img id="icon5" class="icon" src="https://picsum.photos/id/257/70/70">
                 </div>
                 <div name="dirImg" class="layui-col-md2 dir-img-icon" lay-event="addData">
-                    <img id="icon5" class="icon" src="https://picsum.photos/70/70" alt="图片1">
+                    <img id="icon5" class="icon" src="https://picsum.photos/id/258/70/70">
                 </div>
             </div>
         </div>
     </form>
 </script>
-<script>
-    function addApplication(data) {
-        //弹框
-        layer.open({
-            type: 1,
-            content: $("#addForm1").html(),
-            title: ['添加应用', 'font-size:18px;'],
-            area: ['600px', '600px'],
-            btn: ['提交', '取消']
-            , yes: function (index, layero) {
-                //修改操作
-                $.post("http://localhost:8080/application/addApplication", $("#addApplication").serialize(),
-                    function (data) {
-                        if ("success" == data.msg) {
-                            layer.msg(data.msg);
-                            $(".layui-laypage-btn").click();
-                            parent.layer.close(index);
-                        } else {
-                            layer.msg(data.msg);
-                        }
-                    });
-            }
-            , btn2: function (index, layero) {
-                // alert("取消")
-            }
-        });
+<style>
+    .icon-swiper-wrap {
+        position: relative;
+    }
+
+    .icon-swiper-wrap .swiper {
+        box-sizing: border-box;
+        width: calc(100% - 60px);
+        height: 162px;
+        margin: 20px 30px 20px 30px;
+    }
 
-        layui.use(['form'], function() {
-            var form = layui.form;
+    .icon-swiper-wrap .swiper-slide {
+        height: calc((100% - 10px) / 2);
+        text-align: center;
+        font-size: 12px;
+        background: #fff;
+        display: flex;
+        justify-content: center;
+        align-items: center;
+        position: relative;
+    }
+
+    .icon-swiper-wrap .swiper-slide.active::before {
+        content: "";
+        position: absolute;
+        right: 10px;
+        bottom: 10px;
+    }
+
+    .icon-swiper-wrap .swiper-slide.active::after {
+        content: "";
+        width: 16px;
+        height: 8px;
+        border: 3px solid #007aff;
+        border-bottom: 0;
+        border-left: 0;
+        position: absolute;
+        right: 10px;
+        bottom: 15px;
+        transform: rotate(135deg);
+    }
+
+    .icon-swiper-wrap .swiper-slide img {
+        width: 70px;
+        height: 70px;
+        cursor: pointer;
+        object-fit: cover;
+        vertical-align: bottom;
+        background: #e7e7e7;
+        border: 3px solid transparent;
+    }
+
+    .icon-swiper-wrap .swiper-slide.active img {
+        border: 3px solid #007aff;
+    }
+
+    .icon-swiper-wrap .swiper-pagination {
+        bottom: 0 !important;
+    }
+
+    .icon-swiper-wrap .swiper-button-prev {
+        margin-left: -10px !important;
+    }
+
+    .icon-swiper-wrap .swiper-button-next {
+        margin-right: -10px !important;
+    }
+</style>
+<script>
+    function addCourse (data) {
+        layui.use(['form'], function () {
+            var form = layui.form
+            var appIcon = ''
+            //弹框
+            layer.open({
+                type: 1,
+                content: $("#addCourseTemplate").html(),
+                title: ['添加课程', 'font-size:18px;'],
+                area: ['600px', '650px'],
+                btn: ['提交', '取消']
+                , yes: function (index, layero) {
+                    var formData = form.val('addCourseForm') // 表单取值
+                    Object.assign(formData, { appIcon: appIcon })
+                    //修改操作
+                    $.post("http://localhost:8080/application/addApplication", formData,
+                        function (data) {
+                            if ("success" == data.msg) {
+                                layer.msg(data.msg)
+                                $(".layui-laypage-btn").click()
+                                parent.layer.close(index)
+                            } else {
+                                layer.msg(data.msg)
+                            }
+                        })
+                }
+                , btn2: function (index, layero) {
+                    // alert("取消")
+                }
+            })
             $.ajax({
                 url: 'http://localhost:8080/application/queryDir',
-                type:"get",
-                success: function(data) {
-                    if(data.msg === "success"){
+                type: "get",
+                success: function (data) {
+                    if (data.msg === "success") {
                         //给一个默认值(‘请选择’)
-                        var opt = '<option value="" selected=""></option>';
+                        var opt = '<option value="" selected=""></option>'
                         //获取返回的数据
-                        var value = data.data;
+                        var value = data.data || [{ dirName: 'test1' }, { dirName: 'test2' }]
                         //循环遍历
                         for (var i in value) {
                             opt += '<option value = "' + value[i].dirName + '">' + value[i].dirName + '</option>'
                             console.log(value[i].dirName)
                         }
-                        $("#directorId").html(opt);
-                        form.render('select');//需要渲染一下
-
-                    }else{
-                        layer.alert(data.msg,{ icon:2,title:'提示'},function(i){ layer.closeAll();});
+                        $("#directorId").html(opt)
+
+                        // $.each($("#directorId").children(), function () {
+                        //     $(this).removeProp('selected')
+                        //     if ($(this).text() === data.dirName) {
+                        //         $(this).prop('selected', data.dirName)
+                        //     }
+                        // })
+                        form.render('select')//需要渲染一下
+                    } else {
+                        layer.alert(data.msg, { icon: 2, title: '提示' }, function (i) {
+                            layer.closeAll()
+                        })
                     }
                 }
-            });
-        });
-    }
-</script>
+            })
 
-<script type="text/html" id="addForm1">
+            var swiper = new Swiper(".icon-swiper", {
+                slidesPerView: 6,
+                spaceBetween: 10,
+                slidesPerGroup: 12,
+                grid: {
+                    rows: 2,
+                },
+                pagination: {
+                    el: ".swiper-pagination",
+                    clickable: true,
+                },
+                navigation: {
+                    nextEl: ".swiper-button-next",
+                    prevEl: ".swiper-button-prev",
+                },
+            })
 
-    <form class="layui-form" id="addApplication" enctype="multipart/form-data">
+            $(".icon-swiper").on('click', '.swiper-slide>img', function (event) {
+                const parentEl = $(this).parent('.swiper-slide')
+                const siblingsEl = $(parentEl).siblings('.swiper-slide')
+                parentEl.addClass('active')
+                $.each(siblingsEl, function () {
+                    $(this).removeClass('active')
+                })
+                appIcon = $(this).attr('src')
+            })
+        })
+    }
+</script>
+<script type="text/html" id="addCourseTemplate">
+    <form class="layui-form layui-form-pane" id="addCourseForm" lay-filter="addCourseForm" style="padding: 15px;">
 
         <!-- 把id 作为隐藏域传过去 -->
         <input type="hidden" name="id" id="id">
@@ -460,15 +719,129 @@
                 </select>
             </div>
         </div>
-
-        <div class="layui-form-item">
+        <div class="layui-form-item" style="display: flex;flex-direction: column">
             <label class="layui-form-label">选择icon</label>
-            <div class="layui-input-block">
-                <input type="text" name="appIcon" id="appIcon" class="layui-input">
+            <div class="icon-swiper-wrap">
+                <div #swiperRef="" class="swiper icon-swiper">
+                    <div class="swiper-wrapper">
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/500/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/501/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/502/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/503/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/504/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/505/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/506/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/507/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/508/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/509/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/510/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/511/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/512/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/520/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/521/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/523/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/533/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/534/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/535/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/536/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/550/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/551/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/552/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/553/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/554/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/555/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/556/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/557/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/558/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/559/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/560/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/562/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/563/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/564/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/565/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/566/70/70">
+                        </div>
+                    </div>
+                </div>
+                <div class="swiper-button-next" style="margin-right: -5px;"></div>
+                <div class="swiper-button-prev"></div>
+                <div class="swiper-pagination"></div>
             </div>
         </div>
-
+        <!-- 弹框错乱,多了这个 div 闭合标签 -->
+        <!-- </div> -->
     </form>
 </script>
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/src/main/resources/templates/layui-v2.6.8/courseList.html b/src/main/resources/templates/layui-v2.6.8/courseList.html
index c87524e..410920d 100644
--- a/src/main/resources/templates/layui-v2.6.8/courseList.html
+++ b/src/main/resources/templates/layui-v2.6.8/courseList.html
@@ -1,5 +1,6 @@
 <!DOCTYPE html>
 <html xmlns="http://www.w3.org/1999/html">
+
 <head>
     <meta charset="utf-8">
     <title>Layui</title>
@@ -7,45 +8,9 @@
     <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
     <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
     <link rel="stylesheet" href="layui/css/layui.css" tppabs="//res.ilayuis.com/layui/dist/css/layui.css" media="all">
-    <style>
-        .select-img-wrap {
-            width: calc(100% - 40px);
-            margin: 0 20px;
-        }
-
-        .select-img-wrap .dir-img-icon {
-            position: relative;
-        }
-
-        .select-img-wrap .dir-img-icon .icon {
-            width: 70px;
-            height: 70px;
-            cursor: pointer;
-            vertical-align: bottom;
-            background: #e7e7e7;
-        }
-
-        .select-img-wrap .dir-img-icon.active::before {
-            content: "";
-            position: absolute;
-            right: 10px;
-            bottom: 10px;
-        }
-        .select-img-wrap .dir-img-icon.active::after {
-            content: "";
-            width: 16px;
-            height: 8px;
-            /*border: 3px solid #00FFFF;*/
-            border: 3px solid #FF5722;
-            border-bottom: 0;
-            border-left: 0;
-            position: absolute;
-            right: 10px;
-            bottom: 10px;
-            transform: rotate(135deg);
-        }
-    </style>
-
+    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/Swiper/10.2.0/swiper-bundle.min.css"
+          integrity="sha512-s6khMl5GDS1HbQ5/SwL1wzMayPwHXPjKoBN5kHUTDqKEPkkGyEZWKyH2lQ3YO2q3dxueG3rE0NHjRawMHd2b6g=="
+          crossorigin="anonymous" referrerpolicy="no-referrer" />
 </head>
 
 <body>
@@ -67,9 +32,12 @@
 <script src="layui/layui.js" charset="utf-8"></script>
 <!-- 注意:如果你直接复制所有代码到本地,上述 JS 路径需要改成你本地的 -->
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
+<script src="https://cdnjs.cloudflare.com/ajax/libs/Swiper/10.2.0/swiper-bundle.min.js"
+        integrity="sha512-QwpsxtdZRih55GaU/Ce2Baqoy2tEv9GltjAG8yuTy2k9lHqK7VHHp3wWWe+yITYKZlsT3AaCj49ZxMYPp46iJQ=="
+        crossorigin="anonymous" referrerpolicy="no-referrer"></script>
 <script>
     layui.use('table', function () {
-        var table = layui.table;
+        var table = layui.table
 
         //温馨提示:默认由前端自动合计当前行数据。从 layui 2.5.6 开始: 若接口直接返回了合计行数据,则优先读取接口合计行数据。
         //详见:http://www.ilayuis.com/doc/modules/table.html#totalRow
@@ -86,68 +54,68 @@
                     "count": res.count, //解析总页数
                     "msg": res.msg, //解析提示文本
                     "data": res.data.list //解析数据列表
-                };
+                }
             }
             , response: {
                 statusName: 'code', //规定返回的状态码字段为code
                 statusCode: 200 //规定成功的状态码为200
             }
             , cols: [[
-                {type: 'checkbox', fixed: 'left'}
-                , {field: 'id', title: '序号', width: 300, sort: true,}
-                , {field: 'courseName', title: '课程名称', width: 300}
-                , {field: 'courseBrief', title: '课程简介', width: 300}
-                , {field: 'courseUrl', title: '超链接', width: 300}
-                , {field: 'dirName', title: '归属目录', width: 300}
-                , {fixed: 'right', title: '操作', toolbar: '#barDemo', width: 150}
+                { type: 'checkbox', fixed: 'left' }
+                , { field: 'id', title: '序号', width: 300, sort: true, }
+                , { field: 'courseName', title: '课程名称', width: 300 }
+                , { field: 'courseBrief', title: '课程简介', width: 300 }
+                , { field: 'courseUrl', title: '超链接', width: 300 }
+                , { field: 'dirName', title: '归属目录', width: 300 }
+                , { fixed: 'right', title: '操作', toolbar: '#barDemo', width: 150 }
             ]]
             , page: true
-        });
+        })
 
         //头工具栏事件
         table.on('toolbar(test)', function (obj) {
-            var data = obj.data;
+            var data = obj.data
             //console.log(obj)
             if (obj.event === 'addData') {
-                addDir(data);
+                addDir(data)
             } else if (obj.event === 'addCourse') {
-                addCourse(data);
+                addCourse(data)
             }
-        });
+        })
 
         //监听行工具事件
         table.on('tool(test)', function (obj) {
-            var data = obj.data;
+            var data = obj.data
             //console.log(obj)
             if (obj.event === 'del') {
                 layer.confirm('真的删除行么', function (index) {
                     //obj.del();//删除表结构
-                    layer.close(index);
+                    layer.close(index)
 
                     //获取要删除的服务的id
-                    var deleteCourseId = data.id;
+                    var deleteCourseId = data.id
 
-                    $.get("http://localhost:8080/api/course/delCourseById", {"id": deleteCourseId}, function (result) {
+                    $.get("http://localhost:8080/api/course/delCourseById", { "id": deleteCourseId }, function (result) {
                         if (result.code == 200) {
                             // 删除成功之后 弹出msg
-                            layer.msg(result.msg);
+                            layer.msg(result.msg)
                             // 重点:继续显示当前页
-                            $(".layui-laypage-btn").click();
+                            $(".layui-laypage-btn").click()
                         } else {
-                            layer.msg(result.msg, {icon: 2});
-                            layer.close(index);
+                            layer.msg(result.msg, { icon: 2 })
+                            layer.close(index)
                         }
-                    });
-                });
+                    })
+                })
             } else if (obj.event === 'edit') {
-                selectOne(data);
+                selectOne(data)
             }
-        });
+        })
 
     });
 </script>
 <script>
-    function selectOne(data) {
+    function selectOne (data) {
         //弹框
         layer.open({
             type: 1,
@@ -157,70 +125,94 @@
 
             //弹出后回调
             success: function () {
-                $("#id").val(data.id);
-                $("#courseName").val(data.courseName);
-                $("#courseBrief").val(data.courseBrief);
-                $("#courseUrl").val(data.courseUrl);
-                $("#dirName").val(data.dirName);
-                $("#courseIcon").val(data.courseIcon);
+                $("#id").val(data.id)
+                $("#courseName").val(data.courseName)
+                $("#courseBrief").val(data.courseBrief)
+                $("#courseUrl").val(data.courseUrl)
+                $("#dirName").val(data.dirName)
+                $("#courseIcon").val(data.courseIcon)
+
                 //渲染页面
-                layui.form.render();
+                layui.form.render()
             },
-
             btn: ['提交', '取消']
             , yes: function (index, layero) {
-
                 //修改操作
                 $.get("http://localhost:8080/api/course/updateById", $("#updateCourse").serialize(),
                     function (data) {
-
                         if ("success" == data.msg) {
-                            layer.msg(data.msg);
-                            $(".layui-laypage-btn").click();
-                            parent.layer.close(index);
+                            layer.msg(data.msg)
+                            $(".layui-laypage-btn").click()
+                            parent.layer.close(index)
                         } else {
-                            layer.msg(data.msg);
+                            layer.msg(data.msg)
                         }
-                    });
-
+                    })
             }
             , btn2: function (index, layero) {
                 // alert("取消")
             }
-        });
+        })
         layui.use(['form'], function () {
-            var form = layui.form;
+            var form = layui.form
             $.ajax({
                 url: 'http://localhost:8080/api/course/queryCourseDirectory',
                 type: "get",
                 success: function (data) {
                     if (data.msg === "success") {
                         //给一个默认值(‘请选择’)
-                        var opt = '<option value="" selected="' + data.dirName + '"></option>';
+                        var opt = '<option value="" selected="' + data.dirName + '"></option>'
                         //获取返回的数据
-                        var value = data.data;
+                        var value = data.data
                         //循环遍历
                         for (var i in value) {
                             opt += '<option value = "' + value[i].dirName + '">' + value[i].dirName + '</option>'
                             console.log(value[i].dirName)
                         }
-                        $("#directorId").html(opt);
-                        form.render('select');//需要渲染一下
+                        $("#directorId").html(opt)
+                        form.render('select')//需要渲染一下
 
                     } else {
-                        layer.alert(data.msg, {icon: 2, title: '提示'}, function (i) {
-                            layer.closeAll();
-                        });
+                        layer.alert(data.msg, { icon: 2, title: '提示' }, function (i) {
+                            layer.closeAll()
+                        })
                     }
 
                 }
-            });
-        });
+            })
+        })
+
+        var swiper = new Swiper(".icon-swiper", {
+            slidesPerView: 6,
+            spaceBetween: 10,
+            slidesPerGroup: 12,
+            grid: {
+                rows: 2,
+            },
+            pagination: {
+                el: ".swiper-pagination",
+                clickable: true,
+            },
+            navigation: {
+                nextEl: ".swiper-button-next",
+                prevEl: ".swiper-button-prev",
+            },
+        })
+
+        $(".icon-swiper").on('click', '.swiper-slide>img', function (event) {
+            const parentEl = $(this).parent('.swiper-slide')
+            const siblingsEl = $(parentEl).siblings('.swiper-slide')
+            parentEl.addClass('active')
+            $.each(siblingsEl, function () {
+                $(this).removeClass('active')
+            })
+            courseIcon = $(this).attr('src')
+        })
     }
 </script>
 <script type="text/html" id="updateForm">
 
-    <form class="layui-form" id="updateCourse">
+    <form class="layui-form layui-form-pane" id="updateCourse" style="padding: 15px;">
 
         <!-- 把id 作为隐藏域传过去 -->
         <input type="hidden" name="id" id="id">
@@ -256,17 +248,132 @@
                 </select>
             </div>
         </div>
-        <div class="layui-form-item">
-            <label class="layui-form-label">课程图标</label>
-            <div class="layui-input-block">
-                <input type="text" name="courseIcon" id="courseIcon" class="layui-input">
+        <div class="layui-form-item" style="display: flex;flex-direction: column">
+            <label class="layui-form-label">选择icon</label>
+            <div class="icon-swiper-wrap">
+                <div #swiperRef="" class="swiper icon-swiper">
+                    <div class="swiper-wrapper">
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/500/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/501/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/502/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/503/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/504/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/505/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/506/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/507/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/508/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/509/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/510/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/511/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/512/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/520/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/521/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/523/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/533/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/534/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/535/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/536/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/550/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/551/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/552/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/553/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/554/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/555/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/556/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/557/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/558/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/559/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/560/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/562/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/563/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/564/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/565/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/566/70/70">
+                        </div>
+                    </div>
+                </div>
+                <div class="swiper-button-next" style="margin-right: -5px;"></div>
+                <div class="swiper-button-prev"></div>
+                <div class="swiper-pagination"></div>
             </div>
         </div>
-
+        <!-- 弹框错乱,多了这个 div 闭合标签 -->
+        <!-- </div> -->
     </form>
 </script>
 <script>
-    function addDir(data) {
+    function addDir (data) {
         var $ = layui.jquery
         var dirImg = ''
         //弹框
@@ -276,7 +383,6 @@
             title: ['添加页面', 'font-size:18px;'],
             area: ['600px', '600px'],
             btn: ['提交', '取消']
-
             , yes: function (index, layero) {
                 // 获取所有图标元素
                 var dirName = $('#dirName').val()
@@ -288,24 +394,24 @@
                 $.get("http://localhost:8080/api/course/addCourseDirectory", params,
                     function (data) {
                         if ("success" == data.msg) {
-                            layer.msg(data.msg);
-                            $(".layui-laypage-btn").click();
-                            parent.layer.close(index);
+                            layer.msg(data.msg)
+                            $(".layui-laypage-btn").click()
+                            parent.layer.close(index)
                         } else {
-                            layer.msg(data.msg);
+                            layer.msg(data.msg)
                         }
-                    });
+                    })
             }
             , btn2: function (index, layero) {
                 // alert("取消")
             }
-        });
-        $(".select-img-wrap").on('click', '.dir-img-icon>img', function (event){
+        })
+        $(".select-img-wrap").on('click', '.dir-img-icon>img', function (event) {
             const parentEl = $(this).parent('.dir-img-icon')
             const siblingsEl = $(parentEl).siblings('.dir-img-icon')
             parentEl.addClass('active')
-            Array.from(siblingsEl).forEach(item=>{
-                $(item).removeClass('active')
+            $.each(siblingsEl, function () {
+                $(this).removeClass('active')
             })
             dirImg = $(this).attr('src')
         })
@@ -313,12 +419,58 @@
 
 </script>
 <script type="text/html" id="addForm">
+    <style>
+        /* 取消弹框拖拽 */
+        .layui-layer-resize {
+            display: none;
+        }
 
-    <form class="layui-form" id="addDirectory">
+        .select-img-wrap {
+            width: calc(100% - 90px);
+            margin: 10px auto 0;
+        }
 
+        .select-img-wrap .dir-img-icon {
+            position: relative;
+            padding: 5px !important;
+        }
+
+        .select-img-wrap .dir-img-icon .icon {
+            width: 70px;
+            height: 70px;
+            cursor: pointer;
+            object-fit: cover;
+            vertical-align: bottom;
+            background: #e7e7e7;
+        }
+
+        .select-img-wrap .dir-img-icon.active {
+            background: #007aff;
+        }
+
+        .select-img-wrap .dir-img-icon.active::before {
+            content: "";
+            position: absolute;
+            right: 10px;
+            bottom: 10px;
+        }
+
+        .select-img-wrap .dir-img-icon.active::after {
+            content: "";
+            width: 16px;
+            height: 8px;
+            border: 3px solid #007aff;
+            border-bottom: 0;
+            border-left: 0;
+            position: absolute;
+            right: 10px;
+            bottom: 15px;
+            transform: rotate(135deg);
+        }
+    </style>
+    <form class="layui-form layui-form-pane" id="addDirectory" style="padding: 15px;">
         <!-- 把id 作为隐藏域传过去 -->
         <input type="hidden" name="id" id="id">
-
         <div class="layui-form-item">
             <label class="layui-form-label">目录名称</label>
             <div class="layui-input-block">
@@ -328,120 +480,211 @@
         </div>
         <div class="layui-form-item" style="display: flex;flex-direction: column">
             <label class="layui-form-label">选择icon</label>
-            <!--            <input type="hidden"  name="dirImg" id="dirImg" class="layui-form-label">选择icon</input>-->
             <div class="layui-row layui-col-space20 select-img-wrap">
                 <div name="dirImg" class="layui-col-md2 dir-img-icon" lay-event="addData">
-                    <img id="icon1" class="icon" src="https://picsum.photos/id/237/70/70" alt="图片1">
+                    <img id="icon1" class="icon" src="https://picsum.photos/id/237/70/70">
                 </div>
                 <div name="dirImg" class="layui-col-md2 dir-img-icon" lay-event="addData">
-                    <img id="icon2" class="icon" src="https://picsum.photos/id/238/70/70" alt="图片1">
+                    <img id="icon2" class="icon" src="https://picsum.photos/id/238/70/70">
                 </div>
                 <div name="dirImg" class="layui-col-md2 dir-img-icon" lay-event="addData">
-                    <img id="icon3" class="icon" src="https://picsum.photos/70/70" alt="图片1">
+                    <img id="icon3" class="icon" src="https://picsum.photos/id/239/70/70">
                 </div>
                 <div name="dirImg" class="layui-col-md2 dir-img-icon" lay-event="addData">
-                    <img id="icon4" class="icon" src="https://picsum.photos/70/70" alt="图片1">
+                    <img id="icon4" class="icon" src="https://picsum.photos/id/240/70/70">
                 </div>
                 <div name="dirImg" class="layui-col-md2 dir-img-icon" lay-event="addData">
-                    <img id="icon5" class="icon" src="https://picsum.photos/70/70" alt="图片1">
+                    <img id="icon5" class="icon" src="https://picsum.photos/id/261/70/70">
                 </div>
                 <div name="dirImg" class="layui-col-md2 dir-img-icon" lay-event="addData">
-                    <img id="icon4" class="icon" src="https://picsum.photos/70/70" alt="图片1">
+                    <img id="icon4" class="icon" src="https://picsum.photos/id/252/70/70">
                 </div>
                 <div name="dirImg" class="layui-col-md2 dir-img-icon" lay-event="addData">
-                    <img id="icon5" class="icon" src="https://picsum.photos/70/70" alt="图片1">
+                    <img id="icon5" class="icon" src="https://picsum.photos/id/253/70/70">
                 </div>
                 <div name="dirImg" class="layui-col-md2 dir-img-icon" lay-event="addData">
-                    <img id="icon4" class="icon" src="https://picsum.photos/70/70" alt="图片1">
+                    <img id="icon4" class="icon" src="https://picsum.photos/id/254/70/70">
                 </div>
                 <div name="dirImg" class="layui-col-md2 dir-img-icon" lay-event="addData">
-                    <img id="icon5" class="icon" src="https://picsum.photos/70/70" alt="图片1">
+                    <img id="icon5" class="icon" src="https://picsum.photos/id/255/70/70">
                 </div>
                 <div name="dirImg" class="layui-col-md2 dir-img-icon" lay-event="addData">
-                    <img id="icon4" class="icon" src="https://picsum.photos/70/70" alt="图片1">
+                    <img id="icon4" class="icon" src="https://picsum.photos/id/256/70/70">
                 </div>
                 <div name="dirImg" class="layui-col-md2 dir-img-icon" lay-event="addData">
-                    <img id="icon5" class="icon" src="https://picsum.photos/70/70" alt="图片1">
+                    <img id="icon5" class="icon" src="https://picsum.photos/id/257/70/70">
                 </div>
                 <div name="dirImg" class="layui-col-md2 dir-img-icon" lay-event="addData">
-                    <img id="icon5" class="icon" src="https://picsum.photos/70/70" alt="图片1">
+                    <img id="icon5" class="icon" src="https://picsum.photos/id/258/70/70">
                 </div>
             </div>
         </div>
     </form>
 </script>
+<style>
+    .icon-swiper-wrap {
+        position: relative;
+    }
+
+    .icon-swiper-wrap .swiper {
+        box-sizing: border-box;
+        width: calc(100% - 60px);
+        height: 162px;
+        margin: 20px 30px 20px 30px;
+    }
+
+    .icon-swiper-wrap .swiper-slide {
+        height: calc((100% - 10px) / 2);
+        text-align: center;
+        font-size: 12px;
+        background: #fff;
+        display: flex;
+        justify-content: center;
+        align-items: center;
+        position: relative;
+    }
+
+    .icon-swiper-wrap .swiper-slide.active::before {
+        content: "";
+        position: absolute;
+        right: 10px;
+        bottom: 10px;
+    }
+
+    .icon-swiper-wrap .swiper-slide.active::after {
+        content: "";
+        width: 16px;
+        height: 8px;
+        border: 3px solid #007aff;
+        border-bottom: 0;
+        border-left: 0;
+        position: absolute;
+        right: 10px;
+        bottom: 15px;
+        transform: rotate(135deg);
+    }
+
+    .icon-swiper-wrap .swiper-slide img {
+        width: 70px;
+        height: 70px;
+        cursor: pointer;
+        object-fit: cover;
+        vertical-align: bottom;
+        background: #e7e7e7;
+        border: 3px solid transparent;
+    }
+
+    .icon-swiper-wrap .swiper-slide.active img {
+        border: 3px solid #007aff;
+    }
+
+    .icon-swiper-wrap .swiper-pagination {
+        bottom: 0 !important;
+    }
+
+    .icon-swiper-wrap .swiper-button-prev {
+        margin-left: -10px !important;
+    }
+
+    .icon-swiper-wrap .swiper-button-next {
+        margin-right: -10px !important;
+    }
+</style>
 <script>
-    function addCourse(data) {
-        //弹框
-        layer.open({
-            type: 1,
-            content: $("#addForm1").html(),
-            title: ['添加课程', 'font-size:18px;'],
-            area: ['600px', '600px'],
-            btn: ['提交', '取消']
-            , yes: function (index, layero) {
-                //修改操作
-                $.get("http://localhost:8080/api/course/addCourse", $("#addCourse1").serialize(),
-                    function (data) {
-                        if ("success" == data.msg) {
-                            layer.msg(data.msg);
-                            $(".layui-laypage-btn").click();
-                            parent.layer.close(index);
-                        } else {
-                            layer.msg(data.msg);
-                        }
-                    });
-            }
-            , btn2: function (index, layero) {
-                // alert("取消")
-            }
-        });
+    function addCourse (data) {
         layui.use(['form'], function () {
-            var form = layui.form;
+            var form = layui.form
+            var courseIcon = ''
+            //弹框
+            layer.open({
+                type: 1,
+                content: $("#addCourseTemplate").html(),
+                title: ['添加课程', 'font-size:18px;'],
+                area: ['600px', '650px'],
+                btn: ['提交', '取消']
+                , yes: function (index, layero) {
+                    var formData = form.val('addCourseForm') // 表单取值
+                    Object.assign(formData, { courseIcon: courseIcon })
+                    //修改操作
+                    $.get("http://localhost:8080/api/course/addCourse", formData,
+                        function (data) {
+                            if ("success" == data.msg) {
+                                layer.msg(data.msg)
+                                $(".layui-laypage-btn").click()
+                                parent.layer.close(index)
+                            } else {
+                                layer.msg(data.msg)
+                            }
+                        })
+                }
+                , btn2: function (index, layero) {
+                    // alert("取消")
+                }
+            })
             $.ajax({
                 url: 'http://localhost:8080/api/course/queryCourseDirectory',
                 type: "get",
                 success: function (data) {
                     if (data.msg === "success") {
                         //给一个默认值(‘请选择’)
-                        var opt = '<option value="" selected=""></option>';
+                        var opt = '<option value="" selected=""></option>'
                         //获取返回的数据
-                        var value = data.data;
+                        var value = data.data || [{ dirName: 'test1' }, { dirName: 'test2' }]
                         //循环遍历
                         for (var i in value) {
                             opt += '<option value = "' + value[i].dirName + '">' + value[i].dirName + '</option>'
                             console.log(value[i].dirName)
                         }
-                        $("#directorId").html(opt);
-                        form.render('select');//需要渲染一下
-
+                        $("#directorId").html(opt)
+
+                        // $.each($("#directorId").children(), function () {
+                        //     $(this).removeProp('selected')
+                        //     if ($(this).text() === data.dirName) {
+                        //         $(this).prop('selected', data.dirName)
+                        //     }
+                        // })
+                        form.render('select')//需要渲染一下
                     } else {
-                        layer.alert(data.msg, {icon: 2, title: '提示'}, function (i) {
-                            layer.closeAll();
-                        });
+                        layer.alert(data.msg, { icon: 2, title: '提示' }, function (i) {
+                            layer.closeAll()
+                        })
                     }
                 }
-            });
-        });
-        layui.use(['carousel', 'form'], function(){
-            var carousel = layui.carousel
-                ,form = layui.form;
-
-            //常规轮播
-            carousel.render({
-                elem: '#test1'
-                ,arrow: 'always'
-            });
-        });
-    }
-</script>
-<script type="text/html" id="addForm1">
+            })
 
-    <form class="layui-form" id="addCourse1">
+            var swiper = new Swiper(".icon-swiper", {
+                slidesPerView: 6,
+                spaceBetween: 10,
+                slidesPerGroup: 12,
+                grid: {
+                    rows: 2,
+                },
+                pagination: {
+                    el: ".swiper-pagination",
+                    clickable: true,
+                },
+                navigation: {
+                    nextEl: ".swiper-button-next",
+                    prevEl: ".swiper-button-prev",
+                },
+            })
 
+            $(".icon-swiper").on('click', '.swiper-slide>img', function (event) {
+                const parentEl = $(this).parent('.swiper-slide')
+                const siblingsEl = $(parentEl).siblings('.swiper-slide')
+                parentEl.addClass('active')
+                $.each(siblingsEl, function () {
+                    $(this).removeClass('active')
+                })
+                courseIcon = $(this).attr('src')
+            })
+        })
+    }
+</script>
+<script type="text/html" id="addCourseTemplate">
+    <form class="layui-form layui-form-pane" id="addCourseForm" lay-filter="addCourseForm" style="padding: 15px;">
         <!-- 把id 作为隐藏域传过去 -->
         <input type="hidden" name="id" id="id">
-
         <div class="layui-form-item">
             <label class="layui-form-label">课程名称</label>
             <div class="layui-input-block">
@@ -456,41 +699,141 @@
                        class="layui-input">
             </div>
         </div>
-
         <div class="layui-form-item">
             <label class="layui-form-label">课程链接</label>
             <div class="layui-input-block">
                 <input type="text" name="courseUrl" id="courseUrl" class="layui-input">
             </div>
         </div>
-
         <div class="layui-form-item">
             <label class="layui-form-label">归属目录</label>
             <div class="layui-input-block">
-                <select name="dirName" id="directorId">
-                    <option value="">直接选择或搜索选择</option>
-                </select>
+                <select name="dirName" id="directorId"></select>
             </div>
         </div>
-
-            <div class="layui-carousel" id="test1">
-                <div carousel-item="">
-                    <img class="image-item" src="./images/01.png" alt="Image 1">
-                    <img class="image-item" src="./images/02.png" alt="Image 2">
-                    <img class="image-item" src="./images/03.png" alt="Image 1">
-                    <img class="image-item" src="./images/04.png" alt="Image 2">
-                    <img class="image-item" src="./images/05.png" alt="Image 1">
-                    <img class="image-item" src="./images/06.png" alt="Image 2">
-                    <img class="image-item" src="./images/01.png" alt="Image 1">
-                    <img class="image-item" src="./images/02.png" alt="Image 2">
-                    <img class="image-item" src="./images/03.png" alt="Image 1">
-                    <img class="image-item" src="./images/04.png" alt="Image 2">
-                    <img class="image-item" src="./images/05.png" alt="Image 1">
+        <div class="layui-form-item" style="display: flex;flex-direction: column">
+            <label class="layui-form-label">选择icon</label>
+            <div class="icon-swiper-wrap">
+                <div #swiperRef="" class="swiper icon-swiper">
+                    <div class="swiper-wrapper">
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/500/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/501/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/502/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/503/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/504/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/505/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/506/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/507/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/508/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/509/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/510/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/511/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/512/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/520/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/521/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/523/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/533/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/534/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/535/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/536/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/550/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/551/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/552/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/553/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/554/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/555/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/556/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/557/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/558/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/559/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/560/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/562/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/563/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/564/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/565/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/566/70/70">
+                        </div>
+                    </div>
                 </div>
+                <div class="swiper-button-next" style="margin-right: -5px;"></div>
+                <div class="swiper-button-prev"></div>
+                <div class="swiper-pagination"></div>
             </div>
         </div>
-
+        <!-- 弹框错乱,多了这个 div 闭合标签 -->
+        <!-- </div> -->
     </form>
 </script>
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/src/main/resources/templates/layui-v2.6.8/downloadList.html b/src/main/resources/templates/layui-v2.6.8/downloadList.html
index 288b1fd..375a4db 100644
--- a/src/main/resources/templates/layui-v2.6.8/downloadList.html
+++ b/src/main/resources/templates/layui-v2.6.8/downloadList.html
@@ -47,44 +47,6 @@
     </style>
 </head>
 
-<style>
-    .select-img-wrap {
-        width: calc(100% - 40px);
-        margin: 0 20px;
-    }
-
-    .select-img-wrap .dir-img-icon {
-        position: relative;
-    }
-
-    .select-img-wrap .dir-img-icon .icon {
-        width: 70px;
-        height: 70px;
-        cursor: pointer;
-        vertical-align: bottom;
-        background: #e7e7e7;
-    }
-
-    .select-img-wrap .dir-img-icon.active::before {
-        content: "";
-        position: absolute;
-        right: 10px;
-        bottom: 10px;
-    }
-    .select-img-wrap .dir-img-icon.active::after {
-        content: "";
-        width: 16px;
-        height: 8px;
-        /*border: 3px solid #00FFFF;*/
-        border: 3px solid #FF5722;
-        border-bottom: 0;
-        border-left: 0;
-        position: absolute;
-        right: 10px;
-        bottom: 10px;
-        transform: rotate(135deg);
-    }
-</style>
 <body>
 
 <table class="layui-hide" id="test" lay-filter="test"></table>
@@ -252,6 +214,7 @@
 
 
         });
+
         layui.use(['upload', 'element', 'layer'], function(){
             var $ = layui.jquery
                 ,upload = layui.upload
@@ -376,7 +339,55 @@
 
 </script>
 <script type="text/html" id="addForm">
+    <style>
+        /* 取消弹框拖拽 */
+        .layui-layer-resize {
+            display: none;
+        }
+
+        .select-img-wrap {
+            width: calc(100% - 90px);
+            margin: 10px auto 0;
+        }
 
+        .select-img-wrap .dir-img-icon {
+            position: relative;
+            padding: 5px !important;
+        }
+
+        .select-img-wrap .dir-img-icon .icon {
+            width: 70px;
+            height: 70px;
+            cursor: pointer;
+            object-fit: cover;
+            vertical-align: bottom;
+            background: #e7e7e7;
+        }
+
+        .select-img-wrap .dir-img-icon.active {
+            background: #007aff;
+        }
+
+        .select-img-wrap .dir-img-icon.active::before {
+            content: "";
+            position: absolute;
+            right: 10px;
+            bottom: 10px;
+        }
+
+        .select-img-wrap .dir-img-icon.active::after {
+            content: "";
+            width: 16px;
+            height: 8px;
+            border: 3px solid #007aff;
+            border-bottom: 0;
+            border-left: 0;
+            position: absolute;
+            right: 10px;
+            bottom: 15px;
+            transform: rotate(135deg);
+        }
+    </style>
     <form class="layui-form" id="addDirectory">
 
         <!-- 把id 作为隐藏域传过去 -->
@@ -433,6 +444,75 @@
         </div>
     </form>
 </script>
+<style>
+    .icon-swiper-wrap {
+        position: relative;
+    }
+
+    .icon-swiper-wrap .swiper {
+        box-sizing: border-box;
+        width: calc(100% - 60px);
+        height: 162px;
+        margin: 20px 30px 20px 30px;
+    }
+
+    .icon-swiper-wrap .swiper-slide {
+        height: calc((100% - 10px) / 2);
+        text-align: center;
+        font-size: 12px;
+        background: #fff;
+        display: flex;
+        justify-content: center;
+        align-items: center;
+        position: relative;
+    }
+
+    .icon-swiper-wrap .swiper-slide.active::before {
+        content: "";
+        position: absolute;
+        right: 10px;
+        bottom: 10px;
+    }
+
+    .icon-swiper-wrap .swiper-slide.active::after {
+        content: "";
+        width: 16px;
+        height: 8px;
+        border: 3px solid #007aff;
+        border-bottom: 0;
+        border-left: 0;
+        position: absolute;
+        right: 10px;
+        bottom: 15px;
+        transform: rotate(135deg);
+    }
+
+    .icon-swiper-wrap .swiper-slide img {
+        width: 70px;
+        height: 70px;
+        cursor: pointer;
+        object-fit: cover;
+        vertical-align: bottom;
+        background: #e7e7e7;
+        border: 3px solid transparent;
+    }
+
+    .icon-swiper-wrap .swiper-slide.active img {
+        border: 3px solid #007aff;
+    }
+
+    .icon-swiper-wrap .swiper-pagination {
+        bottom: 0 !important;
+    }
+
+    .icon-swiper-wrap .swiper-button-prev {
+        margin-left: -10px !important;
+    }
+
+    .icon-swiper-wrap .swiper-button-next {
+        margin-right: -10px !important;
+    }
+</style>
 <script>
     function addDownload(data) {
         //弹框
diff --git a/src/main/resources/templates/layui-v2.6.8/inviteList.html b/src/main/resources/templates/layui-v2.6.8/inviteList.html
index d75dcca..83a08eb 100644
--- a/src/main/resources/templates/layui-v2.6.8/inviteList.html
+++ b/src/main/resources/templates/layui-v2.6.8/inviteList.html
@@ -169,6 +169,13 @@
                         , "inviteUrl": data.inviteUrl
                         , "dirName": data.dirName
                     });
+
+                    $.each($("#directorId").children(), function () {
+                        $(this).removeProp('selected')
+                        if ($(this).text() === data.dirName) {
+                            $(this).prop('selected', data.dirName)
+                        }
+                    })
                     // layedit.setContent(editorIndex, data.inviteBrief, false)
                     form.render()
                 }
diff --git a/src/main/resources/templates/layui-v2.6.8/login.html b/src/main/resources/templates/layui-v2.6.8/login.html
index fbfc471..b986f5b 100644
--- a/src/main/resources/templates/layui-v2.6.8/login.html
+++ b/src/main/resources/templates/layui-v2.6.8/login.html
@@ -60,7 +60,7 @@
                         })
                     }else {
                         layer.msg(result.msg)
-                        // location.href="http://localhost:63342/zhiyun/src/main/resources/templates/layui-v2.6.8/login.html"
+                        location.href="http://localhost:63342/zhiyun/src/main/resources/templates/layui-v2.6.8/login.html"
                     }
                 },
 
diff --git a/src/main/resources/templates/layui-v2.6.8/textualList.html b/src/main/resources/templates/layui-v2.6.8/textualList.html
index a72b799..9299fdb 100644
--- a/src/main/resources/templates/layui-v2.6.8/textualList.html
+++ b/src/main/resources/templates/layui-v2.6.8/textualList.html
@@ -1,51 +1,18 @@
 <!DOCTYPE html>
-<html>
+<html xmlns="http://www.w3.org/1999/html">
+
 <head>
     <meta charset="utf-8">
     <title>Layui</title>
     <meta name="renderer" content="webkit">
     <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
     <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
-    <link rel="stylesheet" href="layui/css/layui.css" tppabs="//res.ilayuis.com/layui/dist/css/layui.css"  media="all">
-    <!-- 注意:如果你直接复制所有代码到本地,上述css路径需要改成你本地的 -->
-    <style>
-        .select-img-wrap {
-            width: calc(100% - 40px);
-            margin: 0 20px;
-        }
-
-        .select-img-wrap .dir-img-icon {
-            position: relative;
-        }
-
-        .select-img-wrap .dir-img-icon .icon {
-            width: 70px;
-            height: 70px;
-            cursor: pointer;
-            vertical-align: bottom;
-            background: #e7e7e7;
-        }
-
-        .select-img-wrap .dir-img-icon.active::before {
-            content: "";
-            position: absolute;
-            right: 10px;
-            bottom: 10px;
-        }
-        .select-img-wrap .dir-img-icon.active::after {
-            content: "";
-            width: 16px;
-            height: 8px;
-            border: 3px solid #FF5722;
-            border-bottom: 0;
-            border-left: 0;
-            position: absolute;
-            right: 10px;
-            bottom: 10px;
-            transform: rotate(135deg);
-        }
-    </style>
+    <link rel="stylesheet" href="layui/css/layui.css" tppabs="//res.ilayuis.com/layui/dist/css/layui.css" media="all">
+    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/Swiper/10.2.0/swiper-bundle.min.css"
+          integrity="sha512-s6khMl5GDS1HbQ5/SwL1wzMayPwHXPjKoBN5kHUTDqKEPkkGyEZWKyH2lQ3YO2q3dxueG3rE0NHjRawMHd2b6g=="
+          crossorigin="anonymous" referrerpolicy="no-referrer" />
 </head>
+
 <body>
 
 <table class="layui-hide" id="test" lay-filter="test"></table>
@@ -53,7 +20,7 @@
 <script type="text/html" id="toolbarDemo">
     <div class="layui-btn-container">
         <button class="layui-btn layui-btn-sm" lay-event="addData">添加目录</button>
-        <button class="layui-btn layui-btn-sm" lay-event="addText">添加考证</button>
+        <button class="layui-btn layui-btn-sm" lay-event="addCourse">添加考证</button>
     </div>
 </script>
 <script type="text/html" id="barDemo">
@@ -65,89 +32,89 @@
 <script src="layui/layui.js" charset="utf-8"></script>
 <!-- 注意:如果你直接复制所有代码到本地,上述 JS 路径需要改成你本地的 -->
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
-
-
+<script src="https://cdnjs.cloudflare.com/ajax/libs/Swiper/10.2.0/swiper-bundle.min.js"
+        integrity="sha512-QwpsxtdZRih55GaU/Ce2Baqoy2tEv9GltjAG8yuTy2k9lHqK7VHHp3wWWe+yITYKZlsT3AaCj49ZxMYPp46iJQ=="
+        crossorigin="anonymous" referrerpolicy="no-referrer"></script>
 <script>
-    layui.use('table', function(){
-        var table = layui.table;
+    layui.use('table', function () {
+        var table = layui.table
 
         //温馨提示:默认由前端自动合计当前行数据。从 layui 2.5.6 开始: 若接口直接返回了合计行数据,则优先读取接口合计行数据。
         //详见:http://www.ilayuis.com/doc/modules/table.html#totalRow
         table.render({
             elem: '#test'
             ,url:'http://localhost:8080/textual/queryTextual'
-            ,toolbar: '#toolbarDemo'
+            , toolbar: '#toolbarDemo'
             ,title: '考证中心'
-            ,totalRow: true
-            ,parseData: function(res){
-                // var parse = JSON.parse(res.data.data);
-                console.log('data',res)
+            , totalRow: true
+            , parseData: function (res) {
+                // console.log('data', res)
                 return {
-                    "code" : res.code, //解析接口状态
-                    "count":res.count, //解析总页数
-                    "msg" : res.msg, //解析提示文本
-                    "data" : res.data.list //解析数据列表
-                };
-
-            }
-            ,response:{
-                statusCode:200 //规定成功的状态码为200
+                    "code": res.code, //解析接口状态
+                    "count": res.count, //解析总页数
+                    "msg": res.msg, //解析提示文本
+                    "data": res.data.list //解析数据列表
                 }
-            ,cols: [[
+            }
+            , response: {
+                statusName: 'code', //规定返回的状态码字段为code
+                statusCode: 200 //规定成功的状态码为200
+            }
+            , cols: [[
                 {type: 'checkbox', fixed: 'left'}
-                ,{field:'id', title:'编号', width:250, sort: true, }
-                ,{field:'textualName', title:'考证名称', width:250}
-                ,{field:'textualUrl', title:'超链接', width:250}
-                ,{field:'dirName', title:'归属目录', width:250}
-                ,{fixed: 'right', title:'操作', toolbar: '#barDemo', width:150}
+                ,{field:'id', title:'编号', width:300, sort: true, }
+                ,{field:'textualName', title:'考证名称', width:300}
+                ,{field:'textualUrl', title:'超链接', width:300}
+                ,{field:'dirName', title:'归属目录', width:300}
+                ,{fixed: 'right', title:'操作', toolbar: '#barDemo', width:300}
             ]]
-            ,page: true
-        });
+            , page: true
+        })
 
         //头工具栏事件
         table.on('toolbar(test)', function (obj) {
-            var data = obj.data;
+            var data = obj.data
             //console.log(obj)
             if (obj.event === 'addData') {
-                addDir(data);
-            } else if (obj.event === 'addText') {
-                addText(data);
+                addDir(data)
+            } else if (obj.event === 'addCourse') {
+                addCourse(data)
             }
-        });
+        })
+
         //监听行工具事件
-        table.on('tool(test)', function(obj){
-            var data = obj.data;
+        table.on('tool(test)', function (obj) {
+            var data = obj.data
             //console.log(obj)
-            if(obj.event === 'del'){
-                layer.confirm('真的删除行么', function(index){
+            if (obj.event === 'del') {
+                layer.confirm('真的删除行么', function (index) {
                     //obj.del();//删除表结构
-                    layer.close(index);
+                    layer.close(index)
 
                     //获取要删除的服务的id
-                    var deleteTextual = data.id;
-
-                    //发送Ajax到后台,进行删除操作
-                    $.get("http://localhost:8080/textual/deleteTextual", { "id": deleteTextual},
-                        function(result){
-                            if (result.code == 200) {
-                                // 删除成功之后 弹出msg
-                                layer.msg(result.msg);
-                                // 重点:继续显示当前页
-                                $(".layui-laypage-btn").click();
-                            } else {
-                                layer.msg(result.msg, {icon: 2});
-                                layer.close(index);
-                            }
-                        });
-                });
-            }else if (obj.event === 'edit') {
-                selectOne(data);
+                    var deleteCourseId = data.id
+
+                    $.get("http://localhost:8080/textual/deleteTextual", { "id": deleteCourseId }, function (result) {
+                        if (result.code == 200) {
+                            // 删除成功之后 弹出msg
+                            layer.msg(result.msg)
+                            // 重点:继续显示当前页
+                            $(".layui-laypage-btn").click()
+                        } else {
+                            layer.msg(result.msg, { icon: 2 })
+                            layer.close(index)
+                        }
+                    })
+                })
+            } else if (obj.event === 'edit') {
+                selectOne(data)
             }
-        });
+        })
+
     });
 </script>
 <script>
-    function selectOne(data) {
+    function selectOne (data) {
         //弹框
         layer.open({
             type: 1,
@@ -162,64 +129,88 @@
                 $("#textualUrl").val(data.textualUrl);
                 $("#dirName").val(data.dirName);
                 $("#textualImg").val(data.textualImg);
+
                 //渲染页面
-                layui.form.render();
+                layui.form.render()
             },
-
             btn: ['提交', '取消']
             , yes: function (index, layero) {
-
                 //修改操作
-                $.post("http://localhost:8080/textual/updateTextual", $("#updateText").serialize(),
+                $.post("http://localhost:8080/textual/updateTextual", $("#updateCourse").serialize(),
                     function (data) {
-
                         if ("success" == data.msg) {
-                            layer.msg(data.msg);
-                            $(".layui-laypage-btn").click();
-                            parent.layer.close(index);
+                            layer.msg(data.msg)
+                            $(".layui-laypage-btn").click()
+                            parent.layer.close(index)
                         } else {
-                            layer.msg(data.msg);
+                            layer.msg(data.msg)
                         }
-                    });
-
+                    })
             }
             , btn2: function (index, layero) {
                 // alert("取消")
             }
-        });
+        })
         layui.use(['form'], function () {
-            var form = layui.form;
+            var form = layui.form
             $.ajax({
                 url: 'http://localhost:8080/textual/queryDir',
                 type: "get",
                 success: function (data) {
                     if (data.msg === "success") {
                         //给一个默认值(‘请选择’)
-                        var opt = '<option value="" selected="' + data.dirName + '"></option>';
+                        var opt = '<option value="" selected="' + data.dirName + '"></option>'
                         //获取返回的数据
-                        var value = data.data;
+                        var value = data.data
                         //循环遍历
                         for (var i in value) {
                             opt += '<option value = "' + value[i].dirName + '">' + value[i].dirName + '</option>'
                             console.log(value[i].dirName)
                         }
-                        $("#directorId").html(opt);
-                        form.render('select');//需要渲染一下
+                        $("#directorId").html(opt)
+                        form.render('select')//需要渲染一下
 
                     } else {
-                        layer.alert(data.msg, {icon: 2, title: '提示'}, function (i) {
-                            layer.closeAll();
-                        });
+                        layer.alert(data.msg, { icon: 2, title: '提示' }, function (i) {
+                            layer.closeAll()
+                        })
                     }
 
                 }
-            });
-        });
+            })
+        })
+
+        var swiper = new Swiper(".icon-swiper", {
+            slidesPerView: 6,
+            spaceBetween: 10,
+            slidesPerGroup: 12,
+            grid: {
+                rows: 2,
+            },
+            pagination: {
+                el: ".swiper-pagination",
+                clickable: true,
+            },
+            navigation: {
+                nextEl: ".swiper-button-next",
+                prevEl: ".swiper-button-prev",
+            },
+        })
+
+        $(".icon-swiper").on('click', '.swiper-slide>img', function (event) {
+            const parentEl = $(this).parent('.swiper-slide')
+            const siblingsEl = $(parentEl).siblings('.swiper-slide')
+            parentEl.addClass('active')
+            $.each(siblingsEl, function () {
+                $(this).removeClass('active')
+            })
+            textualImg = $(this).attr('src')
+        })
     }
 </script>
 <script type="text/html" id="updateForm">
 
-    <form class="layui-form" id="updateText">
+    <form class="layui-form layui-form-pane" id="updateCourse" style="padding: 15px;">
 
         <!-- 把id 作为隐藏域传过去 -->
         <input type="hidden" name="id" id="id">
@@ -247,17 +238,132 @@
                 </select>
             </div>
         </div>
-        <div class="layui-form-item">
+        <div class="layui-form-item" style="display: flex;flex-direction: column">
             <label class="layui-form-label">选择icon</label>
-            <div class="layui-input-block">
-                <input type="text" name="textualImg" id="textualImg" class="layui-input">
+            <div class="icon-swiper-wrap">
+                <div #swiperRef="" class="swiper icon-swiper">
+                    <div class="swiper-wrapper">
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/500/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/501/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/502/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/503/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/504/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/505/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/506/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/507/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/508/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/509/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/510/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/511/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/512/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/520/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/521/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/523/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/533/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/534/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/535/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/536/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/550/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/551/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/552/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/553/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/554/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/555/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/556/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/557/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/558/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/559/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/560/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/562/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/563/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/564/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/565/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/566/70/70">
+                        </div>
+                    </div>
+                </div>
+                <div class="swiper-button-next" style="margin-right: -5px;"></div>
+                <div class="swiper-button-prev"></div>
+                <div class="swiper-pagination"></div>
             </div>
         </div>
-
+        <!-- 弹框错乱,多了这个 div 闭合标签 -->
+        <!-- </div> -->
     </form>
 </script>
 <script>
-    function addDir(data) {
+    function addDir (data) {
         var $ = layui.jquery
         var dirImg = ''
         //弹框
@@ -267,7 +373,6 @@
             title: ['添加页面', 'font-size:18px;'],
             area: ['600px', '600px'],
             btn: ['提交', '取消']
-
             , yes: function (index, layero) {
                 // 获取所有图标元素
                 var dirName = $('#dirName').val()
@@ -279,24 +384,24 @@
                 $.get("http://localhost:8080/textual/addDirectory", params,
                     function (data) {
                         if ("success" == data.msg) {
-                            layer.msg(data.msg);
-                            $(".layui-laypage-btn").click();
-                            parent.layer.close(index);
+                            layer.msg(data.msg)
+                            $(".layui-laypage-btn").click()
+                            parent.layer.close(index)
                         } else {
-                            layer.msg(data.msg);
+                            layer.msg(data.msg)
                         }
-                    });
+                    })
             }
             , btn2: function (index, layero) {
                 // alert("取消")
             }
-        });
-        $(".select-img-wrap").on('click', '.dir-img-icon>img', function (event){
+        })
+        $(".select-img-wrap").on('click', '.dir-img-icon>img', function (event) {
             const parentEl = $(this).parent('.dir-img-icon')
             const siblingsEl = $(parentEl).siblings('.dir-img-icon')
             parentEl.addClass('active')
-            Array.from(siblingsEl).forEach(item=>{
-                $(item).removeClass('active')
+            $.each(siblingsEl, function () {
+                $(this).removeClass('active')
             })
             dirImg = $(this).attr('src')
         })
@@ -304,12 +409,58 @@
 
 </script>
 <script type="text/html" id="addForm">
+    <style>
+        /* 取消弹框拖拽 */
+        .layui-layer-resize {
+            display: none;
+        }
+
+        .select-img-wrap {
+            width: calc(100% - 90px);
+            margin: 10px auto 0;
+        }
+
+        .select-img-wrap .dir-img-icon {
+            position: relative;
+            padding: 5px !important;
+        }
 
-    <form class="layui-form" id="addDirectory">
+        .select-img-wrap .dir-img-icon .icon {
+            width: 70px;
+            height: 70px;
+            cursor: pointer;
+            object-fit: cover;
+            vertical-align: bottom;
+            background: #e7e7e7;
+        }
+
+        .select-img-wrap .dir-img-icon.active {
+            background: #007aff;
+        }
 
+        .select-img-wrap .dir-img-icon.active::before {
+            content: "";
+            position: absolute;
+            right: 10px;
+            bottom: 10px;
+        }
+
+        .select-img-wrap .dir-img-icon.active::after {
+            content: "";
+            width: 16px;
+            height: 8px;
+            border: 3px solid #007aff;
+            border-bottom: 0;
+            border-left: 0;
+            position: absolute;
+            right: 10px;
+            bottom: 15px;
+            transform: rotate(135deg);
+        }
+    </style>
+    <form class="layui-form layui-form-pane" id="addDirectory" style="padding: 15px;">
         <!-- 把id 作为隐藏域传过去 -->
         <input type="hidden" name="id" id="id">
-
         <div class="layui-form-item">
             <label class="layui-form-label">目录名称</label>
             <div class="layui-input-block">
@@ -319,109 +470,211 @@
         </div>
         <div class="layui-form-item" style="display: flex;flex-direction: column">
             <label class="layui-form-label">选择icon</label>
-            <!--            <input type="hidden"  name="dirImg" id="dirImg" class="layui-form-label">选择icon</input>-->
             <div class="layui-row layui-col-space20 select-img-wrap">
                 <div name="dirImg" class="layui-col-md2 dir-img-icon" lay-event="addData">
-                    <img id="icon1" class="icon" src="https://picsum.photos/id/237/70/70" alt="图片1">
+                    <img id="icon1" class="icon" src="https://picsum.photos/id/237/70/70">
                 </div>
                 <div name="dirImg" class="layui-col-md2 dir-img-icon" lay-event="addData">
-                    <img id="icon2" class="icon" src="https://picsum.photos/id/238/70/70" alt="图片1">
+                    <img id="icon2" class="icon" src="https://picsum.photos/id/238/70/70">
                 </div>
                 <div name="dirImg" class="layui-col-md2 dir-img-icon" lay-event="addData">
-                    <img id="icon3" class="icon" src="https://picsum.photos/70/70" alt="图片1">
+                    <img id="icon3" class="icon" src="https://picsum.photos/id/239/70/70">
                 </div>
                 <div name="dirImg" class="layui-col-md2 dir-img-icon" lay-event="addData">
-                    <img id="icon4" class="icon" src="https://picsum.photos/70/70" alt="图片1">
+                    <img id="icon4" class="icon" src="https://picsum.photos/id/240/70/70">
                 </div>
                 <div name="dirImg" class="layui-col-md2 dir-img-icon" lay-event="addData">
-                    <img id="icon5" class="icon" src="https://picsum.photos/70/70" alt="图片1">
+                    <img id="icon5" class="icon" src="https://picsum.photos/id/261/70/70">
                 </div>
                 <div name="dirImg" class="layui-col-md2 dir-img-icon" lay-event="addData">
-                    <img id="icon4" class="icon" src="https://picsum.photos/70/70" alt="图片1">
+                    <img id="icon4" class="icon" src="https://picsum.photos/id/252/70/70">
                 </div>
                 <div name="dirImg" class="layui-col-md2 dir-img-icon" lay-event="addData">
-                    <img id="icon5" class="icon" src="https://picsum.photos/70/70" alt="图片1">
+                    <img id="icon5" class="icon" src="https://picsum.photos/id/253/70/70">
                 </div>
                 <div name="dirImg" class="layui-col-md2 dir-img-icon" lay-event="addData">
-                    <img id="icon4" class="icon" src="https://picsum.photos/70/70" alt="图片1">
+                    <img id="icon4" class="icon" src="https://picsum.photos/id/254/70/70">
                 </div>
                 <div name="dirImg" class="layui-col-md2 dir-img-icon" lay-event="addData">
-                    <img id="icon5" class="icon" src="https://picsum.photos/70/70" alt="图片1">
+                    <img id="icon5" class="icon" src="https://picsum.photos/id/255/70/70">
                 </div>
                 <div name="dirImg" class="layui-col-md2 dir-img-icon" lay-event="addData">
-                    <img id="icon4" class="icon" src="https://picsum.photos/70/70" alt="图片1">
+                    <img id="icon4" class="icon" src="https://picsum.photos/id/256/70/70">
                 </div>
                 <div name="dirImg" class="layui-col-md2 dir-img-icon" lay-event="addData">
-                    <img id="icon5" class="icon" src="https://picsum.photos/70/70" alt="图片1">
+                    <img id="icon5" class="icon" src="https://picsum.photos/id/257/70/70">
                 </div>
                 <div name="dirImg" class="layui-col-md2 dir-img-icon" lay-event="addData">
-                    <img id="icon5" class="icon" src="https://picsum.photos/70/70" alt="图片1">
+                    <img id="icon5" class="icon" src="https://picsum.photos/id/258/70/70">
                 </div>
             </div>
         </div>
     </form>
 </script>
-<script>
-    function addText(data) {
-        //弹框
-        layer.open({
-            type: 1,
-            content: $("#addForm1").html(),
-            title: ['添加课程', 'font-size:18px;'],
-            area: ['600px', '600px'],
-            btn: ['提交', '取消']
-            , yes: function (index, layero) {
-                //修改操作
-                $.post("http://localhost:8080/textual/addTextual", $("#addText").serialize(),
-                    function (data) {
-                        if ("success" == data.msg) {
-                            layer.msg(data.msg);
-                            $(".layui-laypage-btn").click();
-                            parent.layer.close(index);
-                        } else {
-                            layer.msg(data.msg);
-                        }
-                    });
-            }
-            , btn2: function (index, layero) {
-                // alert("取消")
-            }
+<style>
+    .icon-swiper-wrap {
+        position: relative;
+    }
+
+    .icon-swiper-wrap .swiper {
+        box-sizing: border-box;
+        width: calc(100% - 60px);
+        height: 162px;
+        margin: 20px 30px 20px 30px;
+    }
+
+    .icon-swiper-wrap .swiper-slide {
+        height: calc((100% - 10px) / 2);
+        text-align: center;
+        font-size: 12px;
+        background: #fff;
+        display: flex;
+        justify-content: center;
+        align-items: center;
+        position: relative;
+    }
+
+    .icon-swiper-wrap .swiper-slide.active::before {
+        content: "";
+        position: absolute;
+        right: 10px;
+        bottom: 10px;
+    }
+
+    .icon-swiper-wrap .swiper-slide.active::after {
+        content: "";
+        width: 16px;
+        height: 8px;
+        border: 3px solid #007aff;
+        border-bottom: 0;
+        border-left: 0;
+        position: absolute;
+        right: 10px;
+        bottom: 15px;
+        transform: rotate(135deg);
+    }
 
-        });
+    .icon-swiper-wrap .swiper-slide img {
+        width: 70px;
+        height: 70px;
+        cursor: pointer;
+        object-fit: cover;
+        vertical-align: bottom;
+        background: #e7e7e7;
+        border: 3px solid transparent;
+    }
+
+    .icon-swiper-wrap .swiper-slide.active img {
+        border: 3px solid #007aff;
+    }
+
+    .icon-swiper-wrap .swiper-pagination {
+        bottom: 0 !important;
+    }
+
+    .icon-swiper-wrap .swiper-button-prev {
+        margin-left: -10px !important;
+    }
+
+    .icon-swiper-wrap .swiper-button-next {
+        margin-right: -10px !important;
+    }
+</style>
+<script>
+    function addCourse (data) {
         layui.use(['form'], function () {
-            var form = layui.form;
+            var form = layui.form
+            var textualImg = ''
+            //弹框
+            layer.open({
+                type: 1,
+                content: $("#addCourseTemplate").html(),
+                title: ['添加课程', 'font-size:18px;'],
+                area: ['600px', '650px'],
+                btn: ['提交', '取消']
+                , yes: function (index, layero) {
+                    var formData = form.val('addCourseForm') // 表单取值
+                    Object.assign(formData, { textualImg: textualImg })
+                    //修改操作
+                    $.post("http://localhost:8080/textual/addTextual", formData,
+                        function (data) {
+                            if ("success" == data.msg) {
+                                layer.msg(data.msg)
+                                $(".layui-laypage-btn").click()
+                                parent.layer.close(index)
+                            } else {
+                                layer.msg(data.msg)
+                            }
+                        })
+                }
+                , btn2: function (index, layero) {
+                    // alert("取消")
+                }
+            })
             $.ajax({
                 url: 'http://localhost:8080/textual/queryDir',
                 type: "get",
                 success: function (data) {
                     if (data.msg === "success") {
                         //给一个默认值(‘请选择’)
-                        var opt = '<option value="" selected=""></option>';
+                        var opt = '<option value="" selected=""></option>'
                         //获取返回的数据
-                        var value = data.data;
+                        var value = data.data || [{ dirName: 'test1' }, { dirName: 'test2' }]
                         //循环遍历
                         for (var i in value) {
                             opt += '<option value = "' + value[i].dirName + '">' + value[i].dirName + '</option>'
                             console.log(value[i].dirName)
                         }
-                        $("#directorId").html(opt);
-                        form.render('select');//需要渲染一下
-
+                        $("#directorId").html(opt)
+
+                        // $.each($("#directorId").children(), function () {
+                        //     $(this).removeProp('selected')
+                        //     if ($(this).text() === data.dirName) {
+                        //         $(this).prop('selected', data.dirName)
+                        //     }
+                        // })
+                        form.render('select')//需要渲染一下
                     } else {
-                        layer.alert(data.msg, {icon: 2, title: '提示'}, function (i) {
-                            layer.closeAll();
-                        });
+                        layer.alert(data.msg, { icon: 2, title: '提示' }, function (i) {
+                            layer.closeAll()
+                        })
                     }
-
                 }
-            });
-        });
-    }
-</script>
-<script type="text/html" id="addForm1">
+            })
 
-    <form class="layui-form" id="addText">
+            var swiper = new Swiper(".icon-swiper", {
+                slidesPerView: 6,
+                spaceBetween: 10,
+                slidesPerGroup: 12,
+                grid: {
+                    rows: 2,
+                },
+                pagination: {
+                    el: ".swiper-pagination",
+                    clickable: true,
+                },
+                navigation: {
+                    nextEl: ".swiper-button-next",
+                    prevEl: ".swiper-button-prev",
+                },
+            })
 
+            $(".icon-swiper").on('click', '.swiper-slide>img', function (event) {
+                const parentEl = $(this).parent('.swiper-slide')
+                const siblingsEl = $(parentEl).siblings('.swiper-slide')
+                parentEl.addClass('active')
+                $.each(siblingsEl, function () {
+                    $(this).removeClass('active')
+                })
+                textualImg = $(this).attr('src')
+            })
+        })
+    }
+</script>
+<script type="text/html" id="addCourseTemplate">
+    <form class="layui-form layui-form-pane" id="addCourseForm" lay-filter="addCourseForm" style="padding: 15px;">
+        <!-- 把id 作为隐藏域传过去 -->
+        <input type="hidden" name="id" id="id">
         <div class="layui-form-item">
             <label class="layui-form-label">考证名称</label>
             <div class="layui-input-block">
@@ -445,13 +698,129 @@
                 </select>
             </div>
         </div>
-        <div class="layui-form-item">
+        <div class="layui-form-item" style="display: flex;flex-direction: column">
             <label class="layui-form-label">选择icon</label>
-            <div class="layui-input-block">
-                <input type="text" name="textualImg" id="textualImg" class="layui-input">
+            <div class="icon-swiper-wrap">
+                <div #swiperRef="" class="swiper icon-swiper">
+                    <div class="swiper-wrapper">
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/500/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/501/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/502/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/503/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/504/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/505/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/506/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/507/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/508/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/509/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/510/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/511/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/512/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/520/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/521/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/523/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/533/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/534/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/535/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/536/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/550/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/551/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/552/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/553/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/554/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/555/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/556/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/557/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/558/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/559/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/560/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/562/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/563/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/564/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/565/70/70">
+                        </div>
+                        <div class="swiper-slide">
+                            <img class="image-item" src="https://picsum.photos/id/566/70/70">
+                        </div>
+                    </div>
+                </div>
+                <div class="swiper-button-next" style="margin-right: -5px;"></div>
+                <div class="swiper-button-prev"></div>
+                <div class="swiper-pagination"></div>
             </div>
         </div>
+        <!-- 弹框错乱,多了这个 div 闭合标签 -->
+        <!-- </div> -->
     </form>
 </script>
 </body>
-</html>
\ No newline at end of file
+</html>