Ver Fonte

采美百科上测试

喻文俊 há 3 anos atrás
pai
commit
b039bbc309

+ 10 - 10
src/main/resources/config/dev/application-dev.yml

@@ -4,14 +4,14 @@ spring:
   #数据源连接--start
   datasource:
     #本地连接数据库
-    url: jdbc:mysql://192.168.2.100:3306/caimei?characterEncoding=UTF8&serverTimezone=Asia/Shanghai
-    username: developer
-    password: 05bZ/OxTB:X+yd%1
+    #url: jdbc:mysql://192.168.2.100:3306/caimei?characterEncoding=UTF8&serverTimezone=Asia/Shanghai
+    #username: developer
+    #password: 05bZ/OxTB:X+yd%1
     #测试连接数据库
-#     url: jdbc:mysql://120.79.25.27:3306/caimei?characterEncoding=UTF8&serverTimezone=Asia/Shanghai
-#     username: developer
-#     password: J5p3tgOVazNl4ydf
-    #type: com.zaxxer.hikari.HikariDataSource
+    url: jdbc:mysql://120.79.25.27:3306/caimei?characterEncoding=UTF8&serverTimezone=Asia/Shanghai
+    username: developer
+    password: J5p3tgOVazNl4ydf
+    type: com.zaxxer.hikari.HikariDataSource
     hikari:
       minimum-idle: 5
       maximum-pool-size: 15
@@ -54,9 +54,9 @@ logging:
 caimei:
   siteEnv: 0 #网站环境,(2:正式环境,1:测试环境,0:开发环境)
   spiServer: http://192.168.2.68:8008
-#  coreServer: https://core-b.caimei365.com
-  coreServer: http://192.168.2.68:18002
-#  coreServer: http://192.168.2.75:18002
+  coreServer: https://core-b.caimei365.com
+  #coreServer: http://192.168.2.68:18002
+  #coreServer: http://192.168.2.75:18002
   imageDomain: https://img-b.caimei365.com
   wwwDomain: http:localhost:8009
   destPath: classpath:/

+ 48 - 315
src/main/resources/static/css/supplier-center/article/article-edit.css

@@ -1,316 +1,49 @@
 @charset "UTF-8";
-input[hidden] {
-    display: none !important;
-}
-
-.form {
-    width: 500px;
-    margin: 0 auto;
-    color: #22272E;
-}
-
-.form .form-item {
-    width: 100%;
-    position: relative;
-    padding-bottom: 24px;
-    margin-top: 16px;
-}
-
-.form .form-label {
-    display: block;
-    line-height: 26px;
-    font-size: 14px;
-    color: #627386;
-}
-
-.form .form-label em {
-    display: none;
-    color: #FF2A2A;
-    font-style: normal;
-    margin-right: 2px;
-}
-.form .form-item[required] .form-label em {
-    display: inline;
-}
-
-.form .form-item .errTips {
-    position: absolute;
-    bottom: 0;
-    display: flex;
-    justify-content: flex-start;
-    align-items: center;
-    line-height: 24px;
-    white-space: nowrap;
-    color: red;
-    font-size: 12px;
-}
-
-.form .form-item .errTips::before {
-    content: "×";
-    font-size: 12px;
-    display: block;
-    width: 14px;
-    height: 14px;
-    margin-right: 2px;
-    line-height: 14px;
-    background: #FF2A2A;
-    color: #fff;
-    border-radius: 50%;
-    text-align: center;
-}
-
-
-.form .form-control::placeholder {
-    font-size: 14px;
-    color: #9AA5B5;
-}
-
-.form .form-control {
-    outline: none;
-    display: block;
-    width: 100%;
-    padding: 8px 16px;
-    box-sizing: border-box;
-    background: #FFFFFF;
-    border: 1px solid #B8BFCA;
-    border-radius: 2px;
-}
-
-.form .form-select {
-    color: #627386;
-}
-
-.form .control-group {
-    display: flex;
-    justify-content: space-between;
-    align-items: center;
-}
-
-.form .control-group .form-control {
-    width: auto;
-}
-
-.form .form-button {
-    padding: 0 16px;
-    height: 36px;
-    line-height: 36px;
-    background: #FFE6DC;
-    border: 1px solid #E15616;
-    border-radius: 2px;
-    font-size: 14px;
-    color: #E15616;
-    box-sizing: border-box;
-    cursor: pointer;
-}
-
-.form .upload-control {
-    display: flex;
-    justify-content: center;
-    flex-direction: column;
-    align-items: center;
-    width: 100px;
-    height: 100px;
-    background: #FFFFFF;
-    border: 1px solid #E2E7EF;
-    border-radius: 2px;
-    color: #9AA5B5;
-    cursor: pointer;
-}
-
-.form .upload-control span:first-child {
-    font-size: 38px;
-}
-
-.form .upload-control span:last-child {
-    font-size: 14px;
-}
-
-.form .radio-group {
-    display: flex;
-    justify-content: flex-start;
-    align-items: center;
-}
-
-.form .radio-control input[type="radio"] {
-    display: none;
-}
-
-.form .radio-control label.radio {
-    position: relative;
-    padding-left: 26px;
-    cursor: pointer;
-    font-size: 14px;
-    color: #22272E;
-}
-
-.form .radio-control label.radio::before {
-    content: "";
-    position: absolute;
-    left: 0;
-    top: 50%;
-    transform: translateY(-50%);
-    display: block;
-    width: 18px;
-    height: 18px;
-    border: 1px solid #B8BFCA;
-    border-radius: 50%;
-    box-sizing: border-box;
-}
-
-.form .radio-control label.radio::after {
-    content: "";
-    display: block;
-    opacity: 0;
-    position: absolute;
-    left: 5px;
-    top: 50%;
-    transform: translateY(-50%);
-    width: 8px;
-    height: 8px;
-    background: #E15616;
-    border-radius: 50%;
-}
-
-.form .radio-control input[type="radio"]:checked + label.radio {
-    color: #E15616;
-}
-
-.form .radio-control input[type="radio"]:checked + label.radio::before {
-    border-color: #E15616;
-}
-
-.form .radio-control input[type="radio"]:checked + label.radio::after {
-    opacity: 1;
-}
-
-.form .btn {
-    width: 232px;
-    height: 50px;
-    text-align: center;
-    line-height: 50px;
-    font-size: 18px;
-    box-sizing: border-box;
-    cursor: pointer;
-}
-
-.form .btn.break {
-    background: #FFE6DC;
-    border: 1px solid #E15616;
-    border-radius: 2px;
-    color: #E15616;
-}
-
-.form .btn.submit {
-    background: #E15616;
-    color: #FFFFFF;
-}
-
-.article-edit {
-
-}
-.article-edit .navLayout .right { width: auto;}
-.article-edit .navLayout .right-box{ width: 968px;}
-.article-edit .row {
-    box-sizing: border-box;
-    padding: 24px 0;
-    background: #FFFFFF;
-    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.07);
-}
-
-.article-edit .top-tip {
-    display: flex;
-    justify-content: center;
-    align-items: center;
-    height: 60px;
-    text-align: center;
-    font-size: 12px;
-    line-height: 20px;
-    color: #E15616;
-    background: linear-gradient(90deg, #FFFFFF 0%, rgba(225, 86, 22, 0.1) 50%, #FFFFFF 100%);
-}
-
-.article-edit .tag-list {
-    width: 100%;
-    padding-bottom: 32px;
-    display: flex;
-    justify-content: flex-start;
-    align-items: center;
-    flex-wrap: wrap;
-}
-
-.article-edit .tag-list .tag {
-    position: relative;
-    padding: 0 6px;
-    margin: 8px 8px 0 0;
-    height: 28px;
-    line-height: 28px;
-    background: #FFF3E5;
-    border-radius: 2px;
-    font-size: 14px;
-    font-weight: 400;
-    color: #4A4F58;
-    cursor: pointer;
-    border: 1px solid #FFF3E5;
-}
-
-.article-edit .tag-list .tag.active{
-    color: #E15616;
-    background: #FFE6DC;
-    border-color: #E15616;
-}
-
-.article-edit .tag-list .tag .close {
-    display: none;
-    position: absolute;
-    top: -8px;
-    right: -8px;
-    width: 16px;
-    height: 16px;
-    background: #F94B4B;
-    border-radius: 50%;
-    font-size: 10px;
-    line-height: 16px;
-    text-align: center;
-    color: #fff;
-    cursor: pointer;
-}
-
-.article-edit .radio-group .form-label {
-    width: 80px;
-}
-
-.article-edit .control-group .tagName {
-    width: 388px;
-}
-
-.article-edit .control-group .addTag {
-    width: 90px;
-}
-
-.article-edit .radio-control {
-    margin-right: 32px;
-}
-
-.article-edit .btns {
-    display: flex;
-    justify-content: center;
-    align-items: center;
-}
-
-.article-edit .btns .btn {
-    margin: 0 16px;
-}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+input[hidden]{display:none !important}
+.form{width:500px;margin:0 auto;color:#22272E}
+.form .form-item{width:100%;position:relative;padding-bottom:24px;margin-top:16px}
+.form .form-label{display:block;line-height:26px;font-size:14px;color:#627386}
+.form .form-label em{display:none;color:#FF2A2A;font-style:normal;margin-right:2px}
+.form .form-item[required] .form-label em{display:inline}
+.form .form-item .errTips{position:absolute;bottom:0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;-webkit-box-align:center;-ms-flex-align:center;align-items:center;line-height:24px;white-space:nowrap;color:red;font-size:12px}
+.form .form-item .errTips::before{content:"×";font-size:12px;display:block;width:14px;height:14px;margin-right:2px;line-height:14px;background:#FF2A2A;color:#fff;border-radius:50%;text-align:center}
+.form .form-control::-webkit-input-placeholder{font-size:14px;color:#9AA5B5}
+.form .form-control::-moz-placeholder{font-size:14px;color:#9AA5B5}
+.form .form-control:-ms-input-placeholder{font-size:14px;color:#9AA5B5}
+.form .form-control::-ms-input-placeholder{font-size:14px;color:#9AA5B5}
+.form .form-control::placeholder{font-size:14px;color:#9AA5B5}
+.form .form-control{outline:none;display:block;width:100%;padding:8px 16px;-webkit-box-sizing:border-box;box-sizing:border-box;background:#FFFFFF;border:1px solid #B8BFCA;border-radius:2px}
+.form .form-select{color:#627386}
+.form .control-group{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center}
+.form .control-group .form-control{width:auto}
+.form .form-button{padding:0 16px;height:36px;line-height:36px;background:#FFE6DC;border:1px solid #E15616;border-radius:2px;font-size:14px;color:#E15616;-webkit-box-sizing:border-box;box-sizing:border-box;cursor:pointer}
+.form .upload-control{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:100px;height:100px;background:#FFFFFF;border:1px solid #E2E7EF;border-radius:2px;color:#9AA5B5;cursor:pointer}
+.form .upload-control span:first-child{font-size:38px}
+.form .upload-control span:last-child{font-size:14px}
+.form .radio-group{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;-webkit-box-align:center;-ms-flex-align:center;align-items:center}
+.form .radio-control input[type="radio"]{display:none}
+.form .radio-control label.radio{position:relative;padding-left:26px;cursor:pointer;font-size:14px;color:#22272E}
+.form .radio-control label.radio::before{content:"";position:absolute;left:0;top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);display:block;width:18px;height:18px;border:1px solid #B8BFCA;border-radius:50%;-webkit-box-sizing:border-box;box-sizing:border-box}
+.form .radio-control label.radio::after{content:"";display:block;opacity:0;position:absolute;left:5px;top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);width:8px;height:8px;background:#E15616;border-radius:50%}
+.form .radio-control input[type="radio"]:checked + label.radio{color:#E15616}
+.form .radio-control input[type="radio"]:checked + label.radio::before{border-color:#E15616}
+.form .radio-control input[type="radio"]:checked + label.radio::after{opacity:1}
+.form .btn{width:232px;height:50px;text-align:center;line-height:50px;font-size:18px;-webkit-box-sizing:border-box;box-sizing:border-box;cursor:pointer}
+.form .btn.break{background:#FFE6DC;border:1px solid #E15616;border-radius:2px;color:#E15616}
+.form .btn.submit{background:#E15616;color:#FFFFFF}
+.article-edit{}
+.article-edit .navLayout .right{width:auto}
+.article-edit .navLayout .right-box{width:968px}
+.article-edit .row{-webkit-box-sizing:border-box;box-sizing:border-box;padding:24px 0;background:#FFFFFF;-webkit-box-shadow:0 3px 6px rgba(0,0,0,0.07);box-shadow:0 3px 6px rgba(0,0,0,0.07)}
+.article-edit .top-tip{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:60px;text-align:center;font-size:12px;line-height:20px;color:#E15616;background:-webkit-gradient(linear,left top,right top,from(#FFFFFF),color-stop(50%,rgba(225,86,22,0.1)),to(#FFFFFF));background:-o-linear-gradient(left,#FFFFFF 0%,rgba(225,86,22,0.1) 50%,#FFFFFF 100%);background:linear-gradient(90deg,#FFFFFF 0%,rgba(225,86,22,0.1) 50%,#FFFFFF 100%)}
+.article-edit .tag-list{width:100%;padding-bottom:32px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-flex-wrap:wrap;flex-wrap:wrap}
+.article-edit .tag-list .tag{position:relative;padding:0 6px;margin:8px 8px 0 0;height:28px;line-height:28px;background:#FFF3E5;border-radius:2px;font-size:14px;font-weight:400;color:#4A4F58;cursor:pointer;border:1px solid #FFF3E5}
+.article-edit .tag-list .tag.active{color:#E15616;background:#FFE6DC;border-color:#E15616}
+.article-edit .tag-list .tag .close{display:none;position:absolute;top:-8px;right:-8px;width:16px;height:16px;background:#F94B4B;border-radius:50%;font-size:10px;line-height:16px;text-align:center;color:#fff;cursor:pointer}
+.article-edit .radio-group .form-label{width:80px}
+.article-edit .control-group{padding-bottom:24px}
+.article-edit .control-group .tagName{width:388px}
+.article-edit .control-group .addTag{width:90px}
+.article-edit .radio-control{margin-right:32px}
+.article-edit .btns{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}
+.article-edit .btns .btn{margin:0 16px}

+ 29 - 29
src/main/resources/static/js/encyclopedia/index.js

@@ -18,36 +18,36 @@ $(function () {
             bindEl.children('.icon').toggleClass('arrowup');
             bindEl.children('span').text(text);
             parent.children('.name').children('em').height(lineHeight);
-        }); // 可折叠楼层
-
-        makeFloorList({
-            root: '.floor',
-            // 根节点元素
-            collapse: '.article',
-            //可折叠元素
-            item: '.section',
-            // 子元素
-            touch: '.more-btn',
-            // 事件绑定元素
-            size: 6,
-            // 每页最多显示的子元素个数
-            col: 3,
-            // 每列最多显示的子元素个数
-            minHeight: $('.floor').find('.section').height() + 24,
-            // 单个子元素的高度
-            // 展开时的回调
-            open: function open(floor) {
-                if (floor.current === floor.step) {
-                    floor.$floor.find('.more span').text('收起全部');
-                    floor.$floor.find('.more .icon').addClass('arrowup');
-                }
-            },
-            // 收起时的回调
-            close: function close(floor) {
-                floor.$floor.find('.more span').text('查看更多');
-                floor.$floor.find('.more .icon').removeClass('arrowup');
-            }
         });
+        // 可折叠楼层
+        // makeFloorList({
+        //     root: '.floor',
+        //     // 根节点元素
+        //     collapse: '.article',
+        //     //可折叠元素
+        //     item: '.section',
+        //     // 子元素
+        //     touch: '.more-btn',
+        //     // 事件绑定元素
+        //     size: 6,
+        //     // 每页最多显示的子元素个数
+        //     col: 3,
+        //     // 每列最多显示的子元素个数
+        //     minHeight: $('.floor').find('.section').height() + 24,
+        //     // 单个子元素的高度
+        //     // 展开时的回调
+        //     open: function open(floor) {
+        //         if (floor.current === floor.step) {
+        //             floor.$floor.find('.more span').text('收起全部');
+        //             floor.$floor.find('.more .icon').addClass('arrowup');
+        //         }
+        //     },
+        //     // 收起时的回调
+        //     close: function close(floor) {
+        //         floor.$floor.find('.more span').text('查看更多');
+        //         floor.$floor.find('.more .icon').removeClass('arrowup');
+        //     }
+        // });
     } else {
         // 移动端
         offset = getScrollOffset(['.navbar', '.category']);

+ 2 - 1
src/main/resources/static/js/supplier-center/article/article-list.js

@@ -116,7 +116,8 @@ var articleList = new Vue({
             });
         },
         //查看
-        toDetail: function toDetail() {
+        toDetail: function toDetail(article) {
+            window.open('/info/detail-' + article.articleId +'-1.html');
         },
         // 跳转添加文章页面
         handleAddArticle: function handleAddArticle() {

+ 0 - 4
src/main/resources/static/js/supplier-center/article/formMixin.js

@@ -9,10 +9,6 @@ var formMixin = {
                 type: 'string',
                 message: '请输入文章标题',
                 trigger: 'blur'
-            }, {
-                maxLength: 10,
-                minLength: 2,
-                message: '最大字符长度为10,最小字符长度为2'
             }],
             label: [{
                 required: true,

+ 1 - 0
src/main/resources/templates/article/components/article-header.html

@@ -13,6 +13,7 @@
                 <a class="home" href="/" target="_blank">商城</a>
                 <a th:each="type: *{articleType}" th:text="${type.name}" th:href="'/info/center-'+${type.id}+'-1.html'" th:class="${typeId==type.id}?'typeBtn current':'typeBtn'" th:typeId="${type.id}"></a>
                 <a class="typeBtn" href="/document/beauty-archive.html" target="_blank">美业资料</a>
+                <a class="typeBtn" href="/encyclopedia/product.html" target="_blank">采美百科</a>
             </div>
         </div>
         <!--搜索-->

+ 1 - 0
src/main/resources/templates/encyclopedia/components/header.html

@@ -30,6 +30,7 @@
             <div class="keywords" id="hotKeywords">
                 <span class="close-btn icon close"></span>
                 <span>热门搜索:</span>
+                <!--跳转方式:1仅搜索,2产品,3仪器,4链接-->
                 <th:block th:each="keyword,keywordStat: ${searchHotWord}">
                     <a th:href="'search.html?keyword=' + ${keyword}" th:text="${keyword}" th:title="${keyword}"></a>
                     <em th:if="${keywordStat.size gt 1}">/</em>

+ 13 - 10
src/main/resources/templates/encyclopedia/instrument-detail.html

@@ -16,6 +16,7 @@
 <template th:replace="encyclopedia/components/header"></template>
 
 <article class="article" th:object="${baikeInstrument}">
+    <!-- 仪器描述 -->
     <section class="section description">
         <div class="title">
             <h2>仪器描述</h2>
@@ -35,6 +36,7 @@
             </div>
         </div>
     </section>
+    <!-- 正品识别 -->
     <section class="section approve">
         <div class="title">
             <h2>正品识别</h2>
@@ -48,6 +50,7 @@
             </div>
         </div>
     </section>
+    <!-- 仪器参数 -->
     <section class="section params">
         <div class="title">
             <h2>仪器参数</h2>
@@ -62,7 +65,7 @@
             </div>
         </div>
     </section>
-
+    <!-- 仪器优点 -->
     <section class="section">
         <div class="title">
             <h2>仪器优点</h2>
@@ -70,7 +73,7 @@
         </div>
         <div class="content" th:utext="*{advantage}"></div>
     </section>
-
+    <!-- 仪器缺点 -->
     <section class="section">
         <div class="title">
             <h2>仪器缺点</h2>
@@ -78,7 +81,7 @@
         </div>
         <div class="content" th:utext="*{disadvantage}"></div>
     </section>
-
+    <!-- 仪器原理 -->
     <section class="section">
         <div class="title">
             <h2>仪器原理</h2>
@@ -86,7 +89,7 @@
         </div>
         <div class="content" th:utext="*{principle}"></div>
     </section>
-
+    <!-- 仪器档案 -->
     <section class="section params">
         <div class="title">
             <h2>仪器档案</h2>
@@ -125,7 +128,7 @@
             </div>
         </div>
     </section>
-
+    <!-- 仪器认证 -->
     <section class="section approve">
         <div class="title">
             <h2>仪器认证</h2>
@@ -138,7 +141,7 @@
             </div>
         </div>
     </section>
-
+    <!-- 适宜人群 -->
     <section class="section">
         <div class="title">
             <h2>适宜人群</h2>
@@ -146,7 +149,7 @@
         </div>
         <div class="content" th:utext="*{adaptiveMan}"></div>
     </section>
-
+    <!-- 不适宜人群 -->
     <section class="section">
         <div class="title">
             <h2>不适宜人群</h2>
@@ -154,7 +157,7 @@
         </div>
         <div class="content" th:utext="*{adaptiveMan}"></div>
     </section>
-
+    <!-- 术前术后 -->
     <section class="section">
         <div class="title">
             <h2>术前术后</h2>
@@ -162,7 +165,7 @@
         </div>
         <div class="content" th:utext="*{aroundOperation}"></div>
     </section>
-
+    <!-- 效果展示 -->
     <section class="section effect">
         <div class="title">
             <h2>效果展示</h2>
@@ -172,7 +175,7 @@
             <img th:src="${img}" th:each="img: *{displayImageList}"/>
         </div>
     </section>
-
+    <!-- 常见问题 -->
     <section class="section question">
         <div class="title">
             <h2>常见问题</h2>

+ 6 - 4
src/main/resources/templates/encyclopedia/instrument.html

@@ -75,10 +75,12 @@
         </article>
         <!-- 更多 -->
         <div class="more">
-            <div class="more-btn">
-                <span class="">查看更多</span>
-                <i class="icon arrowdown"></i>
-            </div>
+            <a th:href="'more-' + ${floor.typeId} + '-1-12.html'">
+                <div class="more-btn">
+                    <span class="">查看更多</span>
+                    <i class="icon arrowdown"></i>
+                </div>
+            </a>
         </div>
     </div>
 </div>

+ 2 - 1
src/main/resources/templates/encyclopedia/more.html

@@ -23,7 +23,8 @@
     </div>
     <article class="article">
         <section class="section" th:each="item: *{results}">
-            <a th:href="'product-' + ${item.productId} + '.html'">
+            <!-- commodityType : 1 产品  2 仪器 -->
+            <a th:href="${item.commodityType == 1 ? 'product-' + item.productId + '.html' : 'product-' + item.instrument + '.html'}">
                 <div class="cover">
                     <img th:src="${item.image}" th:alt="${item.name}"/>
                 </div>

+ 12 - 11
src/main/resources/templates/encyclopedia/product-detail.html

@@ -14,8 +14,8 @@
 <body>
 <!-- 引用公共头部 -->
 <template th:replace="encyclopedia/components/header"></template>
-
 <article class="article" th:object="${baikeProduct}">
+    <!-- 产品描述 -->
     <section class="section description">
         <div class="title">
             <h2>产品描述</h2>
@@ -35,6 +35,7 @@
             </div>
         </div>
     </section>
+    <!-- 产品参数 -->
     <section class="section params">
         <div class="title">
             <h2>产品参数</h2>
@@ -49,7 +50,7 @@
             </div>
         </div>
     </section>
-
+    <!-- 产品优点 -->
     <section class="section">
         <div class="title">
             <h2>产品优点</h2>
@@ -57,7 +58,7 @@
         </div>
         <div class="content" th:utext="*{advantage}"></div>
     </section>
-
+    <!-- 产品缺点 -->
     <section class="section">
         <div class="title">
             <h2>产品缺点</h2>
@@ -65,7 +66,7 @@
         </div>
         <div class="content" th:utext="*{disadvantage}"></div>
     </section>
-
+    <!-- 产品原理 -->
     <section class="section">
         <div class="title">
             <h2>产品原理</h2>
@@ -73,7 +74,7 @@
         </div>
         <div class="content" th:utext="*{principle}"></div>
     </section>
-
+    <!-- 产品档案 -->
     <section class="section params">
         <div class="title">
             <h2>产品档案</h2>
@@ -112,7 +113,7 @@
             </div>
         </div>
     </section>
-
+    <!-- 产品认证 -->
     <section class="section approve">
         <div class="title">
             <h2>产品认证</h2>
@@ -125,7 +126,7 @@
             </div>
         </div>
     </section>
-
+    <!-- 适宜人群 -->
     <section class="section">
         <div class="title">
             <h2>适宜人群</h2>
@@ -133,7 +134,7 @@
         </div>
         <div class="content" th:utext="*{adaptiveMan}"></div>
     </section>
-
+    <!-- 不适宜人群 -->
     <section class="section">
         <div class="title">
             <h2>不适宜人群</h2>
@@ -141,7 +142,7 @@
         </div>
         <div class="content" th:utext="*{adaptiveMan}"></div>
     </section>
-
+    <!-- 术前术后 -->
     <section class="section">
         <div class="title">
             <h2>术前术后</h2>
@@ -149,7 +150,7 @@
         </div>
         <div class="content" th:utext="*{aroundOperation}"></div>
     </section>
-
+    <!-- 效果展示 -->
     <section class="section effect">
         <div class="title">
             <h2>效果展示</h2>
@@ -159,7 +160,7 @@
             <img th:src="${img}" th:each="img: *{displayImageList}"/>
         </div>
     </section>
-
+    <!-- 常见问题 -->
     <section class="section question">
         <div class="title">
             <h2>常见问题</h2>

+ 9 - 7
src/main/resources/templates/encyclopedia/product.html

@@ -16,7 +16,7 @@
 <template th:replace="encyclopedia/components/header"></template>
 <!-- banner -->
 <div class="banner">
-    <img th:src="${banner.image}" th:alt="${banner.link}"/>
+    <img th:src="${banner?.image}" th:alt="${banner?.link}"/>
 </div>
 <!-- 产品 / 仪器分类 -->
 <div class="category container" id="category">
@@ -37,7 +37,7 @@
 <div class="floor-list">
     <div class="floor" th:each="floor : ${typeData}">
         <div class="floor-title">
-            <h2 th:text="${floor.name}"></h2>
+            <h2 th:text="${floor?.name}"></h2>
             <div class="h5-more-btn">
                 <a th:href="'more-' + ${floor.typeId} + '-1-12.html'">
                     <span>更多</span>
@@ -73,12 +73,14 @@
                 </a>
             </section>
         </article>
-        <!-- 更多 -->
+        <!-- 查看更多 -->
         <div class="more">
-            <div class="more-btn">
-                <span class="">查看更多</span>
-                <i class="icon arrowdown"></i>
-            </div>
+            <a th:href="'more-' + ${floor.typeId} + '-1-12.html'">
+                <div class="more-btn">
+                    <span class="">查看更多</span>
+                    <i class="icon arrowdown"></i>
+                </div>
+            </a>
         </div>
     </div>
 </div>

+ 18 - 0
src/main/resources/templates/index.html

@@ -98,6 +98,24 @@
                             </a>
                         </div>
                     </div>
+                    <div class="section_right_item" th:if="${sideJson.get('baikeList')}!=null and ${sideJson.get('baikeList').size}>0">
+                        <div class="right_item_title">
+                            <p>热门百科</p>
+                            <a href="/encyclopedia/product.html" target="_blank" onclick="_czc.push(['_trackEvent','商城首页','热门百科','点击','','Um_Event_HomeBaikeTemplateClick'])">
+                                <template v-if="isPC">更多&gt;</template><template v-else>&gt;</template>
+                            </a>
+                        </div>
+                        <div class="right_item_main" th:each="info,stat : ${sideJson.get('baikeList')}" th:object="${info}">
+                            <a th:if="${stat.index}==0" th:href="*{commodityType eq 1 ? 'product-' + productId + '.html' : 'product-' + item.instrument + '.html'}" th:title="*{name}" class="item_banner" target="_blank" onclick="_czc.push(['_trackEvent','商城首页','热门百科','点击','','Um_Event_HomeBaikeTemplateClick'])">
+                                <img src="/img/base/placeholder.png" th:attr="data-original=*{image}" th:alt="*{name}">
+                                <div class="name" th:text="*{name}"></div>
+                            </a>
+                            <a th:if="${stat.index}>0" th:href="*{commodityType eq 1 ? 'product-' + productId + '.html' : 'product-' + item.instrument + '.html'}" th:title="*{name}" class="item_text" target="_blank" onclick="_czc.push(['_trackEvent','商城首页','热门百科','点击','','Um_Event_HomeBaikeTemplateClick'])">
+                                <p class="item_text_name info" th:text="*{name}"></p>
+                                <!-- <p class="item_text_time" v-if="isPC" th:text="*{createDate}"></p> -->
+                            </a>
+                        </div>
+                    </div>
                 </div>
             </div>
             <div class="section_left ">

+ 5 - 5
src/main/resources/templates/supplier-center/article/article-list.html

@@ -89,15 +89,15 @@
                         </tr>
                         <template v-for="(articleInfo, index) in articleList"  >
                             <tr :key="index" class="tr-row">
-                                <td v-html="articleInfo.articleId"></td>
-                                <td v-html="articleInfo.typeName"></td>
+                                <td v-text="articleInfo.articleId"></td>
+                                <td v-text="articleInfo.typeName"></td>
                                 <td>
                                     <img class="cover" :src="articleInfo.guidanceImage" :alt="articleInfo.title"/></td>
                                 <td class="title">
-                                    <div class="title" v-html="articleInfo.title"></div>
+                                    <div class="title" v-text="articleInfo.title" :title="articleInfo.title"></div>
                                 </td>
-                                <td v-html="articleInfo.praiseNum">236</td>
-                                <td v-html="articleInfo.pvNum">236</td>
+                                <td v-text="articleInfo.praiseNum"></td>
+                                <td v-text="articleInfo.pvNum"></td>
                                 <td>
                                     <span class="state warning" v-if="articleInfo.auditStatus === 1">待审核</span>
                                     <span class="state success" v-else-if="articleInfo.auditStatus === 2">审核通过</span>