Browse Source

init免费试用一个月

bd 3 years ago
parent
commit
b4100167bf
2 changed files with 156 additions and 101 deletions
  1. 51 35
      src/api/cygx/api.js
  2. 105 66
      src/views/cygx/raiReportDtl.vue

+ 51 - 35
src/api/cygx/api.js

@@ -1,38 +1,54 @@
-import {get,post} from './http'
+import { get, post } from "./http";
 
 /* 权益链接 */
 export const RaiApi = {
-    /* 获取详情 */
-    reportDtl: params => {
-      return get('/article/detail',params)
-    },
-    reportDtlTwo: params => {
-      return get('/tactics/detail',params)
-    },
-    /* 查看报告 */
-    lookReport: params => {
-      return get('/article/look/detail',params)
-    },
-    /* 收藏 ArticleId*/
-      collectRpt: params => {
-          return post('/article/collect',params,1)
-      },
-      /* 申请访谈 ArticleId*/
-      applyRpt: params => {
-          return post('/article/interview/apply',params,1)
-      },
-    /* 关注作者/取消关注作者 接口 DepartmentId*/
-      fllowDepartment: params => {
-          return post('/report/fllowDepartment',params,1)
-      },
-    /* 下载PDF打水印接口*/
-      articlePdfwatermark: params => {
-          return get('/article/pdfwatermark',params,'下载')
-      },
-    /* 页面复制监听*/
-    pageHistoryCopy: params => {
-          return post('/config/pageHistory',params,1)
-      },
-  
-  
-  }
+  /* 获取详情 */
+  reportDtl: (params) => {
+    return get("/article/detail", params);
+  },
+  reportDtlTwo: (params) => {
+    return get("/tactics/detail", params);
+  },
+  /* 查看报告 */
+  lookReport: (params) => {
+    return get("/article/look/detail", params);
+  },
+  /* 收藏 ArticleId*/
+  collectRpt: (params) => {
+    return post("/article/collect", params, 1);
+  },
+  /* 申请访谈 ArticleId*/
+  applyRpt: (params) => {
+    return post("/article/interview/apply", params, 1);
+  },
+  /* 关注作者/取消关注作者 接口 DepartmentId*/
+  fllowDepartment: (params) => {
+    return post("/report/fllowDepartment", params, 1);
+  },
+  /* 下载PDF打水印接口*/
+  articlePdfwatermark: (params) => {
+    return get("/article/pdfwatermark", params, "下载");
+  },
+  /* 页面复制监听*/
+  pageHistoryCopy: (params) => {
+    return post("/config/pageHistory", params, 1);
+  },
+};
+export const FreeButton = {
+  /*获取是否展示免费试用按钮接口*/
+  userIsShowFreeButton: (params) => {
+    return get("/user/isShow/freeButton", params);
+  },
+  /* 隐藏当天的按钮接口 */
+  userFreeButtonUpdate: (params) => {
+    return post("/user/freeButton/update", params);
+  },
+  /*分享的时候判断是不是弘则的手机号*/
+  userIsShowShare: (params) => {
+    return get("/user/isShow/share", params);
+  },
+  /*获取权限弹窗是否展示免费月卡接口*/
+  userIsShowAlert: (params) => {
+    return get("/user/isShow/alert", params);
+  },
+};

+ 105 - 66
src/views/cygx/raiReportDtl.vue

@@ -2,7 +2,7 @@
   <div class="container-cygx" v-show="haveData" :class="reportInfo.IsResearch ? 'no-cv' : ''">
     <canvas id="tutorial" ref="tutorial"></canvas>
     <div class="search" v-if="from_type == 'mpwechat'">
-      <div class="search-box" @click="btnSearch" >
+      <div class="search-box" @click="btnSearch">
         <Icon name="search" color="#8D8D8D" />
         <span>搜索您想要的{{ reportInfo.IsBelongSummary ? "纪要" : "产业资源包" }}</span>
       </div>
@@ -37,6 +37,10 @@
     <div class="btn-returntop">
       <img src="~@/assets/cygx/returntop.png" @click="scrolltop" style="width: 40px" />
     </div>
+    <div class="btn-freecharge" v-if="isShowFreeBtn && from_type == 'mpwechat'">
+      <img @click="toggle" class="image" src="https://hzchart.oss-cn-shanghai.aliyuncs.com/cygx/czbk/free_icon.png" />
+      <img @click="removeBton" class="remove-icon" src="https://hzchart.oss-cn-shanghai.aliyuncs.com/cygx/czbk/free_%20remove.png" />
+    </div>
     <!-- 底部悬浮固定 -->
     <div class="fixed_cont" v-if="from_type == 'mpwechat'">
       <div class="handle-item" @click="applyHandle" v-if="reportInfo.IsSummary == 1 && !reportInfo.IsResearch">
@@ -70,7 +74,7 @@
 <script setup>
 import { reactive, onMounted, toRefs, ref } from "vue";
 import { useRouter, useRoute } from "vue-router";
-import { RaiApi } from "@/api/cygx/api.js";
+import { RaiApi ,FreeButton } from "@/api/cygx/api.js";
 import { Icon, Dialog, Toast } from "vant";
 import dlg from "./dlg.vue";
 const router = useRouter();
@@ -96,6 +100,23 @@ const interviewApi = () => {
     }
   });
 };
+//跳转到免费送月卡页面
+const toggle = () => {
+  wx.miniProgram.navigateTo({
+    url: "/pageMy/freeTrial/freeTrial",
+  });
+};
+//隐藏当天的按钮
+const removeBton = async () => {
+  const res = await FreeButton.userFreeButtonUpdate();
+};
+const isShowFreeBtn = ref(false)
+const userIsShowFreeButton = async () => {
+  const res = await FreeButton.userIsShowFreeButton()
+  if(res.Ret ===200) {
+    isShowFreeBtn.value = res.Data.IsShow
+  }
+}
 const downloadFile = async () => {
   Toast.loading({
     message: "下载中...",
@@ -257,12 +278,12 @@ const getReport = (id, token, type) => {
           if (state.reportInfo.IsResearch || state.reportInfo.IsBelongSummary) {
             waterMark(res.Data.Mobile);
           }
-          $(document).on("click", "#report-content img", function(event) {
+          $(document).on("click", "#report-content img", function (event) {
             let imgArray = [];
             let src_tag = $(this).attr("src");
             let parent_tag = $(this).parent();
             if (src_tag && !parent_tag.attr("href")) {
-              $("#report-content img").each(function(index, el) {
+              $("#report-content img").each(function (index, el) {
                 let itemSrc = $(this).attr("src");
                 imgArray.push(itemSrc);
               });
@@ -281,12 +302,12 @@ const getReport = (id, token, type) => {
         if (res.Data.HasPermission === 1) {
           //有访问权限
           state.reportInfo = res.Data.Detail;
-          $(document).on("click", "#report-content img", function(event) {
+          $(document).on("click", "#report-content img", function (event) {
             let imgArray = [];
             let src_tag = $(this).attr("src");
             let parent_tag = $(this).parent();
             if (src_tag && !parent_tag.attr("href")) {
-              $("#report-content img").each(function(index, el) {
+              $("#report-content img").each(function (index, el) {
                 let itemSrc = $(this).attr("src");
                 imgArray.push(itemSrc);
               });
@@ -305,6 +326,7 @@ onMounted(() => {
     let access_token = route.query.token || "";
     localStorage.setItem("access_token", access_token);
     getReport(rerportId.value, access_token, from_type.value);
+    userIsShowFreeButton()
     if (from_type.value == "mpwechat") {
       document.addEventListener("copy", (e) => {
         copyMonitor();
@@ -317,15 +339,15 @@ const { reportInfo } = toRefs(state);
 
 <style lang="scss">
 .container-cygx {
-   @media screen and (min-width:790px) {
+  @media screen and (min-width: 790px) {
     width: 1200px;
-    margin:  0 auto;
+    margin: 0 auto;
   }
   padding: 54px 34px 34px 34px;
   position: relative;
   z-index: 5;
-  @media screen and (min-width:790px) {
-    padding: 25PX 17PX 17PX;
+  @media screen and (min-width: 790px) {
+    padding: 25px 17px 17px;
   }
   .z-index-content {
     position: relative;
@@ -340,9 +362,9 @@ const { reportInfo } = toRefs(state);
     left: 0;
     background: #fff;
     z-index: 9;
-    @media screen and (min-width:790px) {
-     padding: 10PX 10PX;
-     line-height: 35PX;
+    @media screen and (min-width: 790px) {
+      padding: 10px 10px;
+      line-height: 35px;
     }
     .search-box {
       display: flex;
@@ -354,12 +376,12 @@ const { reportInfo } = toRefs(state);
       background: #f6f6f6;
       color: #8d8d8d;
       font-size: 24px;
-      @media screen and (min-width:790px) {
-      padding-left: 10PX;
-      height: 25PX;
-      border-radius: 18PX;
-      font-size: 12PX;
-    }
+      @media screen and (min-width: 790px) {
+        padding-left: 10px;
+        height: 25px;
+        border-radius: 18px;
+        font-size: 12px;
+      }
     }
   }
   .content-top {
@@ -368,22 +390,22 @@ const { reportInfo } = toRefs(state);
       font-weight: bold;
       color: #4a4a4a;
       margin: 60px 0 20px;
-  @media screen and (min-width:790px) {
-       margin: 20PX 0 10PX;
-       font-size: 18PX;
-  }
+      @media screen and (min-width: 790px) {
+        margin: 20px 0 10px;
+        font-size: 18px;
+      }
     }
     .report-text {
       color: #999999;
       font-size: 28px;
-  @media screen and (min-width:790px) {   
-       font-size: 14PX;
-  }
+      @media screen and (min-width: 790px) {
+        font-size: 14px;
+      }
       .seller-list {
         margin: 20px 0;
- @media screen and (min-width:790px) {
-        margin: 10PX 0;
-  }
+        @media screen and (min-width: 790px) {
+          margin: 10px 0;
+        }
       }
       .report_desc {
         display: flex;
@@ -408,46 +430,46 @@ const { reportInfo } = toRefs(state);
           height: 44px;
           background: #2a65f5;
         }
-    @media screen and (min-width:790px) {
-        margin: 20PX 0 10PX;
-        padding-bottom: 20PX;
-        border-bottom: 1PX dashed #999;
-        position: relative;
-        line-height: 22PX;
-         &::before {
-          content: "";
-          position: absolute;
-          top: 0;
-          left: 0;
-          width: 4PX;
-          height: 22PX;
-          background: #2a65f5;
+        @media screen and (min-width: 790px) {
+          margin: 20px 0 10px;
+          padding-bottom: 20px;
+          border-bottom: 1px dashed #999;
+          position: relative;
+          line-height: 22px;
+          &::before {
+            content: "";
+            position: absolute;
+            top: 0;
+            left: 0;
+            width: 4px;
+            height: 22px;
+            background: #2a65f5;
+          }
         }
-  }
       }
     }
   }
   .report-link {
     font-size: 28px;
     line-height: 80px;
-      @media screen and (min-width:790px) {   
-      font-size: 14PX;
-     line-height: 40PX;
+    @media screen and (min-width: 790px) {
+      font-size: 14px;
+      line-height: 40px;
     }
   }
   .detail-report {
     padding-bottom: 130px;
-    @media screen and (min-width:790px) { 
-      padding-bottom: 65PX;
-      font-size: 14PX !important;
+    @media screen and (min-width: 790px) {
+      padding-bottom: 65px;
+      font-size: 14px !important;
     }
-    
+
     p,
     span {
       font-size: 28px !important;
-    @media screen and (min-width:790px) {
-      font-size: 14PX !important;
-    }
+      @media screen and (min-width: 790px) {
+        font-size: 14px !important;
+      }
     }
     img {
       width: 100% !important;
@@ -463,9 +485,9 @@ const { reportInfo } = toRefs(state);
     tr td,
     th {
       border: 1px solid #333;
-    @media screen and (min-width:790px) {
-      font-size: 1PX !important;
-    }
+      @media screen and (min-width: 790px) {
+        font-size: 1px !important;
+      }
     }
   }
   pre {
@@ -480,16 +502,33 @@ const { reportInfo } = toRefs(state);
   .btn-returntop {
     position: fixed;
     right: 40px;
-    bottom: 290px;
+    bottom: 220px;
     width: 88px;
     height: 88px;
     z-index: 10;
-  @media screen and (min-width:790px) {
-    right: 20PX;
-    bottom: 145PX;
-    width: 44PX;
-    height: 44PX;
+    @media screen and (min-width: 790px) {
+      right: 20px;
+      bottom: 145px;
+      width: 44px;
+      height: 44px;
+    }
   }
+  .btn-freecharge {
+    position: fixed;
+    right: 20px;
+    bottom: 300px;
+    z-index: 10;
+    .image {
+      width: 156px;
+      height: 156px;
+    }
+    .remove-icon {
+      width: 31px;
+      height: 31px;
+      position: absolute;
+      right: 0;
+      top: 0;
+    }
   }
   .fixed_cont {
     position: fixed;
@@ -563,9 +602,9 @@ const { reportInfo } = toRefs(state);
 .van-icon-search {
   font-size: 28px;
   margin-right: 10px;
-   @media screen and (min-width:790px) {
-    font-size: 14PX;
-    margin-right: 5PX;
+  @media screen and (min-width: 790px) {
+    font-size: 14px;
+    margin-right: 5px;
   }
 }
 </style>