Переглянути джерело

Merge branch 'develop_oycj' of Server_Service/17pdf_front_end into master

ouyangchengjun 2 роки тому
батько
коміт
3992d68da4

BIN
assets/images/faq/ic_search.png


+ 4 - 4
components/BuyTicket.vue

@@ -3,7 +3,7 @@
  * @Author: 欧阳承珺
  * @LastEditors: 欧阳承珺
  * @Date: 2022-11-01 14:10:22
- * @LastEditTime: 2022-11-08 16:57:28
+ * @LastEditTime: 2022-11-14 10:27:40
 -->
 <template>
   <div>
@@ -35,9 +35,9 @@
           </div>
         </div>
         <div v-else>
-          <no-ssr>
+          <client-only>
             <vue-qr :size="176" :text="qrcode"></vue-qr>
-          </no-ssr>
+          </client-only>
           <p class="text-[#666] text-18px leading-20px">扫一扫 即可支付</p>
         </div>
       </div>
@@ -92,7 +92,7 @@ export default {
       return item.productCode.split('.')[1]
     },
     getVipList() {
-      this.$axios.post('pricing/getPricingList',{client: 'web',language: 'zh'}).then((res)=> {
+      this.$axios.post('pricing/list',{client: 'web',language: 'zh'}).then((res)=> {
         if(res.code === 200) {
           this.list = res.result.pricingList.filter(item => item.mode !== 1)  // 加云的不展示
           this.choosedTicket = this.list[this.list.length - 1]

+ 2 - 2
components/BuyVip.vue

@@ -37,9 +37,9 @@
           </div>
         </div>
         <div v-else>
-          <no-ssr>
+          <client-only>
             <vue-qr :size="176" :text="qrcode"></vue-qr>
-          </no-ssr>
+          </client-only>
           <p class="text-[#666] text-18px leading-20px">扫一扫 即可支付</p>
         </div>
       </div>

+ 2 - 2
layouts/components/navbar2.vue

@@ -104,7 +104,7 @@
       class="top-menu-overlay fixed top-60px left-0 w-full h-full z-100 bg-[#00000033]"
     ></div>
 
-    <no-ssr>
+    <client-only>
       <el-dialog 
         :visible="dialogVisiable"
         :close-on-click-modal="false"
@@ -118,7 +118,7 @@
         <login v-show="interface === 'login'" ref="loginRef"  @register="showChange" @close="handlerCloseDialog"></login>
         <register v-show="interface === 'register'" ref="registerRef" @login="showChange" @close="handlerCloseDialog"></register>
       </el-dialog>
-    </no-ssr>
+    </client-only>
   </div>
 </template>
 

+ 2 - 2
middleware/auth.js

@@ -3,10 +3,10 @@
  * @Author: 欧阳承珺
  * @LastEditors: 欧阳承珺
  * @Date: 2022-11-07 17:12:06
- * @LastEditTime: 2022-11-07 17:16:40
+ * @LastEditTime: 2022-11-14 11:48:15
  */
 export default function ({redirect, store}) {
-  if (store.state.token === '' ) {
+  if (store?.state?.token === '' ) {
     return redirect('/');
   }
 }

+ 2 - 2
middleware/user.js

@@ -3,10 +3,10 @@
  * @Author: 欧阳承珺
  * @LastEditors: 欧阳承珺
  * @Date: 2022-11-08 09:15:06
- * @LastEditTime: 2022-11-08 09:42:08
+ * @LastEditTime: 2022-11-14 11:47:05
  */
 export default function({store, app: {$axios}}) {
-  if(store.state.token !== '') {
+  if(store?.state?.token !== '') {
     $axios.get('members/getMemberInfo').then((res)=> {
       if(res.code === 200) {
         store.commit('setUser',res.result)

+ 2 - 2
nuxt.config.js

@@ -3,12 +3,12 @@
  * @Author: 欧阳承珺
  * @LastEditors: 欧阳承珺
  * @Date: 2022-10-17 11:06:52
- * @LastEditTime: 2022-11-10 15:18:13
+ * @LastEditTime: 2022-11-14 10:35:27
  */
 export default {
   // Global page headers: https://go.nuxtjs.dev/config-head
   head: {
-    title: '17PDF',
+    title: '17PDF Reader 一起阅读 - 移动端PDF阅读器 + 免费在线PDF转档',
     htmlAttrs: {
       lang: 'en',
     },

+ 17 - 2
pages/converter.vue

@@ -3,15 +3,30 @@
  * @Author: 欧阳承珺
  * @LastEditors: 欧阳承珺
  * @Date: 2022-10-19 17:25:48
- * @LastEditTime: 2022-11-08 09:28:05
+ * @LastEditTime: 2022-11-14 11:37:27
 -->
 <script>
 import { mapState } from 'vuex'
 export default {
   middleware: 'user',
+  head() {
+    return {
+      title: 'PDF转换器免费在线转档',
+      meta: [
+        {
+        hid: 'description',
+        content: '17PDF Reader免费提供在线PDF格式转换文件转档服务,支持PDF转word,PDF转doc,PDF转PPT,PDF转png,PDF转html,PDF转epub,PDF转xls,psd转ai等。轻松拖曳,一键转档,批量转换,支持多种常用格式相互转档。先进的转换引擎,极速转换,精准度高达99.99%。',
+        },
+        {
+          name: 'keywords',
+          content: '格式转换,文件转档,pdf convert,converter, word to pdf'
+        }
+      ]
+    }
+  },
   computed: mapState([
     'userInfo'
-  ])
+  ]),
 }
 
 </script>

+ 484 - 0
pages/faq.vue

@@ -0,0 +1,484 @@
+<template>
+  <div class="m-0 p-0 bg-[#f2f2f2]">
+    <!-- 主页面 -->
+    <div v-show="!showSearch" class="q_and_a w-900px my-0 mx-auto">
+      <div class="banner_wrap w-full h-290px relative bg-[#ccc]">
+        <div class="search_bg"></div>
+        <div class="search w-710px h-40px  absolute bottom-30px left-[25%] ml-[-135px] rounded-20px opacity-50">
+          <input
+id="index_search" type="text" name="search" placeholder="大家都在问" class="w-full h-full text-center text-[#fff] text-[14px] absolute top-0 left-0 rounded-20px bg-[#000000] border-none outline-solid-none"
+            @focus="changeShowSearch">
+          <span class="w-15px h-14px absolute top-14px left-[50%] ml-[-60px]">
+            <img src="~/assets/images/faq/ic_search.png" class="absolute left-0 top-0 ">
+          </span>
+        </div>
+      </div>
+
+      <div class="pro_solve w-full">
+        <dl>
+          <dt>
+            <span></span>
+            <h3>格式转换</h3>
+          </dt>
+          <dd>
+            <h4 id="format_type"><span></span>支持哪些格式转换?</h4>
+            <p>支持PDF to Word、PPT、Excel、TXT、JPG/PNG无限次数转换。</p>
+          </dd>
+          <dd>
+            <h4 id="where_format"><span></span>从哪里可以找到转档后的文件?</h4>
+            <p>1. 在主页点击格式转换;</p>
+            <p>2. 点击右上角转换任务,即可看到转换中 / 转换成功 / 转换失败三种状态;</p>
+            <p>3. 滑动到转换成功,点击文件,即可直接进入到17PDF的 Converted文件夹。</p>
+          </dd>
+        </dl>
+
+        <dl>
+          <dt>
+            <span></span>
+            <h3>账号绑定</h3>
+          </dt>
+          <dd>
+            <h4 id="file_scanning"><span></span>QQ / 微信账号绑定手机号时,为什么会显示 “手机账号已绑定其他账户,请更换 绑定方式”?</h4>
+            <p>说明该手机号已注册并使用过,请更换号码重新绑定噢!</p>
+          </dd>
+        </dl>
+
+        <dl>
+          <dt>
+            <span></span>
+            <h3>文件扫描</h3>
+          </dt>
+          <dd>
+            <h4 id="files_scanning"><span></span>如何使用PDF扫描&amp;转档功能?</h4>
+            <p>
+              点击相机快速扫描文件<br>
+              点击分享和保存到PDF将扫描文件保存为PDF文件<br>
+              转档后可对文件进行编辑
+            </p>
+          </dd>
+        </dl>
+
+        <dl>
+          <dt>
+            <span></span>
+            <h3>文件注释</h3>
+          </dt>
+          <dd>
+            <h4 id="how_white"><span></span>如何使用手绘&amp;手写?</h4>
+            <p>
+              点击注释按钮可使用、退出该功能<br>
+              点击并长按图标调整颜色、笔刷大小和透明度
+            </p>
+          </dd>
+          <dd>
+            <h4 id="how_notes"><span></span>如何移除PDF文件注释?</h4>
+            <p>
+              点击选择需要移除的注释<br>
+              点击弹出对话框中 “清除” 选项去除注释
+            </p>
+          </dd>
+        </dl>
+
+        <dl>
+          <dt>
+            <span></span>
+            <h3>文件阅读</h3>
+          </dt>
+          <dd>
+            <h4 id="eye_model"><span></span>是否支持护眼模式</h4>
+            <p>目前有三种阅读模式:日间模式、夜间模式、柔和模式,满足用户在不同环境下看书的需求,有效缓解眼睛疲劳,保护视力。</p>
+          </dd>
+          <dd>
+            <h4 id="words_model"><span></span>如何使用纯文字模式(文字转语音TTS)?</h4>
+            <p>
+              打开PDF文档,点击右上角More按钮<br>
+              点击选择 TTS 即可转换文本模式为语音模式;<br>
+              该功能需要手机自带语音引擎才能使用,<br>
+              如无语音引擎需到外部下载第三方语音引擎即可使用。
+            </p>
+          </dd>
+        </dl>
+      </div>
+
+    </div>
+
+    <!--搜索页面-->
+    <div v-show="showSearch" class="search_wrap w-900px my-0 mx-auto">
+      <!-- 搜索框 -->
+      <div class="search_ipt">
+        <div class="search_txt w-[90%] h-40px my-0 mx-auto  ">
+          <input id="search" v-model="inputValue" type="search" placeholder="你想问啥?" @input="search">
+          <a
+id="return" href="javascript:;" class="float-right text-[#fff] text-[14px] leading-[40px] no-underline "
+            @click="changeShowSearch">取消</a>
+        </div>
+      </div>
+      <!-- 热点问题 -->
+      <dl v-show="showHot" class="hot w-[98%] bg-[#fff] my-0 mx-auto pt-12px px-0 pb-20px">
+        <dt class="w-full text-[#333] text-[14px]">
+          <span class="w-4px h-12px bg-[#ff4948] inline-block mr-10px ml-12px"></span>
+          热点问题
+        </dt>
+        <dd class="ml-26px text-[12px] leading-[26px] mt-7px">
+          <span class="h-4px w-4px bg-[#333] rounded-4px inline-block mr-6px"></span>
+          <a href="javascript:;" class="text-[#333] no-underline" @click="skip('#format_type',350)">支持哪些格式转换?</a>
+        </dd>
+        <dd class="ml-26px text-[12px] leading-[26px] mt-7px">
+          <span class="h-4px w-4px bg-[#333] rounded-4px inline-block mr-6px"></span>
+          <a href="javascript:;" class="text-[#333] no-underline" @click="skip('#where_format',450)">从哪里可以找到转档后的文件?</a>
+        </dd>
+      </dl>
+      <!-- 搜索展示区 -->
+      <div v-show="!showHot" class="search_list w-[98%] bg-[#fff] my-0 mx-auto py-12px">
+        <ul class="m-0 pl-26px">
+          <li class="m-0 p-0 text-[#333] text-[14px] leading-[40px] list-none"><a
+v-show="x0" href="javascript:;"
+              @click="skip( '#format_type' , 350)" v-html="questions[0]"></a>
+          </li>
+          <li class="m-0 p-0 text-[#333] text-[14px] leading-[40px] list-none"><a
+v-show="x1" href="javascript:;"
+              @click="skip( '#where_format' , 450)" v-html="questions[1]"></a>
+          </li>
+          <li class="m-0 p-0 text-[#333] text-[14px] leading-[40px] list-none"><a
+v-show="x2" href="javascript:;"
+              @click="skip( '#file_scanning' , 750)" v-html="questions[2]"></a>
+          </li>
+          <li class="m-0 p-0 text-[#333] text-[14px] leading-[40px] list-none"><a
+v-show="x3" href="javascript:;"
+              @click="skip( '#files_scanning' , 950)" v-html="questions[3]"></a>
+          </li>
+          <li class="m-0 p-0 text-[#333] text-[14px] leading-[40px] list-none"><a
+v-show="x4" href="javascript:;"
+              @click="skip( '#files_scanning' , 1200)" v-html="questions[4]"></a>
+          </li>
+          <li class="m-0 p-0 text-[#333] text-[14px] leading-[40px] list-none"><a
+v-show="x5" href="javascript:;"
+              @click="skip( '#files_scanning' , 1300)" v-html="questions[5]"></a>
+          </li>
+          <li class="m-0 p-0 text-[#333] text-[14px] leading-[40px] list-none"><a
+v-show="x6" href="javascript:;"
+              @click="skip ( '#files_scanning' , 1500)" v-html="questions[6]"></a>
+          </li>
+          <li class="m-0 p-0 text-[#333] text-[14px] leading-[40px] list-none"><a
+v-show="x7" href="javascript:;"
+              @click="skip( '#files_scanning' , 1650 )" v-html="questions[7]"></a>
+          </li>
+        </ul>
+      </div>
+    </div>
+  </div>
+
+
+</template>
+
+<script>
+import { ref } from 'vue';
+export default {
+  layout: "custom",
+  setup(props) {
+    // 控制搜索区展示
+    const showSearch = ref(false)
+    function changeShowSearch() {
+      showSearch.value = !showSearch.value
+    }
+    // 用户输入
+    const inputValue = ref("")
+    // 控制热点问题展示
+    const showHot = ref(true)
+    // 对应问题展示
+    const x0 = ref(false)
+    const x1 = ref(false)
+    const x2 = ref(false)
+    const x3 = ref(false)
+    const x4 = ref(false)
+    const x5 = ref(false)
+    const x6 = ref(false)
+    const x7 = ref(false)
+    // 搜索问题
+    const questions = [
+      "支持哪些格式转换?",
+      "从哪里可以找到转档后的文件?",
+      "QQ / 微信账号绑定手机号时,为什么会显示'手机账号已绑定其他账户,请更换绑定方式'?",
+      "如何使用PDF扫描;转档功能?",
+      "如何使用手绘&amp;手写?",
+      "如何移除PDF文件注释?",
+      "文件阅读是否支持护眼模式",
+      "如何使用纯文字模式(文字转语音TTS)?"]
+    // 搜索功能
+    function search() {
+      // 初始化
+      questions[0] = "支持哪些格式转换?"
+      questions[1] = "从哪里可以找到转档后的文件?"
+      questions[2] = "QQ / 微信账号绑定手机号时,为什么会显示'手机账号已绑定其他账户,请更换绑定方式'?"
+      questions[3] = "如何使用PDF扫描;转档功能?"
+      questions[4] = "如何使用手绘&amp;手写?"
+      questions[5] = "如何移除PDF文件注释?"
+      questions[6] = "文件阅读是否支持护眼模式"
+      questions[7] = "如何使用纯文字模式(文字转语音TTS)?"
+
+      // 控制热点问题展示
+      if (!inputValue.value == "") {
+        showHot.value = false
+        const lastStr=inputValue.value.slice(-1)
+        // 展示搜索问题
+        questions.forEach((item, index) => {
+          if (item.includes(lastStr)) {
+            show(index)
+          } else {
+            unshow(index)
+          }
+        })
+      } else {
+        showHot.value = true
+      }
+      // 展示问题
+      function show(index) {
+        switch (index) {
+          case 0:
+            x0.value = true;
+            questions[0] = brightenKeyword(questions[0], inputValue.value)
+            break;
+          case 1:
+            x1.value = true;
+            questions[1] = brightenKeyword(questions[1], inputValue.value)
+            break;
+          case 2:
+            x2.value = true;
+            questions[2] = brightenKeyword(questions[2], inputValue.value)
+            break;
+          case 3:
+            x3.value = true;
+            questions[3] = brightenKeyword(questions[3], inputValue.value)
+            break;
+          case 4:
+            x4.value = true;
+            questions[4] = brightenKeyword(questions[4], inputValue.value)
+            break;
+          case 5:
+            x5.value = true;
+            questions[5] = brightenKeyword(questions[5], inputValue.value)
+            break;
+          case 6:
+            x6.value = true;
+            questions[6] = brightenKeyword(questions[6], inputValue.value)
+            break;
+          case 7:
+            x7.value = true;
+            questions[7] = brightenKeyword(questions[7], inputValue.value)
+            break;
+        }
+      }
+      // 隐藏已经过时的问题
+      function unshow(index) {
+        switch (index) {
+          case 0:
+            x0.value = false;
+            break;
+          case 1:
+            x1.value = false;
+            break;
+          case 2:
+            x2.value = false;
+            break;
+          case 3:
+            x3.value = false;
+            break;
+          case 4:
+            x4.value = false;
+            break;
+          case 5:
+            x5.value = false;
+            break;
+          case 6:
+            x6.value = false;
+            break;
+          case 7:
+            x7.value = false;
+            break;
+        }
+      }
+      function brightenKeyword(val, keyword) {
+        const allStr=keyword.split("")
+        let res = val;
+        allStr.forEach((item)=>{
+          if (val.includes(item)) {
+            res = val.replace(item, '<font color="#ff4948">' + item + '</font>')
+          } 
+        })
+        return res
+      }
+    }
+    // 问题跳转
+    function skip(value,num){
+
+      changeShowSearch()
+      const position = document.querySelector(value);
+      const positionValue=position.getBoundingClientRect().top
+      const top = num;
+      let x=1;
+      function run() {
+        x=x+50
+        window.scrollTo(0,x)
+        run.timer = requestAnimationFrame(run);
+        if (x>top) {
+          cancelAnimationFrame(run.timer);
+        }
+      }
+      requestAnimationFrame(run);
+    }
+
+    return {
+      showSearch,
+      changeShowSearch,
+      showHot,
+      search,
+      inputValue,
+      x0,
+      x1,
+      x2,
+      x3,
+      x4,
+      x5,
+      x6,
+      x7,
+      questions,
+      skip,
+    }
+  }
+}
+</script>
+
+<style >
+/* 设置body */
+body{
+  background-color:#f2f2f2 ;
+  min-width: 0px
+}
+/* 主页面背景图 */
+.search_bg {
+  width: 100%;
+  height: 100%;
+  background: rgba(0, 0, 0, 0.5) url(http://cn-file.17pdf.com/website/common/searcg_bg.png) no-repeat;
+}
+
+input {
+  outline: none;
+}
+
+/* 主页面下dl等样式 */
+.pro_solve dl {
+  width: 100%;
+  zoom: 1;
+  background: #fff;
+  border-radius: 4px;
+  box-shadow: 0px 1px 5px rgb(0 0 0 / 10%);
+  padding: 38px 0px;
+  margin: 8px 0px;
+}
+
+.pro_solve dl:after {
+  visibility: hidden;
+  display: block;
+  font-size: 0;
+  content: " ";
+  clear: both;
+  height: 0;
+}
+
+.pro_solve dl dt {
+  width: 33%;
+  float: left;
+}
+
+.pro_solve dl dt span {
+  width: 110px;
+  height: 4px;
+  display: block;
+  background: #ff4948;
+  border-radius: 4px;
+  margin-left: 85px;
+}
+
+.pro_solve dl dt h3 {
+  font-size: 20px;
+  color: #333;
+  margin: 20px 0px 20px 85px;
+  font-weight: bold;
+}
+
+.pro_solve dl dd {
+  width: 67%;
+  float: right;
+  margin: 0px;
+  font-size: 16px;
+  margin: 10px 0px;
+}
+
+.pro_solve dl dd h4 {
+  color: #333;
+  margin: 0px;
+  line-height: 24px;
+  font-weight: bold;
+}
+
+.pro_solve dl dd h4 span {
+  display: inline-block;
+  width: 6px;
+  height: 6px;
+  border-radius: 100%;
+  background: #333;
+  margin-right: 14px;
+}
+
+.pro_solve dl dd p {
+  color: #636363;
+  padding-left: 20px;
+  margin: 16px 0px;
+  line-height: 24px;
+  width: 520px;
+}
+
+/* 搜索页面背景图 */
+.search_ipt {
+  width: 100%;
+  /* height: 40px; */
+  background: url(http://cn-file.17pdf.com/website/common/search_label.png) no-repeat;
+  background-size: 100% 100%;
+  padding: 33px 0px;
+}
+
+.search_txt input {
+  width: 94%;
+  height: 100%;
+  background: rgba(0, 0, 0, 0.5) url(http://cn-file.17pdf.com/website/common/ic_search.png) no-repeat 16px 12px;
+  border-radius: 60px;
+  border: 0px;
+  outline: none;
+  padding-left: 40px;
+  font-size: 14px;
+  color: #fff;
+  float: left;
+}
+
+.hot {
+  border-radius: 0px 0px 4px 4px;
+}
+
+.search_list {
+  border-radius: 0px 0px 4px 4px;
+}
+
+.search_list ul li:last-of-type {
+  border-bottom: 0px;
+}
+
+.search_list ul li {
+  border-bottom: 1px solid rgba(0, 0, 0, 0.03);
+}
+.hot dd a:hover {
+    color: #ff4948;
+}
+.search_list ul li a:hover {
+    color: #ff4948;
+}
+</style>

+ 4 - 4
pages/index.vue

@@ -25,7 +25,7 @@ export default {
 </script>
 <template>
   <div class="page-home">
-    <no-ssr>
+    <client-only>
       <el-carousel ref="carousel" indicator-position="none" loop  height="100vh" @change="handlerCarouselChange">
         <el-carousel-item>
           <div class="home-banner banner ">
@@ -72,7 +72,7 @@ export default {
           </div>
         </el-carousel-item>
       </el-carousel>
-    </no-ssr>
+    </client-only>
     <!-- 自定义轮播点 -->
     <ul class="indicators">
       <li v-for="index in 2" :key="index" :class="index === indexActive?'is-active':''" class="indicator">
@@ -169,7 +169,7 @@ export default {
     </div>
     <div class="home_user_say">
       <h3>5年口碑 · 品质之选</h3>
-      <no-ssr>
+      <client-only>
         <el-carousel class="user_say_carousel">
           <el-carousel-item class="item">
             <ul class="clear">
@@ -248,7 +248,7 @@ export default {
             </ul>
           </el-carousel-item>
         </el-carousel>
-      </no-ssr>
+      </client-only>
     </div>
     <div class="free_signup">
       <p>开启17PDF Reader高效办公学习旅程</p>

+ 16 - 1
pages/pdf-reader/download.vue

@@ -3,7 +3,7 @@
  * @Author: 李阳滨
  * @LastEditors: 欧阳承珺
  * @Date: 2022-10-31 10:30:00
- * @LastEditTime: 2022-11-03 18:01:40
+ * @LastEditTime: 2022-11-14 11:43:26
 -->
 <template>
   <div class="pdf-reader-wrapper">
@@ -492,6 +492,21 @@
 <script>
 export default {
   layout: 'downnav',
+  head() {
+    return {
+      title: 'PDF Reader - PDF阅读, 编辑, 转换软件, 移动端PDF文件解决方案',
+      meta: [
+        {
+          name: 'keywords',
+          content: 'pdf阅读器,pdf浏览器,pdf转换器,pdf编辑,文件转换'
+        },
+        {
+        hid: 'description',
+        content: 'PDF Reader是一款综合型PDF阅读器和编辑器,方便您在安卓手机和平板上浏览、注释、转换、编辑、水印、OCR、加密、扫描和分享PDF文件。立即下载安装,提升您的学习与办公效率!'
+       },
+      ]
+    }
+  },
   methods: {
     moveDownload() {
       const scrollPart = document.querySelector("#download-wrapper"); 

+ 16 - 1
pages/pricing.vue

@@ -3,7 +3,7 @@
  * @Author: 欧阳承珺
  * @LastEditors: 欧阳承珺
  * @Date: 2022-10-26 16:53:24
- * @LastEditTime: 2022-10-31 21:17:57
+ * @LastEditTime: 2022-11-14 11:37:46
 -->
 <template>
   <div>
@@ -114,6 +114,21 @@ export default {
         visiable: false
     }
   },
+  head() {
+    return {
+      title: '订阅PDF套餐,体验更多格式转档服务与云端空间',
+      meta: [
+        {
+          name: 'keywords',
+          content: 'PDF转pptx,PDF转docx,ai转psd,pdf转xlsx'
+        },
+        {
+        hid: 'description',
+        content: '17PDF套餐订阅中心,免费会员注册,订阅基础套餐和商务套餐享有更多文件格式转换券及加云云端空间,成就您移动无纸化办公!'
+       },
+      ]
+    }
+  },
   methods: {
     handlSubmit() {
       if (!this.$store.state.token) {

+ 17 - 2
pages/sdk.vue

@@ -191,7 +191,7 @@
     <ul v-show="active !== 0" class="index">
       <li v-for="idx in 6" :key="idx" :class="{active: active===idx}" @click="handlerToSection(idx)"></li>
     </ul>
-    <no-ssr>
+    <client-only>
       <el-dialog 
         :visible.sync="modalViable"
         :close-on-click-modal="false"
@@ -201,7 +201,7 @@
       >
         <sdk-form ref="sdkForm"></sdk-form>
       </el-dialog>
-    </no-ssr>
+    </client-only>
   </div>
 </template>
 
@@ -217,6 +217,21 @@ export default {
       active: 0,
     }
   },
+  head() {
+    return {
+      title: 'PDF文件解决方案核心功能SDK跨平台集成',
+      meta: [
+        {
+          name: 'keywords',
+          content: 'PDF SDK,PDF library, pdf开发包,pdf kit'
+        },
+        {
+        hid: 'description',
+        content: '17PDF Reader提供跨平台整合PDF阅读器核心功能到你的App中, 文件阅读、文件注释、文件扫描、数字签名、水印、OCR、文本编辑、表单填写、文件合并、文件分割等各种功能集成,让你的工具更强大!'
+       },
+      ]
+    }
+  },
   mounted() {
     let num=1; let prev; let next;
     const infoMoves = document.querySelectorAll('.info_move')

BIN
static/favicon.ico