Browse Source

Merge remote-tracking branch 'origin/master'

ljx 6 months ago
parent
commit
75d7f2fb3b
100 changed files with 1371 additions and 34 deletions
  1. 112 20
      cms-editor/templates/default_v5/about_list.html
  2. 2 1
      cms-editor/templates/default_v5/assets/css/styles.css
  3. 22 0
      cms-editor/templates/default_v5/back.html
  4. 52 12
      cms-editor/templates/default_v5/news_content.html
  5. 5 1
      cms-editor/templates/default_v5/news_list.html
  6. BIN
      cms-editor/uploads/20240612/1800730536776327168.jpg
  7. BIN
      cms-editor/uploads/20240612/1800734500771094528.jpg
  8. BIN
      cms-editor/uploads/20240612/1800734545402683392.jpg
  9. BIN
      cms-editor/uploads/20240612/1800734585563144192.jpg
  10. BIN
      cms-editor/uploads/20240612/1800734628223410176.jpg
  11. BIN
      cms-editor/uploads/20240612/1800739165382402048.jpg
  12. BIN
      cms-editor/uploads/20240612/1800739252913332224.jpg
  13. BIN
      cms-editor/uploads/20240612/1800739305107251200.jpg
  14. BIN
      cms-editor/uploads/20240612/1800739516974129152.png
  15. BIN
      cms-editor/uploads/20240612/1800739600688242688.jpeg
  16. BIN
      cms-editor/uploads/20240612/1800766200368623616.jpeg
  17. BIN
      cms-editor/uploads/20240612/1800766326516510720.jpg
  18. BIN
      cms-editor/uploads/20240612/1800766375094939648.jpg
  19. BIN
      cms-editor/uploads/20240612/1800766705463488512.jpeg
  20. BIN
      cms-editor/uploads/20240612/1800785656645971968.jpg
  21. 62 0
      src/main/resources/static/resource/js/UEditorPlus/dialogs/anchor/anchor.html
  22. 2 0
      src/main/resources/static/resource/js/UEditorPlus/dialogs/attachment/attachment.css
  23. 61 0
      src/main/resources/static/resource/js/UEditorPlus/dialogs/attachment/attachment.html
  24. 1 0
      src/main/resources/static/resource/js/UEditorPlus/dialogs/attachment/attachment.js
  25. BIN
      src/main/resources/static/resource/js/UEditorPlus/dialogs/attachment/images/alignicon.gif
  26. BIN
      src/main/resources/static/resource/js/UEditorPlus/dialogs/attachment/images/alignicon.png
  27. BIN
      src/main/resources/static/resource/js/UEditorPlus/dialogs/attachment/images/bg.png
  28. BIN
      src/main/resources/static/resource/js/UEditorPlus/dialogs/attachment/images/file-icons.gif
  29. BIN
      src/main/resources/static/resource/js/UEditorPlus/dialogs/attachment/images/file-icons.png
  30. BIN
      src/main/resources/static/resource/js/UEditorPlus/dialogs/attachment/images/icons.gif
  31. BIN
      src/main/resources/static/resource/js/UEditorPlus/dialogs/attachment/images/icons.png
  32. BIN
      src/main/resources/static/resource/js/UEditorPlus/dialogs/attachment/images/image.png
  33. BIN
      src/main/resources/static/resource/js/UEditorPlus/dialogs/attachment/images/progress.png
  34. BIN
      src/main/resources/static/resource/js/UEditorPlus/dialogs/attachment/images/success.gif
  35. BIN
      src/main/resources/static/resource/js/UEditorPlus/dialogs/attachment/images/success.png
  36. 2 0
      src/main/resources/static/resource/js/UEditorPlus/dialogs/audio/audio.css
  37. 83 0
      src/main/resources/static/resource/js/UEditorPlus/dialogs/audio/audio.html
  38. 1 0
      src/main/resources/static/resource/js/UEditorPlus/dialogs/audio/audio.js
  39. BIN
      src/main/resources/static/resource/js/UEditorPlus/dialogs/audio/images/bg.png
  40. BIN
      src/main/resources/static/resource/js/UEditorPlus/dialogs/audio/images/center_focus.jpg
  41. BIN
      src/main/resources/static/resource/js/UEditorPlus/dialogs/audio/images/file-icons.gif
  42. BIN
      src/main/resources/static/resource/js/UEditorPlus/dialogs/audio/images/file-icons.png
  43. BIN
      src/main/resources/static/resource/js/UEditorPlus/dialogs/audio/images/icons.gif
  44. BIN
      src/main/resources/static/resource/js/UEditorPlus/dialogs/audio/images/icons.png
  45. BIN
      src/main/resources/static/resource/js/UEditorPlus/dialogs/audio/images/image.png
  46. BIN
      src/main/resources/static/resource/js/UEditorPlus/dialogs/audio/images/left_focus.jpg
  47. BIN
      src/main/resources/static/resource/js/UEditorPlus/dialogs/audio/images/none_focus.jpg
  48. BIN
      src/main/resources/static/resource/js/UEditorPlus/dialogs/audio/images/progress.png
  49. BIN
      src/main/resources/static/resource/js/UEditorPlus/dialogs/audio/images/right_focus.jpg
  50. BIN
      src/main/resources/static/resource/js/UEditorPlus/dialogs/audio/images/success.gif
  51. BIN
      src/main/resources/static/resource/js/UEditorPlus/dialogs/audio/images/success.png
  52. 3 0
      src/main/resources/static/resource/js/UEditorPlus/dialogs/background/background.css
  53. 59 0
      src/main/resources/static/resource/js/UEditorPlus/dialogs/background/background.html
  54. 1 0
      src/main/resources/static/resource/js/UEditorPlus/dialogs/background/background.js
  55. BIN
      src/main/resources/static/resource/js/UEditorPlus/dialogs/background/images/bg.png
  56. BIN
      src/main/resources/static/resource/js/UEditorPlus/dialogs/background/images/success.png
  57. 176 0
      src/main/resources/static/resource/js/UEditorPlus/dialogs/contentimport/contentimport.html
  58. 2 0
      src/main/resources/static/resource/js/UEditorPlus/dialogs/contentimport/contentimport.js
  59. 3 0
      src/main/resources/static/resource/js/UEditorPlus/dialogs/emotion/emotion.css
  60. 70 0
      src/main/resources/static/resource/js/UEditorPlus/dialogs/emotion/emotion.html
  61. 1 0
      src/main/resources/static/resource/js/UEditorPlus/dialogs/emotion/emotion.js
  62. BIN
      src/main/resources/static/resource/js/UEditorPlus/dialogs/emotion/images/0.gif
  63. BIN
      src/main/resources/static/resource/js/UEditorPlus/dialogs/emotion/images/bface.gif
  64. BIN
      src/main/resources/static/resource/js/UEditorPlus/dialogs/emotion/images/cface.gif
  65. BIN
      src/main/resources/static/resource/js/UEditorPlus/dialogs/emotion/images/fface.gif
  66. BIN
      src/main/resources/static/resource/js/UEditorPlus/dialogs/emotion/images/jxface2.gif
  67. BIN
      src/main/resources/static/resource/js/UEditorPlus/dialogs/emotion/images/neweditor-tab-bg.png
  68. BIN
      src/main/resources/static/resource/js/UEditorPlus/dialogs/emotion/images/tface.gif
  69. BIN
      src/main/resources/static/resource/js/UEditorPlus/dialogs/emotion/images/wface.gif
  70. BIN
      src/main/resources/static/resource/js/UEditorPlus/dialogs/emotion/images/yface.gif
  71. 98 0
      src/main/resources/static/resource/js/UEditorPlus/dialogs/formula/formula.html
  72. 1 0
      src/main/resources/static/resource/js/UEditorPlus/dialogs/formula/formula.js
  73. 3 0
      src/main/resources/static/resource/js/UEditorPlus/dialogs/help/help.css
  74. 82 0
      src/main/resources/static/resource/js/UEditorPlus/dialogs/help/help.html
  75. 2 0
      src/main/resources/static/resource/js/UEditorPlus/dialogs/help/help.js
  76. 2 0
      src/main/resources/static/resource/js/UEditorPlus/dialogs/image/image.css
  77. 125 0
      src/main/resources/static/resource/js/UEditorPlus/dialogs/image/image.html
  78. 1 0
      src/main/resources/static/resource/js/UEditorPlus/dialogs/image/image.js
  79. BIN
      src/main/resources/static/resource/js/UEditorPlus/dialogs/image/images/alignicon.jpg
  80. BIN
      src/main/resources/static/resource/js/UEditorPlus/dialogs/image/images/bg.png
  81. BIN
      src/main/resources/static/resource/js/UEditorPlus/dialogs/image/images/icons.gif
  82. BIN
      src/main/resources/static/resource/js/UEditorPlus/dialogs/image/images/icons.png
  83. BIN
      src/main/resources/static/resource/js/UEditorPlus/dialogs/image/images/image.png
  84. BIN
      src/main/resources/static/resource/js/UEditorPlus/dialogs/image/images/progress.png
  85. BIN
      src/main/resources/static/resource/js/UEditorPlus/dialogs/image/images/success.gif
  86. BIN
      src/main/resources/static/resource/js/UEditorPlus/dialogs/image/images/success.png
  87. 135 0
      src/main/resources/static/resource/js/UEditorPlus/dialogs/insertframe/insertframe.html
  88. 2 0
      src/main/resources/static/resource/js/UEditorPlus/dialogs/internal.js
  89. 155 0
      src/main/resources/static/resource/js/UEditorPlus/dialogs/link/link.html
  90. 45 0
      src/main/resources/static/resource/js/UEditorPlus/dialogs/preview/preview.html
  91. BIN
      src/main/resources/static/resource/js/UEditorPlus/dialogs/scrawl/images/addimg.png
  92. BIN
      src/main/resources/static/resource/js/UEditorPlus/dialogs/scrawl/images/brush.png
  93. BIN
      src/main/resources/static/resource/js/UEditorPlus/dialogs/scrawl/images/delimg.png
  94. BIN
      src/main/resources/static/resource/js/UEditorPlus/dialogs/scrawl/images/delimgH.png
  95. BIN
      src/main/resources/static/resource/js/UEditorPlus/dialogs/scrawl/images/empty.png
  96. BIN
      src/main/resources/static/resource/js/UEditorPlus/dialogs/scrawl/images/emptyH.png
  97. BIN
      src/main/resources/static/resource/js/UEditorPlus/dialogs/scrawl/images/eraser.png
  98. BIN
      src/main/resources/static/resource/js/UEditorPlus/dialogs/scrawl/images/redo.png
  99. BIN
      src/main/resources/static/resource/js/UEditorPlus/dialogs/scrawl/images/redoH.png
  100. BIN
      src/main/resources/static/resource/js/UEditorPlus/dialogs/scrawl/images/scale.png

+ 112 - 20
cms-editor/templates/default_v5/about_list.html

@@ -15,6 +15,34 @@
     <link rel="stylesheet" href="{dreamer-cms:template /}assets/css/smjy-header.css">
     <link rel="stylesheet" href="{dreamer-cms:template /}assets/css/sticky-dark-top-nav-with-dropdown.css">
     <link rel="stylesheet" href="{dreamer-cms:template /}assets/css/styles.css">
+    <style>
+        .auto-img {
+            height: 100% !important;
+            object-fit: cover;
+        }
+
+        .team-img img {
+            transform: scale(1);
+            transition: all ease 0.5s;
+        }
+
+        @media (any-hover) {
+            .team-img div {
+                background-color: #4a575755;
+                transition: all ease 0.5s;
+            }
+
+            .team-img:hover div {
+                background-color: #ffffff00;
+                transition: all ease 0.5s;
+            }
+        }
+
+        .team-img:hover img {
+            transform: scale(1.1);
+            transition: all ease 0.5s;
+        }
+    </style>
 </head>
 
 <body>
@@ -22,45 +50,70 @@
     <main>
         <section>
             <div class="container">
-                <div><img style="width: 100%;object-fit: cover;" src="{dreamer-cms:template /}assets/img/fef4d873cd266540e10dbf1e1a843026.jpg" loading="lazy"></div>
-                <hr class="ahout-hr">
+                <div>
+                    {dreamer-cms:type typeid="04zc8871"}
+                    <img style="width: 100%;object-fit: cover;" src="[field:typeimg/]" loading="lazy">
+                    {/dreamer-cms:type}
+                </div>
+                <hr class="ahout-hr" style="color: #a69b9f;">
             </div>
         </section>
         <section>
             <div class="container">
                 <div>
-                    <p>公司介绍,公司介绍,公司介绍,公司介绍<br>公司介绍,公司介绍,公司介绍,公司介绍,<br>公司介绍,公司介绍,公司介绍,公司介绍</p>
+                    {dreamer-cms:type typeid="04zc8871"}
+                    <div style="text-indent: 2em;color: #6b6767;">
+                        [field:htmlcontent/]
+                    </div>
+                    {/dreamer-cms:type}
                 </div>
-                <hr class="ahout-hr">
+                <hr class="ahout-hr" style="color: #a69b9f;">
             </div>
         </section>
         <section>
             <div class="container">
                 <h3>团建照片</h3>
-                <div class="pt-3 pt-xl-4"><img loading="lazy" src="{dreamer-cms:template /}assets/img/fef4d873cd266540e10dbf1e1a843026.jpg" width="100%" height="auto" alt="11">
-                    <div class="row gx-2 row-cols-1 row-cols-lg-3 row-cols-xl-3 row-cols-xxl-3">
-                        <div class="col pt-xl-4 pt-md-5 pt-2" data-aos="fade-down-right" data-aos-duration="1000"><img class="auto-img" src="{dreamer-cms:template /}assets/img/fef4d873cd266540e10dbf1e1a843026.jpg"></div>
-                        <div class="col pt-xl-4 pt-md-5 pt-2" data-aos="fade-down-right" data-aos-duration="1000"><img class="auto-img" src="{dreamer-cms:template /}assets/img/fef4d873cd266540e10dbf1e1a843026.jpg"></div>
-                        <div class="col pt-xl-4 pt-md-5 pt-2" data-aos="fade-down-right" data-aos-duration="1000"><img class="auto-img" src="{dreamer-cms:template /}assets/img/fef4d873cd266540e10dbf1e1a843026.jpg"></div>
+                <div class="pt-3 pt-xl-4">
+                    {dreamer-cms:type typeid="ieu98721"}
+                    <img loading="lazy" src="[field:typeimg/]" width="100%" height="50%" alt="[field:typenamecn/]"
+                        style="object-fit: cover;">
+                    {/dreamer-cms:type}
+                    <div class="row gx-4 row-cols-1 row-cols-lg-3 row-cols-xl-3 row-cols-xxl-3 team">
+                        {dreamer-cms:list typeid="ieu98721" pagenum="0" flag="p" pagesize="3"}
+                        <div class="col mt-xl-4 mt-md-4 mt-2 fade-box" data-aos="zoom-in-right"
+                            data-aos-duration="1000" data-aos-once="true">
+                            <div class="team-img" style="width: 100%;height: 100%;position: relative;overflow: hidden;">
+                                <div style="height: inherit;width: inherit;position: absolute;top: 0; z-index: 10;">
+                                </div>
+                                <img class="auto-img" src="[field:litpic/]" loading="lazy" alt="[field:title/]"
+                                    style="z-index: 5;" />
+                            </div>
+                        </div>
+                        {/dreamer-cms:list}
                     </div>
                 </div>
-                <hr class="ahout-hr">
+                <hr class="ahout-hr" style="color: #a69b9f;">
             </div>
         </section>
         <section>
             <div class="container">
                 <h3>人员介绍</h3>
-                <div class="row gx-0 gy-2 gx-sm-3 gx-md-3 gx-lg-3 gx-xl-3 gx-xxl-3 row-cols-1 row-cols-sm-4 row-cols-xl-6 pt-xl-4 row-cols-lg-6 pt-3 pt-xl-4">
-                    <div class="col" data-aos="fade-down-right" data-aos-duration="1000"><img class="auto-img" src="{dreamer-cms:template /}assets/img/1798256067944148992(1).png"></div>
-                    <div class="col" data-aos="fade-down-right" data-aos-duration="1000"><img class="auto-img" src="{dreamer-cms:template /}assets/img/1798256067944148992(1).png"></div>
-                    <div class="col" data-aos="fade-down-right" data-aos-duration="1000"><img class="auto-img" src="{dreamer-cms:template /}assets/img/1798256067944148992(1).png"></div>
-                    <div class="col" data-aos="fade-down-right" data-aos-duration="1000"><img class="auto-img" src="{dreamer-cms:template /}assets/img/1798256067944148992(1).png"></div>
-                    <div class="col" data-aos="fade-down-right" data-aos-duration="1000"><img class="auto-img" src="{dreamer-cms:template /}assets/img/1798256067944148992(1).png"></div>
-                    <div class="col" data-aos="fade-down-right" data-aos-duration="1000"><img class="auto-img" src="{dreamer-cms:template /}assets/img/1798256067944148992(1).png"></div>
-                    <div class="col" data-aos="fade-down-right" data-aos-duration="1000"><img class="auto-img" src="{dreamer-cms:template /}assets/img/1798256067944148992(1).png"></div>
-                    <div class="col" data-aos="fade-down-right" data-aos-duration="1000"><img class="auto-img" src="{dreamer-cms:template /}assets/img/1798256067944148992(1).png"></div>
+                <div
+                    class="person row gx-0 gy-2 gx-sm-3 gx-md-3 gx-lg-3 gx-xl-3 gx-xxl-3 
+                    row-cols-1 
+                    row-cols-sm-4 
+                    row-cols-xl-6 
+                    pt-xl-4 
+                    row-cols-lg-6 
+                    pt-3 
+                    pt-xl-4">
+                    {dreamer-cms:list typeid="16nm8896" pagenum="0" flag="p"}
+                    <div class="col fade-box" data-aos="zoom-in-right" data-aos-duration="1000" data-aos-once="true">
+                        <img class="auto-img" src="[field:litpic/]" loading="lazy">
+                    </div>
+                    {/dreamer-cms:list}
                 </div>
-                <hr class="ahout-hr">
+                <hr class="ahout-hr" style="color: #a69b9f;">
             </div>
         </section>
     </main>
@@ -69,6 +122,45 @@
     <script src="{dreamer-cms:template /}assets/bootstrap/js/bootstrap.min.js"></script>
     <script src="{dreamer-cms:template /}assets/js/aos.min.js"></script>
     <script src="{dreamer-cms:template /}assets/js/bs-init.js"></script>
+    <script>
+        $(function () {
+            var Owidth = document.querySelector("html").offsetWidth;
+            var ow;
+            if (Owidth <= 768) {
+                ow = "s"
+            } else {
+                if (Owidth > 768 && Owidth <= 992) {
+                    ow = "m"
+                } else {
+                    if (Owidth > 992 && Owidth <= 1200) {
+                        ow = "l"
+                    } else {
+                        if (Owidth > 1200) {
+                            ow = "xl"
+                        }
+                    }
+                }
+            }
+            var fade = $(".team .fade-box")
+            let flag = 0
+            fade.each((index, element) => {
+                $(element).attr("data-aos-delay", flag)
+                flag += 200
+                if(ow == "l" && (index+1)%3==0 || ow=="s") {
+                   flag = 0
+                }
+            });
+            let dflag = 0
+            var dfade = $(".person .fade-box")
+            dfade.each((index, element) => {
+                $(element).attr("data-aos-delay", dflag)
+                dflag += 200
+                if(ow=="s" || ow == "m" && (index+1)%4==0 || ow == "l" && (index+1)%6==0){
+                    dflag = 0
+                }
+            });
+        })
+    </script>
 </body>
 
 </html>

+ 2 - 1
cms-editor/templates/default_v5/assets/css/styles.css

@@ -11,8 +11,9 @@
 }
 
 .auto-img {
-  height: auto;
+  height: 100%;
   width: 100%;
+  object-fit: cover;
 }
 
 .link-default {

+ 22 - 0
cms-editor/templates/default_v5/back.html

@@ -0,0 +1,22 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <title>Document</title>
+    <style>
+        .back-up a{
+            text-decoration: none;
+        }
+    </style>
+</head>
+<body>
+    <section>
+        <div class="container">
+            <div class="row pt-2 pt-xl-3">
+                <a class="back-up" href="javascript:window.history.go(-1);" style="text-decoration: none;color: rgb(137, 137, 137);">&lt;点击返回列表</a>
+            </div>
+        </div>
+    </section>
+</body>
+</html>

+ 52 - 12
cms-editor/templates/default_v5/news_content.html

@@ -14,6 +14,36 @@
     <link rel="stylesheet" href="{dreamer-cms:template /}assets/css/smjy-header.css">
     <link rel="stylesheet" href="{dreamer-cms:template /}assets/css/sticky-dark-top-nav-with-dropdown.css">
     <link rel="stylesheet" href="{dreamer-cms:template /}assets/css/styles.css">
+    <style>
+        @media(max-width:750px) {
+            .new-content-body {
+                background-size: contain;
+                width: 90%;
+                height: auto;
+                margin: 0 auto;
+                display: block;
+            }
+
+            .new-content-body span {
+                text-wrap: wrap;
+            }
+        }
+
+        #content {
+            width: 90%;
+            height: 100%;
+            padding: 0;
+            margin: 10px auto;
+        }
+        .dreamer-prevnext li {
+            list-style: none;
+        }
+
+        .dreamer-prevnext a {
+            text-decoration: none;
+            color: inherit;
+        }
+    </style>
 </head>
 
 <body>
@@ -24,27 +54,24 @@
                 <div><img style="width: 100%;object-fit: cover;" src="{dreamer-cms:article field='litpic' /}"></div>
             </div>
         </section>
-        <section>
-            <div>{dreamer-cms:location lang="cn" /}</div>
-            <div>{dreamer-cms:article field="title" /}</div>
-        </section>
+        {dreamer-cms:include file='back.html'/}
         <section>
             <div class="container py-4 py-xl-5">
                 <div class="row mb-lg-5 mb-2">
                     <div class="col-md-8 col-xl-6 text-center mx-auto">
                         <h2>{dreamer-cms:article field="title" /}</h2>
-                        <p class="w-lg-50">
-                            <br>
+                        <p class="w-lg-50 d-flex flex-column flex-sm-row justify-content-around">
                             <span style="color: rgb(137, 137, 137);">
                                 {dreamer-cms:article field="updatetime" /}
-                                &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
+                            </span>
+                            <span style="color: rgb(137, 137, 137);">
                                 作者:{dreamer-cms:article field="realname" /}
                             </span>
                         </p>
                     </div>
                 </div>
                 <div class="row gy-4 row-cols-1 row-cols-lg-1 row-cols-xl-1 justify-content-center">
-                    <div class="col-xxl-8 col-sm-12 col-lg-8 col-xl-8">
+                    <div class="col-xxl-8 col-sm-12 col-lg-8 col-xl-8 " id="content">
                         {dreamer-cms:article field="content" /}
                     </div>
                 </div>
@@ -103,21 +130,20 @@
                     </div>
                 </div>
                 <div class="row mt-lg-5 mt-2">
-                    <div class="col text-start">
+                    {dreamer-cms:prevnext layout="prev,next" /}
+                    <!-- <div class="col text-start">
                         <a class="link-default" href="#">
                             <span style="color: rgb(33, 37, 41);">
                                 &lt; 上一篇
                             </span>
-                            <br><br>
                         </a>
                     </div>
                     <div class="col text-end">
                         <a class="link-default" href="#"><span style="color: rgb(33, 37, 41);">
                                 下一篇
                                 &gt;</span>
-                            <br><br>
                         </a>
-                    </div>
+                    </div> -->
                 </div>
             </div>
         </section>
@@ -126,6 +152,20 @@
     <script src="{dreamer-cms:template /}assets/js/jquery.min.js"></script>
     <script src="{dreamer-cms:template /}assets/bootstrap/js/bootstrap.min.js"></script>
     <script src="{dreamer-cms:template /}assets/js/bs-init.js"></script>
+    <script>
+        // var a = $("#conetent > p")
+        $(function () {
+            var pArr = document.querySelectorAll("#content p")
+            pArr.forEach(element => {
+                element.style.width = "100%"
+            });
+            var imgArr = document.querySelectorAll("#content img")
+            imgArr.forEach(i => {
+                i.style.width = "100%"
+                i.style.height = "auto"
+            });
+        })
+    </script>
 </body>
 
 </html>

+ 5 - 1
cms-editor/templates/default_v5/news_list.html

@@ -33,7 +33,11 @@
     <main>
         <section>
             <div class="container">
-                <div class="pt-2 pt-md-3 pt-xl-4"><img class="auto-img" src="{dreamer-cms:template /}assets/img/1798256067944148992.jpg"></div>
+                <div class="pt-2 pt-md-3 pt-xl-4">
+                    {dreamer-cms:type typeid="927c5jck"}
+                    <img class="auto-img" src="[field:typeimg/]" />
+                    {/dreamer-cms:type}
+                </div>
             </div>
         </section>
         <div class="container py-4 py-xl-5">

BIN
cms-editor/uploads/20240612/1800730536776327168.jpg


BIN
cms-editor/uploads/20240612/1800734500771094528.jpg


BIN
cms-editor/uploads/20240612/1800734545402683392.jpg


BIN
cms-editor/uploads/20240612/1800734585563144192.jpg


BIN
cms-editor/uploads/20240612/1800734628223410176.jpg


BIN
cms-editor/uploads/20240612/1800739165382402048.jpg


BIN
cms-editor/uploads/20240612/1800739252913332224.jpg


BIN
cms-editor/uploads/20240612/1800739305107251200.jpg


BIN
cms-editor/uploads/20240612/1800739516974129152.png


BIN
cms-editor/uploads/20240612/1800739600688242688.jpeg


BIN
cms-editor/uploads/20240612/1800766200368623616.jpeg


BIN
cms-editor/uploads/20240612/1800766326516510720.jpg


BIN
cms-editor/uploads/20240612/1800766375094939648.jpg


BIN
cms-editor/uploads/20240612/1800766705463488512.jpeg


BIN
cms-editor/uploads/20240612/1800785656645971968.jpg


+ 62 - 0
src/main/resources/static/resource/js/UEditorPlus/dialogs/anchor/anchor.html

@@ -0,0 +1,62 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+    "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+    <title></title>
+    <style type="text/css">
+        * {
+            color: #838383;
+            margin: 0;
+            padding: 0
+        }
+
+        html, body {
+            font-size: 12px;
+            overflow: hidden;
+        }
+
+        .content {
+            padding: 5px 0 0 15px;
+        }
+
+        input {
+            margin-left: 4px;
+            box-sizing: border-box;
+            width: 210px;
+            height: 30px;
+            line-height: 30px;
+            border: 1px solid #d7d7d7;
+            border-radius: 3px;
+            padding: 0 5px;
+            outline: none;
+        }
+    </style>
+</head>
+<body>
+<div class="content">
+    <span><var id="lang_input_anchorName"></var></span><input id="anchorName" value=""/>
+</div>
+<script type="text/javascript" src="../internal.js?04dbe7f0"></script>
+<script type="text/javascript">
+    var anchorInput = $G('anchorName'),
+        node = editor.selection.getRange().getClosedNode();
+    if (node && node.tagName == 'IMG' && (node = node.getAttribute('anchorname'))) {
+        anchorInput.value = node;
+    }
+    anchorInput.onkeydown = function (evt) {
+        evt = evt || window.event;
+        if (evt.keyCode == 13) {
+            editor.execCommand('anchor', anchorInput.value);
+            dialog.close();
+            domUtils.preventDefault(evt)
+        }
+    };
+    dialog.onok = function () {
+        editor.execCommand('anchor', anchorInput.value);
+        dialog.close();
+    };
+    $focus(anchorInput);
+</script>
+</body>
+</html>

File diff suppressed because it is too large
+ 2 - 0
src/main/resources/static/resource/js/UEditorPlus/dialogs/attachment/attachment.css


+ 61 - 0
src/main/resources/static/resource/js/UEditorPlus/dialogs/attachment/attachment.html

@@ -0,0 +1,61 @@
+<!doctype html>
+<html>
+<head>
+    <meta charset="UTF-8">
+    <title>ueditor图片对话框</title>
+    <script type="text/javascript" src="../internal.js?04dbe7f0"></script>
+
+    <!-- jquery -->
+    <script type="text/javascript" src="../../third-party/jquery-1.10.2.js?25f4b625"></script>
+
+    <!-- webuploader -->
+    <script src="../../third-party/webuploader/webuploader.js?5e398948"></script>
+    <link rel="stylesheet" type="text/css" href="../../third-party/webuploader/webuploader.css?b8f06036">
+
+    <!-- attachment dialog -->
+    <link rel="stylesheet" href="attachment.css?32c6a90a" type="text/css"/>
+</head>
+<body>
+
+<div class="wrapper">
+    <div id="tabhead" class="tabhead">
+        <span class="tab focus" data-content-id="upload"><var id="lang_tab_upload"></var></span>
+        <span class="tab" data-content-id="online"><var id="lang_tab_online"></var></span>
+    </div>
+    <div id="tabbody" class="tabbody">
+        <!-- 上传图片 -->
+        <div id="upload" class="panel focus">
+            <div id="queueList" class="queueList">
+                <div class="statusBar element-invisible">
+                    <div class="progress">
+                        <span class="text">0%</span>
+                        <span class="percentage"></span>
+                    </div>
+                    <div class="info"></div>
+                    <div class="btns">
+                        <div id="filePickerBtn"></div>
+                        <div class="uploadBtn"><var id="lang_start_upload"></var></div>
+                    </div>
+                </div>
+                <div id="dndArea" class="placeholder">
+                    <div class="filePickerContainer">
+                        <div id="filePickerReady"></div>
+                    </div>
+                </div>
+                <ul class="filelist element-invisible">
+                    <li id="filePickerBlock" class="filePickerBlock"></li>
+                </ul>
+            </div>
+        </div>
+
+        <!-- 在线图片 -->
+        <div id="online" class="panel">
+            <div id="fileList"><var id="lang_imgLoading"></var></div>
+        </div>
+
+    </div>
+</div>
+<script type="text/javascript" src="attachment.js?1598cea7"></script>
+
+</body>
+</html>

File diff suppressed because it is too large
+ 1 - 0
src/main/resources/static/resource/js/UEditorPlus/dialogs/attachment/attachment.js


BIN
src/main/resources/static/resource/js/UEditorPlus/dialogs/attachment/images/alignicon.gif


BIN
src/main/resources/static/resource/js/UEditorPlus/dialogs/attachment/images/alignicon.png


BIN
src/main/resources/static/resource/js/UEditorPlus/dialogs/attachment/images/bg.png


BIN
src/main/resources/static/resource/js/UEditorPlus/dialogs/attachment/images/file-icons.gif


BIN
src/main/resources/static/resource/js/UEditorPlus/dialogs/attachment/images/file-icons.png


BIN
src/main/resources/static/resource/js/UEditorPlus/dialogs/attachment/images/icons.gif


BIN
src/main/resources/static/resource/js/UEditorPlus/dialogs/attachment/images/icons.png


BIN
src/main/resources/static/resource/js/UEditorPlus/dialogs/attachment/images/image.png


BIN
src/main/resources/static/resource/js/UEditorPlus/dialogs/attachment/images/progress.png


BIN
src/main/resources/static/resource/js/UEditorPlus/dialogs/attachment/images/success.gif


BIN
src/main/resources/static/resource/js/UEditorPlus/dialogs/attachment/images/success.png


File diff suppressed because it is too large
+ 2 - 0
src/main/resources/static/resource/js/UEditorPlus/dialogs/audio/audio.css


+ 83 - 0
src/main/resources/static/resource/js/UEditorPlus/dialogs/audio/audio.html

@@ -0,0 +1,83 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+    "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+    <title></title>
+    <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
+    <script type="text/javascript" src="../internal.js?04dbe7f0"></script>
+    <link rel="stylesheet" type="text/css" href="audio.css?622512f6"/>
+</head>
+<body>
+<div class="wrapper">
+    <div id="audioTab">
+        <div id="tabHeads" class="tabhead">
+            <span tabSrc="audio" class="focus" data-content-id="audio"><var id="lang_tab_insertV"></var></span>
+            <span tabSrc="upload" style="display:none;" data-content-id="upload"><var
+                id="lang_tab_uploadV"></var></span>
+        </div>
+        <div id="tabBodys" class="tabbody">
+            <div id="audio" class="panel focus">
+                <table>
+                    <tr>
+                        <td><label for="audioUrl" class="url"><var id="lang_audio_url"></var></label></td>
+                        <td><input id="audioUrl" type="text"><a href="javascript:;" id="audioSelect"
+                                                                style="display:none;">选择音频</a></td>
+                    </tr>
+                </table>
+                <div style="padding:0 5px 5px 5px;color:#999;">
+                    外链音频支持MP3格式
+                </div>
+                <div id="preview"></div>
+                <div id="audioInfo">
+                    <fieldset>
+                        <legend><var id="lang_alignment"></var></legend>
+                        <div id="audioFloat"></div>
+                    </fieldset>
+                </div>
+            </div>
+            <div id="upload" class="panel">
+                <div id="upload_left">
+                    <div id="queueList" class="queueList">
+                        <div class="statusBar element-invisible">
+                            <div class="progress">
+                                <span class="text">0%</span>
+                                <span class="percentage"></span>
+                            </div>
+                            <div class="info"></div>
+                            <div class="btns">
+                                <div id="filePickerBtn"></div>
+                                <div class="uploadBtn"><var id="lang_start_upload"></var></div>
+                            </div>
+                        </div>
+                        <div id="dndArea" class="placeholder">
+                            <div class="filePickerContainer">
+                                <div id="filePickerReady"></div>
+                            </div>
+                        </div>
+                        <ul class="filelist element-invisible">
+                            <li id="filePickerBlock" class="filePickerBlock"></li>
+                        </ul>
+                    </div>
+                </div>
+                <div id="uploadaudioInfo">
+                    <fieldset>
+                        <legend><var id="lang_upload_alignment"></var></legend>
+                        <div id="upload_alignment"></div>
+                    </fieldset>
+                </div>
+            </div>
+        </div>
+    </div>
+</div>
+
+<!-- jquery -->
+<script type="text/javascript" src="../../third-party/jquery-1.10.2.js?25f4b625"></script>
+
+<!-- webuploader -->
+<script type="text/javascript" src="../../third-party/webuploader/webuploader.js?5e398948"></script>
+<link rel="stylesheet" type="text/css" href="../../third-party/webuploader/webuploader.css?b8f06036">
+
+<!-- audio -->
+<script type="text/javascript" src="audio.js?d76559eb"></script>
+</body>
+</html>

File diff suppressed because it is too large
+ 1 - 0
src/main/resources/static/resource/js/UEditorPlus/dialogs/audio/audio.js


BIN
src/main/resources/static/resource/js/UEditorPlus/dialogs/audio/images/bg.png


BIN
src/main/resources/static/resource/js/UEditorPlus/dialogs/audio/images/center_focus.jpg


BIN
src/main/resources/static/resource/js/UEditorPlus/dialogs/audio/images/file-icons.gif


BIN
src/main/resources/static/resource/js/UEditorPlus/dialogs/audio/images/file-icons.png


BIN
src/main/resources/static/resource/js/UEditorPlus/dialogs/audio/images/icons.gif


BIN
src/main/resources/static/resource/js/UEditorPlus/dialogs/audio/images/icons.png


BIN
src/main/resources/static/resource/js/UEditorPlus/dialogs/audio/images/image.png


BIN
src/main/resources/static/resource/js/UEditorPlus/dialogs/audio/images/left_focus.jpg


BIN
src/main/resources/static/resource/js/UEditorPlus/dialogs/audio/images/none_focus.jpg


BIN
src/main/resources/static/resource/js/UEditorPlus/dialogs/audio/images/progress.png


BIN
src/main/resources/static/resource/js/UEditorPlus/dialogs/audio/images/right_focus.jpg


BIN
src/main/resources/static/resource/js/UEditorPlus/dialogs/audio/images/success.gif


BIN
src/main/resources/static/resource/js/UEditorPlus/dialogs/audio/images/success.png


+ 3 - 0
src/main/resources/static/resource/js/UEditorPlus/dialogs/background/background.css

@@ -0,0 +1,3 @@
+/*! UEditorPlus v2.0.0*/
+
+.wrapper{width:424px;margin:10px auto;zoom:1;position:relative}.tabbody{height:225px}.tabbody .panel{position:absolute;width:100%;height:100%;background:#fff;display:none}.tabbody .focus{display:block}body{font-size:12px;color:#888;overflow:hidden}input,label{vertical-align:middle}.clear{clear:both}.pl{padding-left:18px;padding-left:23px \9}#imageList{width:420px;height:215px;margin-top:10px;overflow:hidden;overflow-y:auto}#imageList div{float:left;width:100px;height:95px;margin:5px 10px}#imageList img{cursor:pointer;border:2px solid #fff}.bgarea{margin:10px;padding:5px;height:84%;border:1px solid #A8A297}.content div{margin:10px 0 10px 5px}.content .iptradio{margin:0 5px 5px 0}.txt{width:280px}.wrapcolor{height:19px}div.color{float:left;margin:0}#colorPicker{width:17px;height:17px;border:1px solid #CCC;display:inline-block;border-radius:3px;box-shadow:2px 2px 5px #D3D6DA;margin:0;float:left}div.alignment,#custom{margin-left:23px;margin-left:28px \9}#custom input{height:15px;min-height:15px;width:20px}#repeatType{width:100px}#imgManager{width:100%;height:225px}#imgManager #imageList{width:100%;overflow-x:hidden;overflow-y:auto}#imgManager ul{display:block;list-style:none;margin:0;padding:0}#imgManager li{float:left;display:block;list-style:none;padding:0;width:113px;height:113px;margin:9px 0 0 19px;background-color:#eee;overflow:hidden;cursor:pointer;position:relative}#imgManager li.clearFloat{float:none;clear:both;display:block;width:0;height:0;margin:0;padding:0}#imgManager li img{cursor:pointer}#imgManager li .icon{cursor:pointer;width:113px;height:113px;position:absolute;top:0;left:0;z-index:2;border:0;background-repeat:no-repeat}#imgManager li .icon:hover{width:107px;height:107px;border:3px solid #1094fa}#imgManager li.selected .icon{background-image:url(images/success.png);background-position:75px 75px}#imgManager li.selected .icon:hover{width:107px;height:107px;border:3px solid #1094fa;background-position:72px 72px}

+ 59 - 0
src/main/resources/static/resource/js/UEditorPlus/dialogs/background/background.html

@@ -0,0 +1,59 @@
+<!DOCTYPE HTML>
+<html>
+<head>
+    <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
+    <script type="text/javascript" src="../internal.js?04dbe7f0"></script>
+    <link rel="stylesheet" type="text/css" href="background.css?982ee6c2">
+</head>
+<body>
+<div id="bg_container" class="wrapper">
+    <div id="tabHeads" class="tabhead">
+        <span class="focus" data-content-id="normal"><var id="lang_background_normal"></var></span>
+    </div>
+    <div id="tabBodys" class="tabbody">
+        <div id="normal" class="panel focus">
+            <fieldset class="bgarea">
+                <legend><var id="lang_background_set"></var></legend>
+                <div class="content">
+                    <div>
+                        <label><input id="nocolorRadio" class="iptradio" type="radio" name="t" value="none"
+                                      checked="checked"><var id="lang_background_none"></var></label>
+                        <label><input id="coloredRadio" class="iptradio" type="radio" name="t" value="color"><var
+                            id="lang_background_colored"></var></label>
+                    </div>
+                    <div class="wrapcolor pl">
+                        <div class="color">
+                            <var id="lang_background_color"></var>:
+                        </div>
+                        <div id="colorPicker"></div>
+                        <div class="clear"></div>
+                    </div>
+                    <div class="wrapcolor pl">
+                        <label><var id="lang_background_netimg"></var>:</label><input class="txt" type="text" id="url">
+                    </div>
+                    <div id="alignment" class="alignment">
+                        <var id="lang_background_align"></var>:<select id="repeatType">
+                        <option value="center"></option>
+                        <option value="repeat-x"></option>
+                        <option value="repeat-y"></option>
+                        <option value="repeat"></option>
+                        <option value="self"></option>
+                    </select>
+                    </div>
+                    <div id="custom">
+                        <var id="lang_background_position"></var>:x:<input type="text" size="1" id="x" maxlength="4"
+                                                                           value="0">px&nbsp;&nbsp;y:<input type="text"
+                                                                                                            size="1"
+                                                                                                            id="y"
+                                                                                                            maxlength="4"
+                                                                                                            value="0">px
+                    </div>
+                </div>
+            </fieldset>
+
+        </div>
+    </div>
+</div>
+<script type="text/javascript" src="background.js?e67eb657"></script>
+</body>
+</html>

File diff suppressed because it is too large
+ 1 - 0
src/main/resources/static/resource/js/UEditorPlus/dialogs/background/background.js


BIN
src/main/resources/static/resource/js/UEditorPlus/dialogs/background/images/bg.png


BIN
src/main/resources/static/resource/js/UEditorPlus/dialogs/background/images/success.png


+ 176 - 0
src/main/resources/static/resource/js/UEditorPlus/dialogs/contentimport/contentimport.html

@@ -0,0 +1,176 @@
+<!DOCTYPE html>
+<head>
+    <title></title>
+    <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
+    <script type="text/javascript" src="../internal.js?04dbe7f0"></script>
+    <style type="text/css">
+        .wrapper {
+            width: 600px;
+            padding: 10px;
+            height: 352px;
+            overflow: hidden;
+            position: relative;
+            border-bottom: 1px solid #d7d7d7;
+        }
+
+        .wrapper .file-upload {
+            display: flex;
+            align-items: center;
+        }
+
+        .wrapper .file-upload .file-tip {
+            color: #999;
+            font-size: 12px;
+            padding-left: 10px;
+            flex-grow: 1;
+        }
+
+        .wrapper .file-manual {
+            background: #EEE;
+            padding: 10px;
+            border-radius: 5px;
+            margin-top: 10px;
+            line-height: 2;
+        }
+
+        .wrapper .file-manual .title {
+            font-weight: bold;
+            font-size: 120%;
+        }
+
+        .wrapper .file-manual .body {
+        }
+
+        .wrapper .file-manual .body li {
+            list-style: disc;
+            margin-left: 20px;
+        }
+
+        .wrapper .upload-button {
+            width: 100px;
+            height: 30px;
+            background-color: #F8F8F8;
+            border: 1px solid #EEE;
+            border-radius: 4px;
+            text-align: center;
+            line-height: 28px;
+            cursor: pointer;
+            position: relative;
+            flex-shrink: 0;
+            margin-right: 5px;
+        }
+
+        .wrapper .upload-button .text {
+            display: inline-block;
+            vertical-align: middle;
+        }
+
+        .wrapper .upload-button input {
+            position: absolute;
+            left: 0;
+            top: 0;
+            opacity: 0;
+            cursor: pointer;
+            height: 100%;
+            width: 100%;
+        }
+
+        .wrapper .file-result {
+            border: 1px solid #333;
+            padding: 10px;
+            border-radius: 5px;
+            position: absolute;
+            left: 10px;
+            right: 10px;
+            top: 50px;
+            background: #FFF;
+            bottom: 10px;
+            overflow: auto;
+            display: none;
+        }
+        .wrapper .file-input{
+            position: absolute;
+            left: 10px;
+            right: 10px;
+            top: 50px;
+            background: #EEE;
+            bottom: 10px;
+            border-radius: 5px;
+            display:none;
+        }
+        .wrapper .file-input textarea{
+            position: absolute;
+            left: 10px;
+            right: 10px;
+            bottom: 10px;
+            border: none;
+            resize: none;
+            border-radius: 5px;
+            padding: 5px;
+            outline: none;
+            top: 30px;
+        }
+        .wrapper .file-input .tool{
+            text-align: right;
+            padding: 5px 10px;
+        }
+        .wrapper .file-input .tool a{
+            display: inline-block;
+            text-decoration: none;
+            color: #333;
+            background: #FFF;
+            padding: 0 10px;
+            line-height: 20px;
+            border-radius: 3px;
+        }
+    </style>
+</head>
+<body>
+<div class="wrapper">
+    <div class="file-upload">
+        <div class="upload-button">
+            <div class="text">选择本地文件</div>
+            <input type="file" id="contentImport"/>
+        </div>
+        <div class="upload-button">
+            <div class="text" onclick="$('.file-input').show();">粘贴Markdown</div>
+        </div>
+        <div class="file-tip"></div>
+    </div>
+    <div class="file-manual">
+        <div class="title">
+            支持文档格式
+        </div>
+        <div class="body">
+            <ul>
+                <li><b>Word</b>:docx</li>
+                <li><b>Markdown</b>:md</li>
+            </ul>
+        </div>
+    </div>
+    <div class="file-result"></div>
+    <div class="file-input">
+        <textarea id="fileInputContent"></textarea>
+        <div class="tool">
+            <a href="javascript:;" id="fileInputConfirm">
+                确定
+            </a>
+            <a href="javascript:;" onclick="$(this).closest('.file-input').hide();">
+                关闭
+            </a>
+        </div>
+    </div>
+</div>
+<script src="../../third-party/jquery-1.10.2.js?25f4b625"></script>
+<script src="https://cdn.bootcdn.net/ajax/libs/mammoth/1.6.0/mammoth.browser.min.js"></script>
+<script src="https://cdn.bootcdn.net/ajax/libs/showdown/2.1.0/showdown.min.js"></script>
+<script type="text/javascript" src="contentimport.js?100d2e1a"></script>
+<script type="text/javascript">
+    utils.domReady(function () {
+        var options = {};
+        var callbacks = {};
+        contentImport.init(options, callbacks);
+    });
+</script>
+</body>
+</html>

+ 2 - 0
src/main/resources/static/resource/js/UEditorPlus/dialogs/contentimport/contentimport.js

@@ -0,0 +1,2 @@
+/*! UEditorPlus v2.0.0*/
+function processWord(a){$(".file-tip").html("正在转换Word文件,请稍后..."),$(".file-result").html("").hide();var b=new FileReader;b.onload=function(a){mammoth.convertToHtml({arrayBuffer:a.target.result}).then(function(a){$(".file-tip").html("转换成功"),contentImport.data.result=a.value,$(".file-result").html(a.value).show()},function(a){$(".file-tip").html("Word文件转换失败:"+a)})},b.onerror=function(a){$(".file-tip").html("Word文件转换失败:"+a)},b.readAsArrayBuffer(a)}function processMarkdown(a){var b=new showdown.Converter,c=b.makeHtml(a);$(".file-tip").html("转换成功"),contentImport.data.result=c,$(".file-result").html(c).show()}function processMarkdownFile(a){$(".file-tip").html("正在转换Markdown文件,请稍后..."),$(".file-result").html("").hide();var b=new FileReader;b.onload=function(a){processMarkdown(a.target.result)},b.onerror=function(a){$(".file-tip").html("Markdown文件转换失败:"+a)},b.readAsText(a,"UTF-8")}function addUploadButtonListener(){g("contentImport").addEventListener("change",function(){const a=this.files[0],b=a.name,c=b.substring(b.lastIndexOf(".")+1).toLowerCase();switch(c){case"docx":case"doc":processWord(a);break;case"md":processMarkdownFile(a);break;default:$(".file-tip").html("不支持的文件格式:"+c)}}),g("fileInputConfirm").addEventListener("click",function(){processMarkdown(g("fileInputContent").value),$(".file-input").hide()})}function addOkListener(){dialog.onok=function(){return contentImport.data.result?(editor.fireEvent("saveScene"),editor.execCommand("inserthtml",contentImport.data.result),void editor.fireEvent("saveScene")):(alert("请先上传文件识别内容"),!1)},dialog.oncancel=function(){}}var contentImport={},g=$G;contentImport.data={result:null},contentImport.init=function(a,b){addUploadButtonListener(),addOkListener()};

+ 3 - 0
src/main/resources/static/resource/js/UEditorPlus/dialogs/emotion/emotion.css

@@ -0,0 +1,3 @@
+/*! UEditorPlus v2.0.0*/
+
+.jd img{background:transparent url(images/jxface2.gif?v=1.1) no-repeat scroll left top;cursor:pointer;width:35px;height:35px;display:block}.pp img{background:transparent url(images/fface.gif?v=1.1) no-repeat scroll left top;cursor:pointer;width:25px;height:25px;display:block}.ldw img{background:transparent url(images/wface.gif?v=1.1) no-repeat scroll left top;cursor:pointer;width:35px;height:35px;display:block}.tsj img{background:transparent url(images/tface.gif?v=1.1) no-repeat scroll left top;cursor:pointer;width:35px;height:35px;display:block}.cat img{background:transparent url(images/cface.gif?v=1.1) no-repeat scroll left top;cursor:pointer;width:35px;height:35px;display:block}.bb img{background:transparent url(images/bface.gif?v=1.1) no-repeat scroll left top;cursor:pointer;width:35px;height:35px;display:block}.youa img{background:transparent url(images/yface.gif?v=1.1) no-repeat scroll left top;cursor:pointer;width:35px;height:35px;display:block}.smileytable td{height:37px}#tabPanel{margin-left:5px;overflow:hidden}#tabContent{float:left;background:#FFF}#tabContent div{display:none;width:480px;overflow:hidden}#tabIconReview.show{left:17px;display:block}.menuFocus{background:#ACCD3C}.menuDefault{background:#FFF}#tabIconReview{position:absolute;left:406px;left:398px \9;top:41px;z-index:65533;width:90px;height:76px}img.review{width:90px;height:76px;border:2px solid #9cb945;background:#FFF;background-position:center;background-repeat:no-repeat}.wrapper .tabbody{position:relative;float:left;clear:both;padding:10px;width:95%}.tabbody table{width:100%}.tabbody td{border:1px solid #BAC498}.tabbody td span{display:block;zoom:1;padding:0 4px}

+ 70 - 0
src/main/resources/static/resource/js/UEditorPlus/dialogs/emotion/emotion.html

@@ -0,0 +1,70 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+    <title></title>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+    <meta name="robots" content="noindex, nofollow"/>
+    <script type="text/javascript" src="../internal.js?04dbe7f0"></script>
+    <link rel="stylesheet" type="text/css" href="emotion.css?f71063c6">
+</head>
+<body>
+<div id="tabPanel" class="wrapper">
+    <div id="tabHeads" class="tabhead">
+        <span><var id="lang_input_choice"></var></span>
+        <span><var id="lang_input_Tuzki"></var></span>
+        <span><var id="lang_input_lvdouwa"></var></span>
+        <span><var id="lang_input_BOBO"></var></span>
+        <span><var id="lang_input_babyCat"></var></span>
+        <span><var id="lang_input_bubble"></var></span>
+        <span><var id="lang_input_youa"></var></span>
+    </div>
+    <div id="tabBodys" class="tabbody">
+        <div id="tab0"></div>
+        <div id="tab1"></div>
+        <div id="tab2"></div>
+        <div id="tab3"></div>
+        <div id="tab4"></div>
+        <div id="tab5"></div>
+        <div id="tab6"></div>
+    </div>
+</div>
+<div id="tabIconReview">
+    <img id='faceReview' class='review' src="../../themes/default/images/spacer.gif"/>
+</div>
+<script type="text/javascript" src="emotion.js?cb3216b7"></script>
+<script type="text/javascript">
+    var emotion = {
+        tabNum: 7, //切换面板数量
+        SmilmgName: {
+            tab0: ['j_00', 84],
+            tab1: ['t_00', 40],
+            tab2: ['w_00', 52],
+            tab3: ['B_00', 63],
+            tab4: ['C_00', 20],
+            tab5: ['i_f', 50],
+            tab6: ['y_00', 40]
+        }, //图片前缀名
+        imageFolders: {
+            tab0: 'jx2/',
+            tab1: 'tsj/',
+            tab2: 'ldw/',
+            tab3: 'bobo/',
+            tab4: 'babycat/',
+            tab5: 'face/',
+            tab6: 'youa/'
+        }, //图片对应文件夹路径
+        imageCss: {tab0: 'jd', tab1: 'tsj', tab2: 'ldw', tab3: 'bb', tab4: 'cat', tab5: 'pp', tab6: 'youa'}, //图片css类名
+        imageCssOffset: {tab0: 35, tab1: 35, tab2: 35, tab3: 35, tab4: 35, tab5: 25, tab6: 35}, //图片偏移
+        SmileyInfor: {
+            tab0: ['Kiss', 'Love', 'Yeah', '啊!', '背扭', '顶', '抖胸', '88', '汗', '瞌睡', '鲁拉', '拍砖', '揉脸', '生日快乐', '大笑', '瀑布汗~', '惊讶', '臭美', '傻笑', '抛媚眼', '发怒', '打酱油', '俯卧撑', '气愤', '?', '吻', '怒', '胜利', 'HI', 'KISS', '不说', '不要', '扯花', '大心', '顶', '大惊', '飞吻', '鬼脸', '害羞', '口水', '狂哭', '来', '发财了', '吃西瓜', '套牢', '害羞', '庆祝', '我来了', '敲打', '晕了', '胜利', '臭美', '被打了', '贪吃', '迎接', '酷', '微笑', '亲吻', '调皮', '惊恐', '耍酷', '发火', '害羞', '汗水', '大哭', '', '加油', '困', '你NB', '晕倒', '开心', '偷笑', '大哭', '滴汗', '叹气', '超赞', '??', '飞吻', '天使', '撒花', '生气', '被砸', '吓傻', '随意吐'],
+            tab1: ['Kiss', 'Love', 'Yeah', '啊!', '背扭', '顶', '抖胸', '88', '汗', '瞌睡', '鲁拉', '拍砖', '揉脸', '生日快乐', '摊手', '睡觉', '瘫坐', '无聊', '星星闪', '旋转', '也不行', '郁闷', '正Music', '抓墙', '撞墙至死', '歪头', '戳眼', '飘过', '互相拍砖', '砍死你', '扔桌子', '少林寺', '什么?', '转头', '我爱牛奶', '我踢', '摇晃', '晕厥', '在笼子里', '震荡'],
+            tab2: ['大笑', '瀑布汗~', '惊讶', '臭美', '傻笑', '抛媚眼', '发怒', '我错了', 'money', '气愤', '挑逗', '吻', '怒', '胜利', '委屈', '受伤', '说啥呢?', '闭嘴', '不', '逗你玩儿', '飞吻', '眩晕', '魔法', '我来了', '睡了', '我打', '闭嘴', '打', '打晕了', '刷牙', '爆揍', '炸弹', '倒立', '刮胡子', '邪恶的笑', '不要不要', '爱恋中', '放大仔细看', '偷窥', '超高兴', '晕', '松口气', '我跑', '享受', '修养', '哭', '汗', '啊~', '热烈欢迎', '打酱油', '俯卧撑', '?'],
+            tab3: ['HI', 'KISS', '不说', '不要', '扯花', '大心', '顶', '大惊', '飞吻', '鬼脸', '害羞', '口水', '狂哭', '来', '泪眼', '流泪', '生气', '吐舌', '喜欢', '旋转', '再见', '抓狂', '汗', '鄙视', '拜', '吐血', '嘘', '打人', '蹦跳', '变脸', '扯肉', '吃To', '吃花', '吹泡泡糖', '大变身', '飞天舞', '回眸', '可怜', '猛抽', '泡泡', '苹果', '亲', '', '骚舞', '烧香', '睡', '套娃娃', '捅捅', '舞倒', '西红柿', '爱慕', '摇', '摇摆', '杂耍', '招财', '被殴', '被球闷', '大惊', '理想', '欧打', '呕吐', '碎', '吐痰'],
+            tab4: ['发财了', '吃西瓜', '套牢', '害羞', '庆祝', '我来了', '敲打', '晕了', '胜利', '臭美', '被打了', '贪吃', '迎接', '酷', '顶', '幸运', '爱心', '躲', '送花', '选择'],
+            tab5: ['微笑', '亲吻', '调皮', '惊讶', '耍酷', '发火', '害羞', '汗水', '大哭', '得意', '鄙视', '困', '夸奖', '晕倒', '疑问', '媒婆', '狂吐', '青蛙', '发愁', '亲吻', '', '爱心', '心碎', '玫瑰', '礼物', '哭', '奸笑', '可爱', '得意', '呲牙', '暴汗', '楚楚可怜', '困', '哭', '生气', '惊讶', '口水', '彩虹', '夜空', '太阳', '钱钱', '灯泡', '咖啡', '蛋糕', '音乐', '爱', '胜利', '赞', '鄙视', 'OK'],
+            tab6: ['男兜', '女兜', '开心', '乖乖', '偷笑', '大笑', '抽泣', '大哭', '无奈', '滴汗', '叹气', '狂晕', '委屈', '超赞', '??', '疑问', '飞吻', '天使', '撒花', '生气', '被砸', '口水', '泪奔', '吓傻', '吐舌头', '点头', '随意吐', '旋转', '困困', '鄙视', '狂顶', '篮球', '再见', '欢迎光临', '恭喜发财', '稍等', '我在线', '恕不议价', '库房有货', '货在路上']
+        }
+    };
+</script>
+</body>
+</html>

File diff suppressed because it is too large
+ 1 - 0
src/main/resources/static/resource/js/UEditorPlus/dialogs/emotion/emotion.js


BIN
src/main/resources/static/resource/js/UEditorPlus/dialogs/emotion/images/0.gif


BIN
src/main/resources/static/resource/js/UEditorPlus/dialogs/emotion/images/bface.gif


BIN
src/main/resources/static/resource/js/UEditorPlus/dialogs/emotion/images/cface.gif


BIN
src/main/resources/static/resource/js/UEditorPlus/dialogs/emotion/images/fface.gif


BIN
src/main/resources/static/resource/js/UEditorPlus/dialogs/emotion/images/jxface2.gif


BIN
src/main/resources/static/resource/js/UEditorPlus/dialogs/emotion/images/neweditor-tab-bg.png


BIN
src/main/resources/static/resource/js/UEditorPlus/dialogs/emotion/images/tface.gif


BIN
src/main/resources/static/resource/js/UEditorPlus/dialogs/emotion/images/wface.gif


BIN
src/main/resources/static/resource/js/UEditorPlus/dialogs/emotion/images/yface.gif


+ 98 - 0
src/main/resources/static/resource/js/UEditorPlus/dialogs/formula/formula.html

@@ -0,0 +1,98 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+    <title></title>
+    <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
+    <script type="text/javascript" src="../internal.js?04dbe7f0"></script>
+    <style type="text/css">
+        .wrapper {
+            box-sizing: border-box;
+            width: 800px;
+            height: 390px;
+            overflow: hidden;
+            position: relative;
+            border-bottom: 1px solid #d7d7d7
+        }
+
+        .editor-wrap {
+            display: flex;
+            margin: 10px;
+        }
+
+        .editor-wrap #editor {
+            width: 0;
+            flex-grow: 1;
+            border: 1px solid #CCC;
+            border-radius: 3px;
+            padding: 5px;
+            height: 100px;
+            outline: none;
+        }
+
+        .input-tip {
+            margin: 10px;
+        }
+
+        .input-tip a {
+            color: #0f0d0d;
+        }
+
+        .editor-preview {
+            background: #FFF;
+            border-radius: 3px;
+            border: 1px solid #EEE;
+            display: none;
+            margin: 10px;
+        }
+
+        .editor-preview .title {
+            padding: 5px;
+        }
+
+        .editor-preview .body {
+            padding: 5px 5px 15px 5px;
+            text-align: center;
+        }
+
+        .editor-preview .body .image {
+            max-width: 100%;
+            max-height: 100px;
+        }
+    </style>
+</head>
+<body>
+<div class="wrapper">
+
+    <div id="modeLive" style="display:none;">
+        <iframe id="liveEditor"
+                frameborder="0"
+                style="width:800px;height:390px;border: 0;outline: none;"
+        ></iframe>
+    </div>
+
+    <div id="modePlain" style="display:none;">
+        <div class="editor-wrap">
+            <textarea id="editor"></textarea>
+        </div>
+        <div class="input-tip">
+            基于 latex 语法,<a href="javascript:;" id="inputDemo">点击输入示例</a>。
+        </div>
+        <div class="editor-preview" id="preview">
+            <div class="title">预览</div>
+            <div class="body">
+                <img class="image" id="previewImage"/>
+            </div>
+        </div>
+    </div>
+
+</div>
+<script src="../../third-party/jquery-1.10.2.js?25f4b625"></script>
+<script type="text/javascript" src="../../third-party/clipboard/clipboard.js?bae63983"></script>
+<script type="text/javascript" src="formula.js?3e957a67"></script>
+<script type="text/javascript">
+    utils.domReady(function () {
+        Formula.init();
+    });
+</script>
+</body>
+</html>

File diff suppressed because it is too large
+ 1 - 0
src/main/resources/static/resource/js/UEditorPlus/dialogs/formula/formula.js


+ 3 - 0
src/main/resources/static/resource/js/UEditorPlus/dialogs/help/help.css

@@ -0,0 +1,3 @@
+/*! UEditorPlus v2.0.0*/
+
+.wrapper{width:370px;margin:10px auto;zoom:1}.tabbody{height:360px}.tabbody .panel{width:100%;height:360px;position:absolute;background:#fff}.tabbody .panel h1{font-size:26px;margin:5px 0 0 5px}.tabbody .panel p{font-size:12px;margin:5px 0 0 5px}.tabbody table{width:90%;line-height:20px;margin:5px 0 0 5px}.tabbody table thead{font-weight:700;line-height:25px}

+ 82 - 0
src/main/resources/static/resource/js/UEditorPlus/dialogs/help/help.html

@@ -0,0 +1,82 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+    "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+    <title>帮助</title>
+    <meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
+    <script type="text/javascript" src="../internal.js?04dbe7f0"></script>
+    <link rel="stylesheet" type="text/css" href="help.css?94b325b2">
+</head>
+<body>
+<div class="wrapper" id="helptab">
+    <div id="tabHeads" class="tabhead">
+        <span class="focus" tabsrc="about"><var id="lang_input_about"></var></span>
+        <span tabsrc="shortcuts"><var id="lang_input_shortcuts"></var></span>
+    </div>
+    <div id="tabBodys" class="tabbody">
+        <div id="about" class="panel">
+            <h1>UEditor Plus</h1>
+            <p id="version"></p>
+            <p><var id="lang_input_introduction"></var></p>
+        </div>
+        <div id="shortcuts" class="panel">
+            <table>
+                <thead>
+                <tr>
+                    <td><var id="lang_Txt_shortcuts"></var></td>
+                    <td><var id="lang_Txt_func"></var></td>
+                </tr>
+                </thead>
+                <tbody>
+                <tr>
+                    <td>ctrl+b</td>
+                    <td><var id="lang_Txt_bold"></var></td>
+                </tr>
+                <tr>
+                    <td>ctrl+c</td>
+                    <td><var id="lang_Txt_copy"></var></td>
+                </tr>
+                <tr>
+                    <td>ctrl+x</td>
+                    <td><var id="lang_Txt_cut"></var></td>
+                </tr>
+                <tr>
+                    <td>ctrl+v</td>
+                    <td><var id="lang_Txt_Paste"></var></td>
+                </tr>
+                <tr>
+                    <td>ctrl+y</td>
+                    <td><var id="lang_Txt_undo"></var></td>
+                </tr>
+                <tr>
+                    <td>ctrl+z</td>
+                    <td><var id="lang_Txt_redo"></var></td>
+                </tr>
+                <tr>
+                    <td>ctrl+i</td>
+                    <td><var id="lang_Txt_italic"></var></td>
+                </tr>
+                <tr>
+                    <td>ctrl+u</td>
+                    <td><var id="lang_Txt_underline"></var></td>
+                </tr>
+                <tr>
+                    <td>ctrl+a</td>
+                    <td><var id="lang_Txt_selectAll"></var></td>
+                </tr>
+                <tr>
+                    <td>shift+enter</td>
+                    <td><var id="lang_Txt_visualEnter"></var></td>
+                </tr>
+                <tr>
+                    <td>alt+z</td>
+                    <td><var id="lang_Txt_fullscreen"></var></td>
+                </tr>
+                </tbody>
+            </table>
+        </div>
+    </div>
+</div>
+<script type="text/javascript" src="help.js?cf43351e"></script>
+</body>
+</html>

+ 2 - 0
src/main/resources/static/resource/js/UEditorPlus/dialogs/help/help.js

@@ -0,0 +1,2 @@
+/*! UEditorPlus v2.0.0*/
+function clickHandler(a,b,c){for(var d=0,e=a.length;d<e;d++)a[d].className="";c.className="focus";for(var f=c.getAttribute("tabSrc"),g=0,h=b.length;g<h;g++){var i=b[g],j=i.getAttribute("id");i.onclick=function(){this.style.zoom=1},j!=f?i.style.zIndex=1:i.style.zIndex=200}}function switchTab(a){for(var b=$G(a).children,c=b[0].children,d=b[1].children,e=0,f=c.length;e<f;e++){var g=c[e];"focus"===g.className&&clickHandler(c,d,g),g.onclick=function(){clickHandler(c,d,this)}}}switchTab("helptab"),document.getElementById("version").innerHTML=parent.UE.version;

File diff suppressed because it is too large
+ 2 - 0
src/main/resources/static/resource/js/UEditorPlus/dialogs/image/image.css


+ 125 - 0
src/main/resources/static/resource/js/UEditorPlus/dialogs/image/image.html

@@ -0,0 +1,125 @@
+<!doctype html>
+<html>
+<head>
+    <meta charset="UTF-8">
+    <title>ueditor图片对话框</title>
+    <script type="text/javascript" src="../internal.js?04dbe7f0"></script>
+
+    <!-- jquery -->
+    <script type="text/javascript" src="../../third-party/jquery-1.10.2.js?25f4b625"></script>
+
+    <!-- webuploader -->
+    <script src="../../third-party/webuploader/webuploader.js?5e398948"></script>
+    <link rel="stylesheet" type="text/css" href="../../third-party/webuploader/webuploader.css?b8f06036">
+
+    <!-- image dialog -->
+    <link rel="stylesheet" href="image.css?4cbad164" type="text/css"/>
+</head>
+<body>
+
+<div class="wrapper">
+    <div id="tabhead" class="tabhead">
+        <span class="tab focus" data-content-id="remote"><var id="lang_tab_remote"></var></span>
+        <span style="display:none;" class="tab" data-content-id="upload"><var id="lang_tab_upload"></var></span>
+        <span style="display:none;" class="tab" data-content-id="online"><var id="lang_tab_online"></var></span>
+    </div>
+    <div class="alignBar">
+        <label class="algnLabel"><var id="lang_input_align"></var></label>
+        <span id="alignIcon">
+                        <span id="noneAlign" class="none-align focus" data-align="none"></span>
+                        <span id="leftAlign" class="left-align" data-align="left"></span>
+                        <span id="rightAlign" class="right-align" data-align="right"></span>
+                        <span id="centerAlign" class="center-align" data-align="center"></span>
+                    </span>
+        <input id="align" name="align" type="hidden" value="none"/>
+    </div>
+    <div id="tabbody" class="tabbody">
+
+        <!-- 远程图片 -->
+        <div id="remote" class="panel">
+            <div class="top">
+                <div class="row">
+                    <label for="url"><var id="lang_input_url"></var></label>
+                    <span><input class="text" id="url" type="text"/></span>
+                    <a href="javascript:;" id="imageSelect" style="display:none;">选择图片</a>
+                </div>
+            </div>
+            <div class="left">
+                <div class="row">
+                    <label><var id="lang_input_size"></var></label>
+                    <span><var id="lang_input_width">&nbsp;&nbsp;</var><input class="text" type="text"
+                                                                              id="width"/>px </span>
+                    <span><var id="lang_input_height">&nbsp;&nbsp;</var><input class="text" type="text" id="height"/>px </span>
+                    <span><input id="lock" type="checkbox" disabled="disabled"><span id="lockicon"></span></span>
+                </div>
+                <div class="row">
+                    <label><var id="lang_input_border"></var></label>
+                    <span><input class="text" type="text" id="border"/>px </span>
+                </div>
+                <div class="row">
+                    <label><var id="lang_input_vhspace"></var></label>
+                    <span><input class="text" type="text" id="vhSpace"/>px </span>
+                </div>
+                <div class="row">
+                    <label><var id="lang_input_title"></var></label>
+                    <span><input class="text" type="text" id="title"/></span>
+                </div>
+            </div>
+            <div class="right">
+                <div id="preview"></div>
+            </div>
+        </div>
+
+        <!-- 上传图片 -->
+        <div id="upload" class="panel focus">
+            <div id="queueList" class="queueList">
+                <div class="statusBar element-invisible">
+                    <div class="progress">
+                        <span class="text">0%</span>
+                        <span class="percentage"></span>
+                    </div>
+                    <div class="info"></div>
+                    <div class="btns">
+                        <div id="filePickerBtn"></div>
+                        <div class="uploadBtn"><var id="lang_start_upload"></var></div>
+                    </div>
+                </div>
+                <div id="dndArea" class="placeholder">
+                    <div class="filePickerContainer">
+                        <div id="filePickerReady"></div>
+                    </div>
+                </div>
+                <ul class="filelist element-invisible">
+                    <li id="filePickerBlock" class="filePickerBlock"></li>
+                </ul>
+            </div>
+        </div>
+
+        <!-- 在线图片 -->
+        <div id="online" class="panel">
+            <div id="imageList"><var id="lang_imgLoading"></var></div>
+        </div>
+
+        <!-- 搜索图片 -->
+        <div id="search" class="panel">
+            <div class="searchBar">
+                <input id="searchTxt" class="searchTxt text" type="text"/>
+                <select id="searchType" class="searchType">
+                    <option value="&s=4&z=0"></option>
+                    <option value="&s=1&z=19"></option>
+                    <option value="&s=2&z=0"></option>
+                    <option value="&s=3&z=0"></option>
+                </select>
+                <input id="searchReset" type="button"/>
+                <input id="searchBtn" type="button"/>
+            </div>
+            <div id="searchList" class="searchList">
+                <ul id="searchListUl"></ul>
+            </div>
+        </div>
+
+    </div>
+</div>
+<script type="text/javascript" src="image.js?2137df65"></script>
+</body>
+</html>

File diff suppressed because it is too large
+ 1 - 0
src/main/resources/static/resource/js/UEditorPlus/dialogs/image/image.js


BIN
src/main/resources/static/resource/js/UEditorPlus/dialogs/image/images/alignicon.jpg


BIN
src/main/resources/static/resource/js/UEditorPlus/dialogs/image/images/bg.png


BIN
src/main/resources/static/resource/js/UEditorPlus/dialogs/image/images/icons.gif


BIN
src/main/resources/static/resource/js/UEditorPlus/dialogs/image/images/icons.png


BIN
src/main/resources/static/resource/js/UEditorPlus/dialogs/image/images/image.png


BIN
src/main/resources/static/resource/js/UEditorPlus/dialogs/image/images/progress.png


BIN
src/main/resources/static/resource/js/UEditorPlus/dialogs/image/images/success.gif


BIN
src/main/resources/static/resource/js/UEditorPlus/dialogs/image/images/success.png


+ 135 - 0
src/main/resources/static/resource/js/UEditorPlus/dialogs/insertframe/insertframe.html

@@ -0,0 +1,135 @@
+<!DOCTYPE html>
+<html>
+<head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+    <title></title>
+    <script type="text/javascript" src="../internal.js?04dbe7f0"></script>
+    <link rel="stylesheet" href="../../themes/default/dialog.css?c473027a">
+    <style type="text/css">
+        .warp {
+            width: 320px;
+            height: 200px;
+            margin-left: 5px;
+            padding: 20px 0 0 15px;
+            position: relative;
+        }
+
+        #url {
+            width: 290px;
+            margin-bottom: 2px;
+            margin-left: -6px;
+            margin-left: -2px \9;
+            *margin-left: 0;
+            _margin-left: 0;
+        }
+
+        .format span {
+            display: inline-block;
+            width: 58px;
+            text-align: left;
+            zoom: 1;
+        }
+
+        table td {
+            padding: 5px 0;
+        }
+
+        #align {
+            width: 65px;
+            height: 23px;
+            line-height: 22px;
+        }
+    </style>
+</head>
+<body>
+<div class="warp">
+    <table width="300" cellpadding="0" cellspacing="0">
+        <tr>
+            <td colspan="2" class="format">
+                <span><var id="lang_input_address"></var></span>
+                <input style="width:200px" id="url" type="text" value=""/>
+            </td>
+        </tr>
+        <tr>
+            <td colspan="2" class="format"><span><var id="lang_input_width"></var></span><input style="width:200px"
+                                                                                                type="text" id="width"/>
+                px
+            </td>
+
+        </tr>
+        <tr>
+            <td colspan="2" class="format"><span><var id="lang_input_height"></var></span><input style="width:200px"
+                                                                                                 type="text"
+                                                                                                 id="height"/> px
+            </td>
+        </tr>
+        <tr>
+            <td><span><var id="lang_input_isScroll"></var></span><input type="checkbox" id="scroll"/></td>
+            <td><span><var id="lang_input_frameborder"></var></span><input type="checkbox" id="frameborder"/></td>
+        </tr>
+
+        <tr>
+            <td colspan="2"><span><var id="lang_input_alignMode"></var></span>
+                <select id="align">
+                    <option value=""></option>
+                    <option value="left"></option>
+                    <option value="right"></option>
+                </select>
+            </td>
+        </tr>
+    </table>
+</div>
+<script type="text/javascript">
+    var iframe = editor._iframe;
+    if (iframe) {
+        $G("url").value = iframe.getAttribute("src") || "";
+        $G("width").value = iframe.getAttribute("width") || iframe.style.width.replace("px", "") || "";
+        $G("height").value = iframe.getAttribute("height") || iframe.style.height.replace("px", "") || "";
+        $G("scroll").checked = (iframe.getAttribute("scrolling") == "yes") ? true : false;
+        $G("frameborder").checked = (iframe.getAttribute("frameborder") == "1") ? true : false;
+        $G("align").value = iframe.align ? iframe.align : "";
+    }
+
+    function queding() {
+        var url = $G("url").value.replace(/^\s*|\s*$/ig, ""),
+            width = $G("width").value,
+            height = $G("height").value,
+            scroll = $G("scroll"),
+            frameborder = $G("frameborder"),
+            float = $G("align").value,
+            newIframe = editor.document.createElement("iframe"),
+            div;
+        if (!url) {
+            alert(lang.enterAddress);
+            return false;
+        }
+        newIframe.setAttribute("src", /http:\/\/|https:\/\//ig.test(url) ? url : "http://" + url);
+        /^[1-9]+[.]?\d*$/g.test(width) ? newIframe.setAttribute("width", width) : "";
+        /^[1-9]+[.]?\d*$/g.test(height) ? newIframe.setAttribute("height", height) : "";
+        scroll.checked ? newIframe.setAttribute("scrolling", "yes") : newIframe.setAttribute("scrolling", "no");
+        frameborder.checked ? newIframe.setAttribute("frameborder", "1", 0) : newIframe.setAttribute("frameborder", "0", 0);
+        float ? newIframe.setAttribute("align", float) : newIframe.setAttribute("align", "");
+        if (iframe) {
+            iframe.parentNode.insertBefore(newIframe, iframe);
+            domUtils.remove(iframe);
+        } else {
+            div = editor.document.createElement("div");
+            div.appendChild(newIframe);
+            editor.execCommand("inserthtml", div.innerHTML);
+        }
+        editor._iframe = null;
+        dialog.close();
+    }
+
+    dialog.onok = queding;
+    $G("url").onkeydown = function (evt) {
+        evt = evt || event;
+        if (evt.keyCode == 13) {
+            queding();
+        }
+    };
+    $focus($G("url"));
+
+</script>
+</body>
+</html>

+ 2 - 0
src/main/resources/static/resource/js/UEditorPlus/dialogs/internal.js

@@ -0,0 +1,2 @@
+/*! UEditorPlus v2.0.0*/
+!function(){var a=window.parent;dialog=a.$EDITORUI[window.frameElement.id.replace(/_iframe$/,"")],editor=dialog.editor,UE=a.UE,domUtils=UE.dom.domUtils,utils=UE.utils,browser=UE.browser,ajax=UE.ajax,$G=function(a){return document.getElementById(a)},$focus=function(a){setTimeout(function(){if(browser.ie){var b=a.createTextRange();b.collapse(!1),b.select()}else a.focus()},0)},utils.loadFile(document,{href:editor.options.themePath+editor.options.theme+"/dialogbase.css?cache="+Math.random(),tag:"link",type:"text/css",rel:"stylesheet"}),lang=editor.getLang(dialog.className.split("-")[2]),lang&&domUtils.on(window,"load",function(){var a=editor.options.langPath+editor.options.lang+"/images/";for(var b in lang["static"]){var c=$G(b);if(c){var d=c.tagName,e=lang["static"][b];switch(e.src&&(e=utils.extend({},e,!1),e.src=a+e.src),e.style&&(e=utils.extend({},e,!1),e.style=e.style.replace(/url\s*\(/g,"url("+a)),d.toLowerCase()){case"var":c.parentNode.replaceChild(document.createTextNode(e),c);break;case"select":for(var f,g=c.options,h=0;f=g[h];)f.innerHTML=e.options[h++];for(var i in e)"options"!=i&&c.setAttribute(i,e[i]);break;default:domUtils.setAttributes(c,e)}}}})}();

+ 155 - 0
src/main/resources/static/resource/js/UEditorPlus/dialogs/link/link.html

@@ -0,0 +1,155 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+    "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+    <title></title>
+    <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
+    <script type="text/javascript" src="../internal.js?04dbe7f0"></script>
+    <style type="text/css">
+        * {
+            margin: 0;
+            padding: 0;
+            color: #838383;
+        }
+
+        table {
+            font-size: 12px;
+            margin: 10px;
+            line-height: 36px;
+            width: 100%;
+        }
+
+        .txt {
+            box-sizing: border-box;
+            width: 90%;
+            height: 30px;
+            line-height: 30px;
+            border: 1px solid #d7d7d7;
+            border-radius: 3px;
+            padding: 0 5px;
+            outline: none;
+        }
+    </style>
+</head>
+<body>
+<div style="padding:10px;">
+    <table>
+        <tr>
+            <td><label for="text"> <var id="lang_input_text"></var></label></td>
+            <td><input class="txt" id="text" type="text" disabled="true"/></td>
+        </tr>
+        <tr>
+            <td><label for="href"> <var id="lang_input_url"></var></label></td>
+            <td><input class="txt" id="href" type="text"/></td>
+        </tr>
+        <tr>
+            <td><label for="title"> <var id="lang_input_title"></var></label></td>
+            <td><input class="txt" id="title" type="text"/></td>
+        </tr>
+        <tr>
+            <td colspan="2">
+                <label for="target"><var id="lang_input_target"></var></label>
+                <input id="target" type="checkbox"/>
+            </td>
+        </tr>
+        <tr>
+            <td colspan="2" id="msg"></td>
+        </tr>
+    </table>
+</div>
+<script type="text/javascript">
+
+    editor.setOpt('allowLinkProtocols', ['http:', 'https:', '#', '/', 'ftp:', 'mailto:', 'tel:']);
+    var allowLinkProtocols = editor.getOpt('allowLinkProtocols');
+
+    var range = editor.selection.getRange(),
+        link = range.collapsed ? editor.queryCommandValue("link") : editor.selection.getStart(),
+        url,
+        text = $G('text'),
+        rangeLink = domUtils.findParentByTagName(range.getCommonAncestor(), 'a', true),
+        orgText;
+
+    link = domUtils.findParentByTagName(link, "a", true);
+
+    if (link) {
+        url = utils.html(link.getAttribute('_href') || link.getAttribute('href', 2));
+
+        if (rangeLink === link && !link.getElementsByTagName('img').length) {
+            text.removeAttribute('disabled');
+            orgText = text.value = link[browser.ie ? 'innerText' : 'textContent'];
+        } else {
+            text.setAttribute('disabled', 'true');
+            text.value = lang.validLink;
+        }
+
+    } else {
+        if (range.collapsed) {
+            text.removeAttribute('disabled');
+            text.value = '';
+        } else {
+            text.setAttribute('disabled', 'true');
+            text.value = lang.validLink;
+        }
+
+    }
+    $G("title").value = url ? link.title : "";
+    $G("href").value = url ? url : '';
+    $G("target").checked = url && link.target == "_blank" ? true : false;
+    $focus($G("href"));
+
+    function handleDialogOk() {
+        var href = $G('href').value.replace(/^\s+|\s+$/g, '');
+        if (href) {
+            if (!hrefStartWith(href, allowLinkProtocols)) {
+                href = "http://" + href;
+            }
+            var obj = {
+                'href': href,
+                'target': $G("target").checked ? "_blank" : '_self',
+                'title': $G("title").value.replace(/^\s+|\s+$/g, ''),
+                '_href': href
+            };
+            //修改链接内容的情况太特殊了,所以先做到这里了
+            //todo:情况多的时候,做到command里
+            if (orgText && text.value != orgText) {
+                link[browser.ie ? 'innerText' : 'textContent'] = obj.textValue = text.value;
+                range.selectNode(link).select()
+            }
+            if (range.collapsed) {
+                obj.textValue = text.value;
+            }
+            editor.execCommand('link', utils.clearEmptyAttrs(obj));
+            dialog.close();
+        }
+    }
+
+    dialog.onok = handleDialogOk;
+    $G('href').onkeydown = $G('title').onkeydown = function (evt) {
+        evt = evt || window.event;
+        if (evt.keyCode == 13) {
+            handleDialogOk();
+            return false;
+        }
+    };
+    $G('href').onblur = function () {
+        if (!hrefStartWith(this.value, allowLinkProtocols)) {
+            $G("msg").innerHTML = "<span style='color: red'>" + lang.httpPrompt + "</span>";
+        } else {
+            $G("msg").innerHTML = "";
+        }
+    };
+
+    function hrefStartWith(href, arr) {
+        href = href.replace(/^\s+|\s+$/g, '');
+        for (var i = 0, ai; ai = arr[i++];) {
+            if (href.indexOf(ai) == 0) {
+                return true;
+            }
+        }
+        return false;
+    }
+
+
+</script>
+</body>
+</html>

+ 45 - 0
src/main/resources/static/resource/js/UEditorPlus/dialogs/preview/preview.html

@@ -0,0 +1,45 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+    "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+    <style>
+        html, body {
+            height: 100%;
+            width: 100%;
+            padding: 0;
+            margin: 0;
+        }
+
+        #preview {
+            width: 100%;
+            height: 100%;
+            padding: 0;
+            margin: 0;
+        }
+
+        #preview * {
+            font-family: sans-serif;
+            font-size: 16px;
+        }
+    </style>
+    <script type="text/javascript" src="../internal.js?04dbe7f0"></script>
+    <script src="../../ueditor.parse.js?63488b91"></script>
+    <title></title>
+</head>
+<body class="view">
+<div id="preview" style="margin:8px">
+
+</div>
+</body>
+<script>
+    document.getElementById('preview').innerHTML = editor.getContent();
+    uParse('#preview', {
+        rootPath: '../../',
+        chartContainerHeight: 500
+    })
+    dialog.oncancel = function () {
+        document.getElementById('preview').innerHTML = '';
+    }
+</script>
+</html>

BIN
src/main/resources/static/resource/js/UEditorPlus/dialogs/scrawl/images/addimg.png


BIN
src/main/resources/static/resource/js/UEditorPlus/dialogs/scrawl/images/brush.png


BIN
src/main/resources/static/resource/js/UEditorPlus/dialogs/scrawl/images/delimg.png


BIN
src/main/resources/static/resource/js/UEditorPlus/dialogs/scrawl/images/delimgH.png


BIN
src/main/resources/static/resource/js/UEditorPlus/dialogs/scrawl/images/empty.png


BIN
src/main/resources/static/resource/js/UEditorPlus/dialogs/scrawl/images/emptyH.png


BIN
src/main/resources/static/resource/js/UEditorPlus/dialogs/scrawl/images/eraser.png


BIN
src/main/resources/static/resource/js/UEditorPlus/dialogs/scrawl/images/redo.png


BIN
src/main/resources/static/resource/js/UEditorPlus/dialogs/scrawl/images/redoH.png


BIN
src/main/resources/static/resource/js/UEditorPlus/dialogs/scrawl/images/scale.png


Some files were not shown because too many files changed in this diff