Bladeren bron

Merge remote-tracking branch 'origin/developer' into developerB

# Conflicts:
#	src/main/resources/config/dev/application-dev.yml
zhengjinyi 2 jaren geleden
bovenliggende
commit
6e87b88e7f
25 gewijzigde bestanden met toevoegingen van 187 en 618 verwijderingen
  1. 4 0
      src/main/java/com/caimei/www/controller/BaseController.java
  2. 18 0
      src/main/java/com/caimei/www/controller/unlimited/ArticleController.java
  3. 4 0
      src/main/java/com/caimei/www/mapper/ArticleDao.java
  4. 2 0
      src/main/java/com/caimei/www/service/page/ArticleService.java
  5. 15 0
      src/main/java/com/caimei/www/service/page/impl/ArticleServiceImpl.java
  6. 1 0
      src/main/resources/config/beta/application-beta.yml
  7. 5 4
      src/main/resources/config/dev/application-dev.yml
  8. 1 0
      src/main/resources/config/prod/application-prod.yml
  9. 33 0
      src/main/resources/mapper/ArticleMapper.xml
  10. 9 9
      src/main/resources/static/css/activity/attestation.css
  11. 2 2
      src/main/resources/static/css/product/alliance-page.css
  12. 0 163
      src/main/resources/static/css/product/qualityauthorize.css
  13. 14 13
      src/main/resources/static/js/activity/attestation.js
  14. 25 24
      src/main/resources/static/js/article/common.js
  15. 13 13
      src/main/resources/static/js/article/detail.js
  16. 2 1
      src/main/resources/static/js/product/alliance-page.js
  17. 0 131
      src/main/resources/static/js/product/qualityauthorize.js
  18. 0 81
      src/main/resources/templates/activity/approveIframe.html
  19. 12 12
      src/main/resources/templates/activity/attestation.html
  20. 8 3
      src/main/resources/templates/article/components/article-sidebar.html
  21. 10 10
      src/main/resources/templates/article/detail.html
  22. 3 3
      src/main/resources/templates/pay/caimei-paylist.html
  23. 3 3
      src/main/resources/templates/pay/caimei-payunder.html
  24. 3 3
      src/main/resources/templates/product/alliance-page.html
  25. 0 143
      src/main/resources/templates/product/qualityauthorize.html

+ 4 - 0
src/main/java/com/caimei/www/controller/BaseController.java

@@ -25,6 +25,8 @@ public class BaseController {
 	private String coreServer;
 	@Value("${caimei.zplmDomain}")
 	private String zplmDomain;
+	@Value("${caimei.zplmServer}")
+	private String zplmServer;
     /** 打包时间 */
     @Value("${caimei.siteEnv}")
     private String siteEnv;
@@ -60,6 +62,8 @@ public class BaseController {
 		model.addAttribute("coreServer", coreServer);
 		// zplm服务器地址
 		model.addAttribute("zplmDomain", zplmDomain);
+		// zplm接口地址
+		model.addAttribute("zplmServer", zplmServer);
 		// 搜索热门关键字
 		List<String> searchHotWord = baseService.getSearchHotWord();
 		model.addAttribute("searchHotWord", searchHotWord);

+ 18 - 0
src/main/java/com/caimei/www/controller/unlimited/ArticleController.java

@@ -39,6 +39,10 @@ public class ArticleController extends BaseController {
     @GetMapping("/info/center-{id}-{pageNum}.html")
     public String toArticleList(@PathVariable("id") Integer id, @PathVariable("pageNum") Integer pageNum, final Model model) {
         List<BaseLink> typeList = articleService.getArticleTypes();
+        List<BaseLink> data = articleService.getArticleLabels().getData();
+        List<ImageLink> Ads = articleService.getLastestInfoAds().getData();
+        model.addAttribute("ads", Ads);
+        model.addAttribute("labels",data);
         model.addAttribute("articleType", typeList);
         model.addAttribute("typeId", id);
         model.addAttribute("labelId", 0);
@@ -53,6 +57,10 @@ public class ArticleController extends BaseController {
     @GetMapping("/info/label-{id}-{pageNum}.html")
     public String toArticleLabel(@PathVariable("id") Integer id, @PathVariable("pageNum") Integer pageNum, final Model model) {
         List<BaseLink> typeList = articleService.getArticleTypes();
+        List<BaseLink> data = articleService.getArticleLabels().getData();
+        List<ImageLink> Ads = articleService.getLastestInfoAds().getData();
+        model.addAttribute("ads", Ads);
+        model.addAttribute("labels",data);
         model.addAttribute("articleType", typeList);
         model.addAttribute("typeId", 0);
         model.addAttribute("labelId", id);
@@ -67,6 +75,10 @@ public class ArticleController extends BaseController {
     @GetMapping("/info/search-{pageNum}.html")
     public String toArticleSearch(@PathVariable("pageNum") Integer pageNum, final Model model) {
         List<BaseLink> typeList = articleService.getArticleTypes();
+        List<BaseLink> data = articleService.getArticleLabels().getData();
+        List<ImageLink> Ads = articleService.getLastestInfoAds().getData();
+        model.addAttribute("ads", Ads);
+        model.addAttribute("labels",data);
         model.addAttribute("articleType", typeList);
         model.addAttribute("typeId", 0);
         model.addAttribute("labelId", 0);
@@ -85,6 +97,12 @@ public class ArticleController extends BaseController {
         if(article == null){
             return super.errorPath();
         }
+        List<BaseLink> data = articleService.getArticleLabels().getData();
+        List<ImageLink> Ads = articleService.getLastestInfoAds().getData();
+        List<Article> articles=articleService.getInfoById(id);
+        model.addAttribute("articles",articles);
+        model.addAttribute("ads", Ads);
+        model.addAttribute("labels",data);
         model.addAttribute("article", article);
         model.addAttribute("articleType", typeList);
         model.addAttribute("articleId", id);

+ 4 - 0
src/main/java/com/caimei/www/mapper/ArticleDao.java

@@ -97,4 +97,8 @@ public interface ArticleDao {
      * @param infoId
      */
     void articlePv(Integer infoId);
+
+    String getLabelById(Integer id);
+
+    List<Article> getArticleRelatedLimit(@Param("id")Integer id, @Param("labels")String[] strings);
 }

+ 2 - 0
src/main/java/com/caimei/www/service/page/ArticleService.java

@@ -72,4 +72,6 @@ public interface ArticleService {
      * @return
      */
     JsonModel articlePv(Integer id);
+
+    List<Article> getInfoById(Integer id);
 }

+ 15 - 0
src/main/java/com/caimei/www/service/page/impl/ArticleServiceImpl.java

@@ -16,6 +16,7 @@ import org.springframework.beans.factory.annotation.Value;
 import org.springframework.http.server.reactive.ServerHttpRequest;
 import org.springframework.stereotype.Service;
 import org.springframework.web.server.ServerWebExchange;
+import org.thymeleaf.util.StringUtils;
 
 import javax.annotation.Resource;
 import java.math.BigDecimal;
@@ -176,6 +177,20 @@ public class ArticleServiceImpl implements ArticleService {
         return JsonModel.success();
     }
 
+    @Override
+    public List<Article> getInfoById(Integer id) {
+        String labels=articleDao.getLabelById(id);
+        String[] strings = new String[0];
+        if(!org.jsoup.helper.StringUtil.isBlank(labels)){
+            strings = labels.split(",");
+        }
+        List<Article> relateds = articleDao.getArticleRelatedLimit(id, strings);
+        relateds.forEach(item -> {
+            item.setImage(ImageUtil.getImageURL("", item.getImage(), 0, domain));
+        });
+        return relateds;
+    }
+
     private String getIp(ServerWebExchange serverWebExchange){
        ServerHttpRequest request = serverWebExchange.getRequest();
         return Objects.requireNonNull(request.getRemoteAddress()).getAddress().toString();

+ 1 - 0
src/main/resources/config/beta/application-beta.yml

@@ -56,6 +56,7 @@ caimei:
   destPath: /mnt/newdatadrive/data/runtime/h5-instance/static/www
   # 正品联盟(临时配置)
   zplmDomain: https://zp-b.caimei365.com
+  zplmServer: https://zplma-b.caimei365.com
 
 #DFS配置
 fdfs:

+ 5 - 4
src/main/resources/config/dev/application-dev.yml

@@ -11,7 +11,7 @@ spring:
     url: jdbc:mysql://120.79.25.27:3306/caimei?characterEncoding=UTF8&serverTimezone=Asia/Shanghai
     username: developer
     password: J5p3tgOVazNl4ydf
-    #type: com.zaxxer.hikari.HikariDataSource
+    type: com.zaxxer.hikari.HikariDataSource
     hikari:
       minimum-idle: 5
       maximum-pool-size: 15
@@ -54,14 +54,15 @@ 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.67:18002
-#  coreServer: http://192.168.2.180:18002
+#  coreServer: https://core-b.caimei365.com
+  coreServer: http://192.168.2.67:18002
+#  coreServer: http://192.168.2.75:18002
   imageDomain: https://img-b.caimei365.com
   wwwDomain: http://localhost:8009
   destPath: classpath:/
   # 正品联盟(临时配置)
   zplmDomain: https://zp-b.caimei365.com
+  zplmServer: https://zplma-b.caimei365.com
 
 #DFS配置
 fdfs:

+ 1 - 0
src/main/resources/config/prod/application-prod.yml

@@ -56,6 +56,7 @@ caimei:
   destPath: /mnt/newdatadrive/data/runtime/h5-instance/static/www
   # 正品联盟(临时配置)
   zplmDomain: https://zp.caimei365.com
+  zplmServer: https://zplma.caimei365.com
 
 #DFS配置
 fdfs:

+ 33 - 0
src/main/resources/mapper/ArticleMapper.xml

@@ -137,5 +137,38 @@
 		group by name
 		order by clickRate desc
 	</select>
+	<select id="getLabelById" resultType="java.lang.String">
+		SELECT label FROM info WHERE id=#{id}
+	</select>
+	<select id="getArticleRelatedLimit" resultType="com.caimei.www.pojo.page.Article">
+		select
+		a.id as id,
+		a.title as title,
+		a.guidanceImage as image,
+		a.publisher as publisher,
+		a.pubdate as publishDate,
+		a.recommendContent as intro,
+		a.infoContent as content,
+		(IFNULL(c.pv, 0) + IFNULL(a.basePv, 0) + IFNULL((c.num + a.basePraise), 0)) as pv,
+		a.label as label,
+		a.typeId as typeId
+		from info as a
+		left join info_praise c on a.id = c.infoId
+		<where>
+			<if test="labels != null and labels != ''">
+				<foreach collection="labels" item="label" open="(" close=")" index="index" separator="OR">
+					a.label like CONCAT(CONCAT('%', #{label}), '%')
+				</foreach>
+			</if>
+			<if test="id != null and id != ''">
+				and a.id != #{id}
+			</if>
+			and NOW() >= a.pubdate
+			and a.enabledStatus = 1
+			and a.auditStatus = 2
+		</where>
+		order by a.pubdate desc
+		limit 3
+	</select>
 
 </mapper>

+ 9 - 9
src/main/resources/static/css/activity/attestation.css

@@ -135,9 +135,9 @@ li{list-style:none}
     .section_main.ten .section_content .section_li .logo{ width: 98px;height: 98px;margin-bottom: 28px;border-radius: 50%; }
     .section_main.ten .section_content .section_li .name{ font-size: 20px; color: #fff }
     /*.section_main.ten .section_content .section_li:nth-child(1){background-image: url("/img/activity/attestation/section_bg_club_01.png");margin-right: 80px; }*/
-    .section_main.ten .section_content .section_li:nth-child(1){background-image: url("/img/activity/attestation/section_bg_device_01.png"); margin-right: 40px;}
-    .section_main.ten .section_content .section_li:nth-child(2){background-image: url("/img/activity/attestation/section_bg_device_02.png"); margin-right: 40px;}
-    .section_main.ten .section_content .section_li:nth-child(3){background-image: url("/img/activity/attestation/section_bg_device_03.png"); }
+    .section_main.ten .section_content .section_li:nth-child(1){background-image: url("/img/activity/attestation/section_bg_device_03.png"); margin-right: 40px;}
+    .section_main.ten .section_content .section_li:nth-child(2){background-image: url("/img/activity/attestation/section_bg_device_01.png"); margin-right: 40px;}
+    .section_main.ten .section_content .section_li:nth-child(3){background-image: url("/img/activity/attestation/section_bg_device_02.png"); }
     .section_main.ten .section_content .section_li:hover { -webkit-transform: translateY(-15px); -ms-transform: translateY(-15px); transform: translateY(-15px);border-bottom-color: #BC1724}
     .section_main.ten .section_content.mobile{display: none !important; }
     /*侧边栏-联系我们*/
@@ -285,18 +285,18 @@ li{list-style:none}
     .section_main.ten{ background: #fff; padding:10vw 8.8vw;}
     .section_main.ten .title{width: 100%;margin-botgbtom:  8vw;}
     .section_main.ten .title h1{line-height: 4.9vw;text-align: center;font-size: 4.8vw;color: #333333;font-weight: normal;}
-    .section_main.ten .section_content{width: 100%;-webkit-box-sizing: border-box;box-sizing: border-box;margin-top: 8.2vw;}
-    .section_main.ten .section_content .section_li{ 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; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; width: 100%; height: 29.6vw; float: left ;margin:0 4.4vw 4.4vw 0;background-size: 39vw; background-repeat: no-repeat;}
+    .section_main.ten .section_content{width: 100%;-webkit-box-sizing: border-box;box-sizing: border-box;margin-top: 8.2vw;display: flex;justify-content: space-between; align-items: center;flex-wrap: wrap;}
+    .section_main.ten .section_content .section_li{ 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; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; width: 40vw; height: 29.6vw; background-size: 40vw; background-repeat: no-repeat;margin-bottom: 2.4vw;margin-right: 2.4vw;}
     .section_main.ten .section_content .section_li:nth-child(2n) { margin-right: 0}
     .section_main.ten .section_content .section_li .logo{ width: 12.9vw;height: 12.9vw;margin-bottom: 3.3vw;border-radius: 50%; }
     .section_main.ten .section_content .section_li .name{ font-size: 3.6vw; color: #fff }
     .section_main.ten .section_content .section_li {background-size: cover; background-position: center;}
-    .section_main.ten .section_content .section_li_0{background-image: url("/img/activity/attestation/section_bg_device_01.png") }
-    .section_main.ten .section_content .section_li_1{background-image: url("/img/activity/attestation/section_bg_device_02.png") }
-    .section_main.ten .section_content .section_li_2{background-image: url("/img/activity/attestation/section_bg_device_03.png") }
+    .section_main.ten .section_content .section_li_0{background-image: url(/img/activity/attestation/section_bg_device_03.png) }
+    .section_main.ten .section_content .section_li_1{background-image: url(/img/activity/attestation/section_bg_device_01.png) }
+    .section_main.ten .section_content .section_li_2{background-image: url(/img/activity/attestation/section_bg_device_02.png) }
     /*.section_main.ten .section_content .section_li:nth-child(3){background-image: url("/img/activity/attestation/section_bg_club_02.png") }*/
     /*.section_main.ten .section_content .section_li:nth-child(4){background-image: url("/img/activity/attestation/section_bg_device_02.png") }*/
-    .section_main.ten .section_content.pc{display: none !important; }
+    /*.section_main.ten .section_content.pc{display: none !important; }*/
     /*侧边栏-联系我们*/
     .section-tel{width: 52px;height: 92px;position: fixed;right: 0;top: 50%;z-index: 99;border-radius: 2px;-webkit-box-shadow: 0px 2px 12px 0px rgba(43, 43, 43, 0.1);box-shadow: 0px 2px 12px 0px rgba(43, 43, 43, 0.1);}
     .section-tel .box{width: 52px;height: 46px;background: #FFFFFF;-webkit-box-sizing: border-box;box-sizing: border-box;padding: 9px 12px;cursor: pointer;position: relative;}

+ 2 - 2
src/main/resources/static/css/product/alliance-page.css

@@ -44,9 +44,9 @@ a{text-decoration:none}
 .zp-main .zp-params{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-top:24px}
 .zp-main .zp-params .row{width:50%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}
 .zp-main .zp-params .row .col{font-size:14px;padding:6px 0;line-height:24px}
-.zp-main .zp-params .row .col:first-child{width:14%;color:#949494}
+.zp-main .zp-params .row .col:first-child{color:#949494;width: 15%;}
 .zp-main .zp-params .row .col:first-child::after{content:":";margin-left:4px}
-.zp-main .zp-params .row .col:last-child{-webkit-box-flex:1;-ms-flex:1;flex:1}
+.zp-main .zp-params .row .col:last-child{-webkit-box-flex:1;-ms-flex:1;flex:1;word-break: break-all;padding-left: 16px;padding-right: 16px;text-align: justify;}
 .zp-footer{margin-top:24px;padding:20px 0;background-color:#eee}
 .zp-footer p{text-align:center;font-size:14px;color:#999}
 .zp-footer p a{color:#999;-webkit-transition:color 0.2s;-o-transition:color 0.2s;transition:color 0.2s}

+ 0 - 163
src/main/resources/static/css/product/qualityauthorize.css

@@ -1,163 +0,0 @@
-@charset "utf-8";body{margin:0}
-h1,h2,h3,p{margin:0}
-a{text-decoration:none;color:#000}
-ul{margin:0;padding:0;list-style-type:none}
-.fl-left{float:left}
-.fl-right{float:right}
-.fl-clear::after{display:block;content:'';clear:both}
-.params{border-collapse:unset;border:0;width:100%}
-.product-params .params tr td{border:0}
-.product-params .params tr td:nth-child(2n-1){color:#999999}
-.float-zplm{display: none;visibility: hidden;}
-@media screen and (min-width:768px){body{background-color:#F8F8F8}
-.inner{width:1184px;margin:0 auto}
-.container-header{width:100%;height:auto}
-.header-top{width:100%;height:80px;-webkit-box-sizing:border-box;box-sizing:border-box;padding:23px 0;background-image:-o-linear-gradient(right,#191919 0%,#464646 100%);background-image:-webkit-gradient(linear,right top,left top,from(#191919),to(#464646));background-image:linear-gradient(270deg,#191919 0%,#464646 100%)}
-.header-top .logo{width:98px;height:34px;float:left}
-.header-top .logo img{width:98px;height:34px;display:block}
-.container-content{width:100%;height:auto;margin-top:16px}
-.container-content .content-top{width:100%;height:120px;-webkit-box-sizing:border-box;box-sizing:border-box;padding:20px 16px;background-color:#ffffff;-webkit-box-shadow:0 2px 10px #ebecef;box-shadow:0 2px 10px #ebecef}
-.container-content .content-top-left{width:50%;float:left;height:100%}
-.container-main{width:1184px;height:590px;margin:0 auto;padding:25px;background:#FFF;border-radius:2px;-webkit-box-sizing:border-box;box-sizing:border-box}
-.container-main .img-box{float:left;position:relative;width:540px;height:540px;border:1px solid #ececec;-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden}
-.container-main .img-box .origin-logo-box{text-align:center;width:80px;position:absolute;top:26px;left:26px;z-index:10}
-.container-main .img-box .product-brand{max-width:80px;height:auto}
-.container-main .img-box .product-img{width:100%;height:100%}
-.container-main .img-box .product-authorize{width:72px;height:72px;position:absolute;bottom:20px;right:30px;z-index:10}
-.product-desc{width:570px;line-height:30px;color:#101010;float:right}
-.product-desc h3{font-size:20px}
-.product-desc .pink-box{margin:30px 0;padding:10px 16px;background:rgb(251,241,242);color:#bc1724}
-.product-desc .pink-box a{color:#bc1724}
-.product-desc .default-box{padding:10px 0;border-top:1px solid #eee;border-bottom:1px solid #eee}
-.product-desc .dls{color:#999}
-.product-desc .statement{padding-right: 15px;text-align: right}
-.product-desc .statement a{color:#bc1724}
-.product-desc .statement a .icon-wenhao{font-weight: bold;margin-left: 5px}
-/*.product-desc .statement a::after{content:'?';display:inline-block;width:14px;height:14px;text-align:center;line-height:16px;font-size:14px;border:1px solid #bc1724;border-radius:50%;margin-left:5px}*/
-.product-desc p{margin:30px 0}
-.product-params{width:1184px;margin:16px auto 0;padding:25px;background:#FFFFFF;-webkit-box-sizing:border-box;box-sizing:border-box}
-.product-params .title{position:relative;padding-bottom:10px;border-bottom:1px solid #eee;-webkit-box-sizing:border-box;box-sizing:border-box}
-.product-params .title::after{content:'';display:block;position:absolute;bottom:-2px;left:0;width:72px;height:2px;background:#101010}
-.product-params .title span{font-size:18px;font-weight:bold}
-.product-params .p-content{color:#101010}
-.product-params .pc-params{margin-top:30px}
-.product-params .pc-params li{float:left;width:50%;margin:15px 0}
-.product-params .pc-params li>div{float:left}
-.product-params .pc-params li .p-title{color:#999999}
-.footer{margin-top:60px;padding:20px 0;background-color:#eee}
-.footer p{text-align:center;font-size:14px;color:#999}
-.footer p a{color:#999}
-.product-desc a:hover{color:#F52E3E}
-.product-desc .statement a:hover::after{border-color:#F52E3E}
-.footer p a:hover{color:#F52E3E}
-.footer-mobile{display:none}
-.product-params .params.mobile{display:none}
-
-.statementModel{position:fixed;top:0;left:0;z-index:999;width:100%;height:100vh;background:rgba(0,0,0,.4)}
-.statementModel .model{position:fixed;left:50%;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);-moz-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);width:620px;height:380px;border-radius:4px;background:#fff;overflow:hidden}
-.statementModel .title{padding:15px 20px;background:#f1f1f1;font-size:18px}
-.statementModel .close{position:absolute;right:20px;top:10px;display:block;width:30px;height:30px;background:url(/img/quality/icon-close.png) no-repeat center;cursor:pointer}
-.statementModel .close:hover{background-image:url(/img/quality/icon-close-hover.png)}
-.statementModel .content{padding:15px;height:296px;overflow-y:scroll;line-height: 1.8;text-align: justify;text-indent: 2em}
-.float-zplm{position:fixed;z-index:99;bottom:16%;right:2%;width:90px}
-.float-zplm img{width:100%}
-.close{position:absolute;display:block;width:32px;height:32px;background:url(/img/quality/mb-close.png) no-repeat center;cursor:pointer;z-index:999;background-size:32px;right:0;top:-50px}
-.container-main .sq-book{position:absolute;width:149px;height:112px;bottom:20px;left:30px;z-index:10;cursor: pointer;}
-.sq-book-modal{width:100%;height:100vh;position:fixed;z-index:997;top:0;left:0;background:rgba(0,0,0,.7);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}
-.sq-book-img{width:622px;/*height:467px;*/-webkit-box-shadow:0 10px 28px rgba(255,199,30,.26);box-shadow:0 10px 28px rgba(255,199,30,.26);position:fixed;left:0;right:0;margin:0 auto;top:20%;z-index:998}
-.sq-book-img img{width:100%;height:auto}
-
-.not-found {height: calc(100vh - 80px); display: flex;justify-content: center;align-items: center;flex-direction: column;}
-.not-found img{}
-.not-found p{font-size: 20px;color: #a8a8a8;padding: 60px;text-align: center;}
-.qrCodeImage{ width: 160px; position: fixed;right: 0 ;z-index: 99; bottom: 80px;padding: 15px;border-radius: 4px; background: #fff;}
-.qrCodeImage img{ width: 100%; display: block;}
-.qrCodeImage .foot-text{text-align: center;font-size: 14px;line-height: 1.4}
-.qrCodeImage .closeHandle{ display: block;font-size: 26px;position: absolute;left: 0;top: -10px; color: #666;cursor: pointer}
-}
-
-@media screen and (max-width:768px){body{background:#fff}
-.container{font-size:3.6vw;color:#101010}
-.container-header{display:none}
-.container-content{width:100%}
-.container-main{width:100vw}
-.container-main .img-box{width:100vw;position:relative}
-.container-main .product-img{width:100vw}
-.container-main .img-box .origin-logo-box{position:absolute;top:4vw;left:4vw;max-width:16vw;text-align:center;z-index:9}
-.container-main .img-box .origin-logo-box img{max-width:16vw}
-.container-main .img-box .product-authorize{width:13.8vw;height:13.8vw;position:absolute;bottom:3.2vw;right:4vw}
-.product-desc a{color:#bc1724}
-.product-desc h3{background:-o-linear-gradient(left,#101010,#404040);background:-webkit-gradient(linear,left top,right top,from(#101010),to(#404040));background:linear-gradient(to right,#101010,#404040);color:#fefefe;padding:4vw;font-size:4.4vw}
-.product-desc .pink-box{padding:3.2vw 4vw;background:rgb(251,241,242);color:#bc1724;line-height:8vw}
-.product-desc .default-box{width:92.3vw;margin:0 auto;padding:3.2vw 0;border-bottom:0.4vw solid #eee;line-height:8vw}
-.product-desc .statement a{display:block;text-align: right}
-.product-desc .statement a .icon-wenhao{font-weight: bold;margin-left: 5px;}
-.product-desc p{padding:3.2vw 4vw;line-height:6vw}
-.product-desc .sn-number{padding:3.2vw 0;background:#f5f5f5}
-.product-desc .sn-number .item-row{background:rgb(251,241,242);padding:3.2vw 4vw}
-.product-params{padding:3.2vw 4vw}
-.product-params .title{padding:4vw 0;border-bottom:0.4vw solid #eee;font-size:4vw;font-weight:bold}
-.product-params .params{margin-top:3vw;border-spacing:0 4vw}
-.product-params .params tr{line-height:6.6vw}
-.product-params .footer{display:none}
-.product-params .params.mobile td{vertical-align: top}
-.footer{display:none}
-.footer-mobile{padding:8vw 0 4vw;line-height:7vw;text-align:center;background:#f5f5f5}
-.footer-mobile p{color:#b2b2b2;font-size:2.4vw}
-.footer-mobile a{color:#f52e3e;font-size:3vw;font-weight:bold}
-.product-params .pc-params.pc{display:none}
-.statementModel{position:fixed;top:0;left:0;z-index:999;width:100%;height:100vh;background:rgba(0,0,0,.4)}
-.statementModel .model{position:fixed;left:50%;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);-moz-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);width:86vw;height:128vw;border-radius:4px;background:#fff}
-.statementModel .title{padding:4vw 5vw;background:#f1f1f1;font-size:4.6vw;text-align:center}
-.statementModel .close{position:absolute;right:0;top:-10vw;display:block;width:8.2vw;height:8.2vw;background:url(/img/quality/mb-close.png) no-repeat center;background-size:8.2vw;cursor:pointer}
-.statementModel .content{padding:4vw;height:100vw;overflow-y:scroll;line-height: 1.8;text-align: justify;text-indent: 2em;}
-.float-zplm{position:fixed;z-index:99;bottom:30vw;right:3.4vw;width:15.7vw}
-.float-zplm img{width:100%}
-.close{position:absolute;display:block;width:7.2vw;height:7.2vw;background:url(/img/quality/mb-close.png) no-repeat center;cursor:pointer;z-index:999;background-size:7.2vw;right:0;top:-11.5vw}
-.container-main .sq-book{position:absolute;width:27.2vw;height:20.6vw;bottom:4.1vw;left:4vw;z-index:10;cursor: pointer}
-.sq-book-modal{width:100%;height:100vh;position:fixed;z-index:997;top:0;left:0;background:rgba(0,0,0,.7)}
-.sq-book-img{z-index:998;display:block;width:92vw;/*height:69vw;*/position:fixed;top:41.2vw;left:0;right:0;margin:0 auto;-webkit-box-shadow:0 10px 28px rgba(255,199,30,.26);box-shadow:0 10px 28px rgba(255,199,30,.26)}
-.sq-book-img img{width:100%}
-.not-found{width:100vw;padding-top: 40vw;text-align: center}
-.not-found img{width: 30vw}
-.not-found p{font-size: 4vw;margin-top: 6vw;color: #a8a8a8}
-.qrCodeImage{position: fixed;z-index: 99;padding: 2vw; bottom: 30vw;right: 1vw; width: 30vw; background: #fff;box-shadow: -2px 2px 4px rgba(0,0,0,.05);border-radius: 4px; }
-.qrCodeImage img{ width: 100%;  display: block;}
-.qrCodeImage .foot-text{text-align: center;font-size: 3vw;line-height: 1.4}
-.qrCodeImage .closeHandle{ display: block;font-size: 6vw;position: absolute;left: 0;top: -2vw; color: #666;cursor: pointer}
-
-}.myZoomIn{-webkit-animation:zoomIn 1s ease;animation:zoomIn 1s ease}
-.myZoomOut{-webkit-animation:zoomOut 1s ease;animation:zoomOut 1s ease}
-@-webkit-keyframes zoomIn{0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}
-50%{opacity:1}
-}@keyframes zoomIn{0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}
-50%{opacity:1}
-}@-webkit-keyframes zoomOut{0%{opacity:1}
-50%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}
-to{opacity:0}
-}@keyframes zoomOut{0%{opacity:1}
-50%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}
-to{opacity:0}
-}
-
-@font-face {font-family: "iconfont";
-  src: url('//at.alicdn.com/t/font_2466631_xct76hehlhc.eot?t=1617677320008'); /* IE9 */
-  src: url('//at.alicdn.com/t/font_2466631_xct76hehlhc.eot?t=1617677320008#iefix') format('embedded-opentype'), /* IE6-IE8 */
-  url('data:application/x-font-woff2;charset=utf-8;base64,d09GMgABAAAAAANIAAsAAAAABuwAAAL6AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHEIGVgCCcAqBeIIBATYCJAMICwYABCAFhG0HMBsnBhEVlClkXyTYnD24tgJVfeZWhGDmcRfFUCmL2UvWCFQafBMPfGvpn905gqC6S0qk+iILBBJI1SGB0DGmRA6NuKHL/dz8F0hxvMbmQL70qQly1JgC8ViccPc/pwUX4fveVZiQ7PPICuh+wpd3uZKDjY2ZkFNmc6RImHbGHmq9BsCYBfY/h0ubXmDzA+Uy17KoF2C8NcAx1x3ZHcgB+C3Da12Kh7yfgKIeY4RpvkgGyYvIsICwadhvIvmCUxT1SF6QbZgbhQtI+eRk8obz0e+H/8aGPIlMiuQs2ujtIJN+F2hMeqBlqEgE1nJ66ItIMQaRsKzRuECaBMdIFd1gNIhjZQZ+g1ZLqoWj/vOELJJeBg1gPhOLsx81PQER2hdh56QLiG2wTU+9W/buMnp/nv5e+fFm/PladjpHY/rT8FXLfy7RsP48+ba8f3rlhbE2t+NN6fqxbDrsN+8OdOu84Q2Q0v3bW2t/6PnDgHRSHk5yOicne0BwOuDkPS1kFdZ3wklZW2emXu+RzaDeqN5rzGw2toxCAHgvCg3oDbhGo4Kf1awXWSqNTt+/3aTvFE/+mjeVnrRa/a9BUZMevf2tOT6wzY7upZ4fvoC++CxkEmidIrHzd/+N4WPS2VXyuPOlCL5Nr7nI3joiw8zkb8oU+LmsgWXR4xBJ8pRMbEosytklAN2waEGs7X5MlXa9iT7IF1g6JHKakMobgozYMZBR0gdZeaaJUDRaZXFJB5YXYgGj3CEI6l4hUdUPqbp3ZMT+QEa3K2TVQx6KVoSONUuGBU+byrgU3MDqCN6aYsU0osWZfXS24ZLznIgwRk49D1i6WY5UMEZeYkK6c2wRBYopgjI6DMOQIGHycS26K5KUDEM1fZO+piijmYqhJYE2wMoR8KyRmJLVhVb5+T7k2AotcUdJl3oMsZTXObDozAHIijAeVPIoj6R2HDYhFKAwEgFlpEchDRKQNPfyoTWhcyf4EyUGrqSGCvXtxdHfrYEiIksC7ZbKbsfYXVImAwAA') format('woff2'),
-  url('//at.alicdn.com/t/font_2466631_xct76hehlhc.woff?t=1617677320008') format('woff'),
-  url('//at.alicdn.com/t/font_2466631_xct76hehlhc.ttf?t=1617677320008') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+ */
-  url('//at.alicdn.com/t/font_2466631_xct76hehlhc.svg?t=1617677320008#iconfont') format('svg'); /* iOS 4.1- */
-}
-
-.iconfont {
-  font-family: "iconfont" !important;
-  font-size: 16px;
-  font-style: normal;
-  -webkit-font-smoothing: antialiased;
-  -moz-osx-font-smoothing: grayscale;
-}
-
-.icon-wenhao:before {
-  content: "\e71d";
-}
-

+ 14 - 13
src/main/resources/static/js/activity/attestation.js

@@ -9,6 +9,13 @@ new Vue({
         ],
         //认证通合作伙伴
         suppileData: [
+            {
+                logo: '/img/activity/attestation/9.png',
+                name: 'Ross',
+                entryRoute: '/12/ross',
+                secondRoute: '',
+                redirect: ''
+            },
             {
                 logo: '/img/activity/attestation/1.jpg',
                 name: '上海品辉医疗科技有限公司',
@@ -28,16 +35,16 @@ new Vue({
                 secondRoute: '',
                 redirect: ''
             },
+        ],
+        // 认证通快捷入口
+        firstEntryList: [
             {
                 logo: '/img/activity/attestation/9.png',
-                name: 'Ross',
+                name: 'ROS\'S机构认证',
                 entryRoute: '/12/ross',
                 secondRoute: '',
                 redirect: ''
             },
-        ],
-        // 认证通快捷入口
-        firstEntryList: [
             {
                 logo: '/img/activity/attestation/shuishu.jpg',
                 name: '水素水设备认证',
@@ -51,17 +58,10 @@ new Vue({
                 secondRoute: '',
                 redirect: ''
             },
-            {
-                logo: '/img/activity/attestation/9.png',
-                name: 'ROS\'S机构认证',
-                entryRoute: '/12/ross',
-                secondRoute: '',
-                redirect: ''
-            },
         ]
     },
     mounted() {
-        this.initSwiper1()
+        // this.initSwiper1()
         this.initSwiper2()
     },
     methods: {
@@ -108,8 +108,9 @@ new Vue({
                 this.popupVisiable = true;
                 return false
             }
+            var zplmDomain = $('#zplmDomain').val()
             // 将要跳转的链接
-            var baseUrl = 'https://zp.caimei365.com' + data.entryRoute + data.secondRoute
+            var baseUrl = zplmDomain + data.entryRoute + data.secondRoute
             window.open(baseUrl, '_blank')
         }
     }

+ 25 - 24
src/main/resources/static/js/article/common.js

@@ -10,20 +10,20 @@ var articleSide = new Vue({
         adList: [],
     },
     methods: {
-        getLabels: function(){
-            var _self = this;
-            $.getJSON("/article/labels", function (r) {
-                if (r.code === 0 && r.data) {
-                    _self.labelList = r.data;
-                    _self.labelList.map(function(item){
-                        if (_self.labelId === item.id) {
-                            _self.labelTxt = item.name;
-                            $("#labelTxt").text(_self.labelTxt);
-                        }
-                    })
-                }
-            });
-        },
+        // getLabels: function(){
+        //     var _self = this;
+        //     $.getJSON("/article/labels", function (r) {
+        //         if (r.code === 0 && r.data) {
+        //             _self.labelList = r.data;
+        //             _self.labelList.map(function(item){
+        //                 if (_self.labelId === item.id) {
+        //                     _self.labelTxt = item.name;
+        //                     $("#labelTxt").text(_self.labelTxt);
+        //                 }
+        //             })
+        //         }
+        //     });
+        // },
         getRecommend: function(typeId, pageNum){
             var _self = this;
             $.getJSON("/article/recommend",{
@@ -35,15 +35,16 @@ var articleSide = new Vue({
                 }
             });
         },
-        getAds: function(){
-            var _self = this;
-            $.getJSON("/article/ads", function (r) {
-                if (r.code === 0 && r.data) {
-                    _self.adList = r.data;
-                }
-            });
-        },
+        // getAds: function(){
+        //     var _self = this;
+        //     $.getJSON("/article/ads", function (r) {
+        //         if (r.code === 0 && r.data) {
+        //             _self.adList = r.data;
+        //         }
+        //     });
+        // },
         clickAD: function(id, link){
+            debugger;
             $.getJSON("/article/ad/click", {id: id}, function (r) {
                 window.open(link);
             });
@@ -53,9 +54,9 @@ var articleSide = new Vue({
         var _self = this;
         this.typeId = $("#typeId").val()*1;
         this.labelId = $("#labelId").val()*1;
-        this.getLabels();
+        // this.getLabels();
         if (isPC) {
-            this.getAds();
+            // this.getAds();
             this.getRecommend(this.typeId, 1);
             //换一批15秒请求一次
             setInterval(function(){

+ 13 - 13
src/main/resources/static/js/article/detail.js

@@ -25,25 +25,25 @@ var articleRelated = new Vue({
         related: {}
     },
     methods: {
-        getRelatedList: function () {
-            var _self = this;
-            if(this.infoId ===0){return;}
-            $.getJSON("/article/related",{
-                id: this.infoId,
-                labels: this.articleLabels
-            }).done(function (r) {
-                if (r.code === 0 && r.data) {
-                    _self.related = r.data;
-                }
-            });
-        },
+        // getRelatedList: function () {
+        //     var _self = this;
+        //     if(this.infoId ===0){return;}
+        //     $.getJSON("/article/related",{
+        //         id: this.infoId,
+        //         labels: this.articleLabels
+        //     }).done(function (r) {
+        //         if (r.code === 0 && r.data) {
+        //             _self.related = r.data;
+        //         }
+        //     });
+        // },
 
     },
     created: function () {
         this.infoId = $("#articleId").val() ? $("#articleId").val()*1 : 0;
         this.articleLabels = $("#articleLabels").val()?$("#articleLabels").val():"";
         // 获取相关阅读
-        this.getRelatedList();
+        // this.getRelatedList();
     },
     mounted: function () {
         var _self = this;

+ 2 - 1
src/main/resources/static/js/product/alliance-page.js

@@ -100,9 +100,10 @@ var zplm = new Vue({
         // 获取授权信息
         fetchProductAuthInfo: function fetchProductAuthInfo() {
             var that = this;
+            var zplmServer = $('#zplmServer').val()
             var data = {productId:that.productId}
             $.ajax({
-                url: 'https://zplma.caimei365.com/wx/auth/product/details',
+                url: zplmServer + '/wx/auth/product/details',
                 data: data,
                 xhrFields: {//此处为跨域后台保持session一致,切勿删除!!!
                     withCredentials: true

+ 0 - 131
src/main/resources/static/js/product/qualityauthorize.js

@@ -1,131 +0,0 @@
-/**
- *Created by ZHJY on 2021/03/12.
- */
-var qualityAuthorize = new Vue({
-    el:"#qualityAuthorize",
-    data: {
-        //是否显示声明对话框
-        showStatement:false,
-        //是否为手机屏幕
-        isPC:window.isPC,
-        //产品id
-        productId:'5',
-        //产品参数对象
-        parameters:null,
-        //声明内容
-        statementContent:'',
-        //控制授权证书是否弹出
-        isShowSqBookModal:false,
-        sqBookModal:'',
-        cmContent:'',
-        isCmComtent:false,
-        message:'',
-        isLoading:false,
-        showQrcodeImage:true
-    },
-    filters:{
-        snCode:function (code) {
-            return code.replace(/^(\w{2})\w+(\w{4})$/,"$1******$2");
-        }
-    },
-    methods: {
-        //弹窗声明框
-        showStatementModel:function(){
-            this.showStatement = true
-        },
-        //关闭声明框
-        closeStatementModel:function(){
-            this.showStatement = false
-        },
-        //获取商品参数对象
-        initParams:function(){
-           var _that = this;
-            var NODE_ENV_BASE_URL = $("#coreServer").val();
-            var data = {productId:_that.productId}
-            $.ajax({
-                url: NODE_ENV_BASE_URL + '/wx/auth/product/details',
-                data: data,
-                xhrFields: {//此处为跨域后台保持session一致,切勿删除!!!
-                    withCredentials: true
-                },
-                type: 'GET',
-                dataType: "json",
-                async: false,
-                // contentType: contentType,
-                contentType: 'application/json;charset=UTF-8',
-            }).then(res =>{
-                if(res.code === 0){
-                    _that.parameters = res.data;
-                    console.log(_that.parameters)
-                    _that.isLoading = true;
-                }else{
-                    _that.message = res.msg;
-                    _that.isLoading = true;
-                }
-            })
-           // ProductApi.GetAuthProductDeatil({productId:_that.productId},function(res){
-           //      if(res.code === 0){
-           //          _that.parameters = res.data;
-           //          console.log(_that.parameters)
-           //          _that.isLoading = true;
-           //      }else{
-           //          _that.message = res.msg;
-           //          _that.isLoading = true;
-           //      }
-           //      // else{
-           //      //     //如果该产品不存在,跳转到404页面
-           //      //     window.location.href = '/404.html'
-           //      // }
-           // });
-        },
-        // 代理声明弹出框
-        openStatementDialog:function(flag){
-            if(flag === 1){
-            //代理声明
-                this.isCmComtent = false;
-                this.statementContent = this.parameters.statementContent
-            }else{
-            //采美声明
-                this.isCmComtent = true;
-                this.cmContent = `
-                <p>目前,在市面上经常发现不少伪劣医疗美容产品/仪器,让众多的消费者无法辨别产品/仪器的真假,并且给品牌方及品牌代理商造成不少困扰</p>
-                <p>为了提高消费者对产品/仪器的可信度。由采美信息技术有限公司发起并提供技术支持,且得到各品牌与代理商的认可及授权后,共同打造正品
-                联盟平台。将产品/仪器的品牌授牌信息纳入到正品联盟平台。消费者可通过授权牌上二维码扫码得知该产品/仪器的品牌授权信息。通过这些信
-                息即可得知产品/仪器的真假,是否为品牌以及品牌代理商授权过的正品,从而解决消费者与品牌/品牌代理商的困扰。</p>
-                `;
-            }
-            this.showStatement = true;
-        },
-        //授权证书弹出
-        showSqBookModal:function(){
-            this.isShowSqBookModal = true
-        },
-        //授权证书影藏
-        hideSqBookModal:function(){
-           this.isShowSqBookModal = false;
-        },
-        //关闭微信二维码
-        handleColseQrCodeImage: function(){
-            this.showQrcodeImage = false
-        }
-    },
-    // created:function() {
-    //     var _that = this;
-    //     Vue.nextTick(function () {
-    //         _that.initParams()
-    //     })
-    // }
-    mounted:function () {
-        setBaseCookie("weChatAutoLogin", 2);
-        this.sqBookModal = $('#sq-book-modal');
-        console.log(1);
-        //根据地址获取产品id
-        var _that = this;
-        var pathname = window.location.pathname;
-        this.productId = pathname.split('-')[1].split('.')[0];
-        this.initParams();
-        setTimeout(function () {
-            _that.isShowSqBookModal = true;
-        }, 500);
-    }
-});

+ 0 - 81
src/main/resources/templates/activity/approveIframe.html

@@ -1,81 +0,0 @@
-<!DOCTYPE html>
-<html lang="zh-CN" xmlns:th="https://www.thymeleaf.org" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-      xsi:schemaLocation="https://www.thymeleaf.org ">
-<head>
-    <meta charset="UTF-8"/>
-    <meta http-equiv="X-UA-Compatible" content="IE=edge"/>
-    <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
-    <title>供应商信息</title>
-    <style>
-        html {
-            width: 100%;
-            height: 100%;
-        }
-
-        body {
-            width: 100%;
-            height: 100%;
-            margin: 0;
-            background: linear-gradient(45deg, #f5f6fa, #dcdde1, #f5f6fa);
-        }
-
-        .iframe {
-            margin: 0 auto;
-            background: #fff;
-        }
-
-        @media screen and (min-width: 768px) {
-            body {
-                display: flex;
-                justify-content: center;
-                align-items: center;
-            }
-
-            .iframe iframe {
-                width: 375px;
-                height: 800px;
-            }
-        }
-
-        @media screen and (max-width: 768px) {
-            .iframe {
-                width: 100%;
-                height: 100%;
-            }
-
-            .iframe iframe {
-                width: 100%;
-                height: 100%;
-            }
-        }
-
-    </style>
-</head>
-<body>
-<input type="hidden" th:value="${zplmDomain}" id="zplmDomain">
-<div class="iframe" id="iframe">
-    <iframe :src="resultSrc" frameborder="0"></iframe>
-</div>
-
-<script src="/lib/vue2.6.12.min.js"></script>
-<script>
-    new Vue({
-        data: {
-            appId: ''
-        },
-        computed: {
-            resultSrc: function () {
-                var zplmDomain = document.querySelector('#zplmDomain').value;
-                return zplmDomain + '/#/pages/entry/auth?appId=' + this.appId;
-                // return `http://localhost:8081/#/pages/entry/auth?appId=${this.appId}`
-            }
-        },
-        created: function () {
-            this.appId = window.localStorage.getItem('approveAppId');
-            var title = window.localStorage.getItem('approveIframeName');
-            window.document.title = title;
-        }
-    }).$mount('#iframe')
-</script>
-</body>
-</html>

+ 12 - 12
src/main/resources/templates/activity/attestation.html

@@ -27,19 +27,19 @@
                 <div class="title">
                     <h1>认证通快捷入口</h1>
                 </div>
-                <div class="swiper-container section_content mobile" id="mySwiper1">
-                    <div class="swiper-wrapper">
-                        <div class="section_li swiper-slide"
-                             :class="'section_li_' + index"
-                             v-for="(data , index) in firstEntryList"
-                             @click="handleClick(data)">
-                            <img class="logo" :src="data.logo">
-                            <div class="name" v-text="data.name"></div>
-                        </div>
-                    </div>
-                </div>
+<!--                <div class="swiper-container section_content mobile" id="mySwiper1">-->
+<!--                    <div class="swiper-wrapper">-->
+<!--                        <div class="section_li swiper-slide"-->
+<!--                             :class="'section_li_' + index"-->
+<!--                             v-for="(data , index) in firstEntryList"-->
+<!--                             @click="handleClick(data)">-->
+<!--                            <img class="logo" :src="data.logo">-->
+<!--                            <div class="name" v-text="data.name"></div>-->
+<!--                        </div>-->
+<!--                    </div>-->
+<!--                </div>-->
                 <div class="section_content clear pc">
-                    <div class="section_li" v-for="(data , index) in firstEntryList" @click="handleClick(data)">
+                    <div class="section_li" :class="'section_li_' + index" v-for="(data , index) in firstEntryList" @click="handleClick(data)">
                         <img class="logo" :src="data.logo">
                         <div class="name" v-text="data.name"></div>
                     </div>

+ 8 - 3
src/main/resources/templates/article/components/article-sidebar.html

@@ -1,3 +1,4 @@
+<html xmlns:th="http://www.w3.org/1999/xhtml">
 <div class="other" id="articleSide" v-cloak>
     <div id="mHotWord">
         <div class="tags clearfix">
@@ -5,7 +6,8 @@
                 热搜词
             </p>
             <div class="tag">
-                <a v-for="label in labelList"  :href="'/info/label-' + label.id + '-1.html'" :style="'opacity:'+label.sort" v-text="label.name"></a>
+<!--                    <a v-for="label in labelList"  :href="'/info/label-' + label.id + '-1.html'" :style="'opacity:'+label.sort" v-text="label.name"></a>-->
+                <a th:each="label : ${labels}" th:href="'/info/label-' + ${label.id} + '-1.html'" th:text="${label.name}"></a>
             </div>
         </div>
         <a href="javascript:void(0);" class="close"></a>
@@ -32,8 +34,11 @@
         </div>
     </div>
     <div v-if="isPC" class="tui">
-        <a v-for="ad in adList" href="javascript:void(0);" class="tui-img" @click="clickAD(ad.id,ad.link)">
-            <img :src="ad.image" alt="ad.title"/>
+<!--        <a v-for="ad in adList" href="javascript:void(0);" class="tui-img" @click="clickAD(ad.id,ad.link)">-->
+<!--            <img :src="ad.image" alt="ad.title"/>-->
+<!--        </a>-->
+        <a th:each="ad : ${ads}" class="tui-img" th:href="${ad.link}" @click="clickAD(ad.id,ad.link)">
+            <img th:src="${ad.image}" th:alt="${ad.title}"></img>
         </a>
     </div>
 </div>

+ 10 - 10
src/main/resources/templates/article/detail.html

@@ -51,23 +51,23 @@
         <!--相关阅读-->
         <div class="new-list dataRousce" id="articleRelated">
             <p class="classify biaoqian">相关阅读</p>
-            <div class="row" v-for="item in related.list">
+            <div class="row" th:each="item : ${articles}">
                 <div class="new-img">
-                    <a :href="'/info/detail-'+item.id+'-1.html'" target="_blank">
-                        <img :src="item.image"/>
+                    <a th:href="'/info/detail-'+${item.id}+'-1.html'" target="_blank">
+                        <img th:src="${item.image}"/>
                     </a>
                 </div>
                 <div class="new-blurb">
-                    <a :href="'/info/detail-'+item.id+'-1.html'" target="_blank">
-                        <p class="title" v-html="item.title"></p>
+                    <a th:href="'/info/detail-'+${item.id}+'-1.html'" target="_blank">
+                        <p class="title" th:utext="${item.title}"></p>
                     </a>
                     <p class="xinxi">
-                        <em v-if="!isPC" class="pv icon mIcon" v-text="item.pv"></em>
-                        <em class="write icon mIcon" v-text="item.publisher"></em>
-                        <em  v-if="item.publishDate" class="time icon mIcon" v-text="item.publishDate.substr(0,10)"></em>
+                        <em v-if="!isPC" class="pv icon mIcon" th:utext="${item.pv}"></em>
+                        <em class="write icon mIcon" th:text="${item.publisher}"></em>
+                        <em th:if="${item.publishDate}" class="time icon mIcon" th:text="${item.publishDate}"></em>
                     </p>
-                    <p class="introduction" v-html="item.intro"></p>
-                    <p v-if="isPC" class="P_img"><em class="pv icon mIcon" v-text="item.pv"></em></p>
+                    <p class="introduction" th:utext="${item.intro}"></p>
+                    <p v-if="isPC" class="P_img"><em class="pv icon mIcon" th:text="${item.pv}"></em></p>
                 </div>
             </div>
             <div id="scrollTop">

+ 3 - 3
src/main/resources/templates/pay/caimei-paylist.html

@@ -87,13 +87,13 @@
                         待付金额:<span class="red">¥{{ paidAmount | NumFormat }}</span>
                     </div>
                     <div class="content-viw">
-                        开户行:<span>广发银行(深圳科苑支行)</span>
+                        开户行:<span>中国银行深圳竹子林支行</span>
                     </div>
                     <div class="content-viw">
-                        户名:<span>周仁声</span>
+                        户名:<span>周倩如</span>
                     </div>
                     <div class="content-viw">
-                        银行卡号:<span>6214 6202 2800 0415 461</span>
+                        银行卡号:<span>6217 8520 0001 3869 139</span>
                     </div>
                     <div class="content-viw">
                         订单标识:<span v-text="orderIdentificationId"></span><span class="copy" @click="copyOrderBtnSubmitFn">复制</span>

+ 3 - 3
src/main/resources/templates/pay/caimei-payunder.html

@@ -29,13 +29,13 @@
             <div class="pay-bank">
                 <div class="pay-bank-content">
                     <div class="content-viw">
-                        开户行:<span>广发银行(深圳科苑支行)</span>
+                        开户行:<span>中国银行深圳竹子林支行</span>
                     </div>
                     <div class="content-viw">
-                        户名:<span>周仁声</span>
+                        户名:<span>周倩如</span>
                     </div>
                     <div class="content-viw">
-                        银行卡号:<span>6214 6202 2800 0415 461</span>
+                        银行卡号:<span>6217 8520 0001 3869 139</span>
                     </div>
                     <div class="content-viw">
                         订单标识:<span v-text="orderIdentificationId"></span><span class="copy" @click="copyOrderBtnSubmitFn">复制</span>

+ 3 - 3
src/main/resources/templates/product/alliance-page.html

@@ -10,6 +10,7 @@
 		<link th:href="@{/css/product/alliance-page.css(v=${version})}" rel="stylesheet" type="text/css">
 	</head>
 	<body>
+		<input type="hidden" th:value="${zplmServer}" id="zplmServer">
 		<div id="zplm" v-cloak v-loading="isRequest">
 			<template v-if="!isRequest && !errorMessage">
 				<!-- 顶部 -->
@@ -90,10 +91,9 @@
 								:class="!isPc && index % 2 ? 'animate__fadeInLeftBig' : 'animate__fadeInRightBig'"
 								v-for="(param , index) in productAuthInfo.paramList"
 								:key="index"
-								:style="[noWarp]"
 							>
-								<div class="col" v-text="param.name"></div>
-								<div class="col" v-text="param.content"></div>
+								<div class="col" v-text="param.paramName"></div>
+								<div class="col" v-text="param.paramContent"></div>
 							</div>
 						</div>
 					</div>

+ 0 - 143
src/main/resources/templates/product/qualityauthorize.html

@@ -1,143 +0,0 @@
-<!DOCTYPE html>
-<html lang="zh-CN" xmlns:th="https://www.thymeleaf.org" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-      xsi:schemaLocation="https://www.thymeleaf.org ">
-<head>
-    <title>设备认证</title>
-    <template th:replace="components/head-link"></template>
-    <link th:href="@{/css/product/qualityauthorize.css(v=${version})}" rel="stylesheet" type="text/css">
-    <template th:replace="components/analysis"></template>
-</head>
-<body>
-<input type="hidden" th:value="${coreServer}" id="coreServer">
-<input type="hidden" th:value="${agent}" id="userAgent">
-<div class="container" id="qualityAuthorize">
-    <!-- 顶部logo区域 -->
-    <div class="container-header clear">
-        <div class="header-top">
-            <div class="inner">
-                <!-- <div class="logo"><img src="/img/quality/icon-logo.png" alt=""></div> -->
-                <div class="logo">设备认证</div>
-            </div>
-        </div>
-    </div>
-    <!-- 顶部logo区域end-->
-    <template v-if="parameters">
-        <!-- 主体内容区域 -->
-        <div class="container-content">
-            <div class="container-main fl-clear">
-                <!-- 图片区域 -->
-                <div class="img-box">
-                    <img class="product-img" :src="isPC?parameters.pcImage:parameters.appletsImage">
-                    <div class="origin-logo-box"><img class="product-brand" :src="parameters.authLogo"></div>
-                    <img class="product-authorize" src="/img/quality/pro-authorization.png">
-                    <template v-if="parameters.appletsCertificateImage">
-                        <img class="sq-book" @click="showSqBookModal" v-show="!isShowSqBookModal"
-                             :src="isPC?parameters.appletsCertificateImage:parameters.appletsCertificateImage">
-                    </template>
-                </div>
-                <!-- 商品介绍区域 -->
-                <div class="product-desc">
-                    <!-- 商品介绍区域 -->
-                    <h3>{{parameters.productName}}</h3>
-                    <div class="pink-box">
-                        <div class="item-row"><span>品牌:{{parameters.brandName}}</span></div>
-                        <div class="fl-clear">
-                            <span class="fl-left">产地:{{parameters.productionPlace}}</span>
-                            <a class="fl-right" target="_blank" :href="parameters.securityLink"
-                               v-if="parameters.securityLink">官网认证>></a></div>
-                    </div>
-                    <!-- 代理声明区域-->
-                    <div class="default-box" v-if="parameters.shopType === 2">
-                        <div class="item-row"><span class="dls">代理商:</span><span>{{parameters.shopName}}</span></div>
-                        <div class="item-row statement">
-                            <!-- 弹窗 -->
-                            <a href="#" @click.prevent="openStatementDialog(1)" v-if="parameters.statementType === 1">代理声明>></a>
-                            <!-- 链接 -->
-                            <a :href="parameters.statementLink" target="_blank" v-if="parameters.statementType === 2">代理声明>></a>
-                            <!-- 图片 -->
-                            <a :href="parameters.statementImage" target="_blank" v-if="parameters.statementType === 3">代理声明>></a>
-                            <!-- 文件 -->
-                            <a :href="parameters.statementFile.url" target="_blank"
-                               v-if="parameters.statementType === 4"
-                               :download="parameters.statementFile.name">代理声明>></a>
-                        </div>
-                    </div>
-                    <p>该仪器由{{parameters.agentFlag !== 0 ? parameters.shopName :
-                        parameters.brandName}}授予{{parameters.authParty}}正品拥有</p>
-                    <div class="pink-box sn-number">
-                        <div class="item-row"><span>SN码:{{parameters.snCode | snCode}}</span></div>
-                    </div>
-                </div>
-            </div>
-            <div class="product-params">
-                <div class="title"><span>产品参数</span></div>
-                <!-- 手机端布局 -->
-                <table class="params mobile">
-                    <tbody>
-                    <tr v-for="(item , index) in parameters.paramList" :key="index">
-                        <td style="width: 80px;">{{item.name}}:</td>
-                        <td>{{item.content}}</td>
-                    </tr>
-                    </tbody>
-                </table>
-                <!-- 电脑端布局 -->
-                <ul class="pc-params pc fl-clear">
-                    <li class="fl-clear" v-for="(item,index) in parameters.paramList" :key="index">
-                        <div class="p-title">{{item.name}}:</div>
-                        <div class="p-content">{{item.content}}</div>
-                    </li>
-                </ul>
-            </div>
-        </div>
-        <!-- 底部声明 -->
-        <div class="footer">
-            <p><a href="#" @click.prevent="openStatementDialog">采美声明</a>&nbsp;|&nbsp;由采美信息技术提供技术支持</p>
-        </div>
-        <div class="footer-mobile">
-            <p><a href="#" @click.prevent="openStatementDialog">采美声明</a></p>
-            <p>— 由采美网提供技术支持 —</p>
-        </div>
-        <!--声明对话框-->
-        <div class="statementModel" v-show="showStatement" style="display: none">
-            <div class="model"><i class="close" @click="closeStatementModel"></i>
-                <!-- 标题 -->
-                <div class="title">{{isCmComtent?'采美声明':'代理声明'}}</div>
-                <!-- 内容 -->
-                <div class="content" v-if="!isCmComtent">{{statementContent}}</div>
-                <div class="content" v-html="cmContent" else></div>
-            </div>
-        </div>
-        <div class="float-zplm"><a target="_blank"
-                                   href="https://www-b.caimei365.com/topic-6.html?name=%E6%AD%A3%E5%93%81%E8%81%94%E7%9B%9F"><img
-                src="/img/quality/float-img.png"></a></div>
-
-        <!-- 微信二维码 -->
-        <div class="qrCodeImage" v-if="showQrcodeImage && parameters.qrCodeImage">
-            <span class="closeHandle" @click="handleColseQrCodeImage">&times;</span>
-            <img :src="parameters.qrCodeImage" alt="公众号"/>
-            <div class="foot-text">
-                <div v-if="!isPC">长按识别</div>
-                <div>关注公众号了解更多</div>
-            </div>
-        </div>
-        <!--授权图模态框-->
-        <div class="sq-book-modal" @click="hideSqBookModal" v-show="isShowSqBookModal" id="sq-book-modal"></div>
-        <transition enter-active-class="myZoomIn" leave-active-class="myZoomOut">
-            <div class="sq-book-img myZoomIn" v-show="isShowSqBookModal">
-                <i class="close" @click="hideSqBookModal"></i>
-                <img :src="isPC?parameters.appletsCertificateImage:parameters.appletsCertificateImage">
-            </div>
-        </transition>
-    </template>
-    <template v-else>
-        <div class="not-found" v-if="isLoading">
-            <img src="https://static.caimei365.com/www/not-found.png">
-            <p>该商品授权信息不存在!</p>
-        </div>
-    </template>
-</div><!-- 引入底部 -->
-<template th:replace="components/foot-link"></template>
-<script charset="utf-8" type="text/javascript"
-        th:src="@{/js/common/serviceapi/product.service.js(v=${version})}"></script>
-<script charset="utf-8" type="text/javascript" th:src="@{/js/product/qualityauthorize.js(v=${version})}"></script>
-</body>