Prechádzať zdrojové kódy

Merge branch 'master' into develop_oycj

# Conflicts:
#	pages/converter.vue
#	pages/pricing.vue
Darkhorsedamon 2 rokov pred
rodič
commit
455ad4f486

+ 2 - 0
layouts/components/NavBar.vue

@@ -166,6 +166,8 @@ export default {
     },
     handlerLogout() {
       localStorage.removeItem('token')
+      localStorage.removeItem('userInfo')
+      localStorage.removeItem('file')
       this.$store.commit('setUser', {})
       removeToken('Token')
       this.$store.commit('DEL_TOKEN', '')

+ 5 - 5
layouts/components/footer-bar2.vue

@@ -36,14 +36,14 @@
             <li class="text-[16px] mt-24px <tiny:mt-0 <tiny:mx-0 <tiny:mb-15px">
               <a
                 href="/pricing"
-                class="caret-opacity-50 text-[#fff] no-underline transition-all duration-500 <tiny:text-[14px] <tiny:text-[#ffffff66] <tiny:leading-[17px]"
+                class="caret-opacity-50 text-[#ffffff7f] no-underline transition-all duration-500 <tiny:text-[14px] <tiny:text-[#ffffff66] <tiny:leading-[17px]"
                 >订阅服务</a
               >
             </li>
             <li class="text-[16px] mt-24px <tiny:mt-0 <tiny:mx-0 <tiny:mb-15px">
               <a
                 href="/sdk"
-                class="caret-opacity-50 text-[#fff] no-underline transition-all duration-500 <tiny:text-[14px] <tiny:text-[#ffffff66] <tiny:leading-[17px]"
+                class="caret-opacity-50 text-[#ffffff7f] no-underline transition-all duration-500 <tiny:text-[14px] <tiny:text-[#ffffff66] <tiny:leading-[17px]"
                 >SDK介绍</a
               >
             </li>
@@ -72,21 +72,21 @@
             <li class="text-[16px] mt-24px <tiny:mt-0 <tiny:mx-0 <tiny:mb-15px">
               <a
                 href="/question"
-                class="caret-opacity-50 text-[#fff] no-underline transition-all duration-500 <tiny:text-[14px] <tiny:text-[#ffffff66] <tiny:leading-[17px]"
+                class="caret-opacity-50 text-[#ffffff7f] no-underline transition-all duration-500 <tiny:text-[14px] <tiny:text-[#ffffff66] <tiny:leading-[17px]"
                 >常见问题</a
               >
             </li>
             <li class="text-[16px] mt-24px <tiny:mt-0 <tiny:mx-0 <tiny:mb-15px">
               <a
                 href="/privacy"
-                class="caret-opacity-50 text-[#fff] no-underline transition-all duration-500 <tiny:text-[14px] <tiny:text-[#ffffff66] <tiny:leading-[17px]"
+                class="caret-opacity-50 text-[#ffffff7f] no-underline transition-all duration-500 <tiny:text-[14px] <tiny:text-[#ffffff66] <tiny:leading-[17px]"
                 >隐私政策</a
               >
             </li>
             <li class="text-[16px] mt-24px <tiny:mt-0 <tiny:mx-0 <tiny:mb-15px">
               <a
                 href="/terms"
-                class="caret-opacity-50 text-[#fff] no-underline transition-all duration-500 <tiny:text-[14px] <tiny:text-[#ffffff66] <tiny:leading-[17px]"
+                class="caret-opacity-50 text-[#ffffff7f] no-underline transition-all duration-500 <tiny:text-[14px] <tiny:text-[#ffffff66] <tiny:leading-[17px]"
                 >服务协议</a
               >
             </li>

+ 4 - 6
layouts/userCenter.vue

@@ -42,17 +42,15 @@
 
         <ul class="menus-ul">
           <li class="my_convert" :class="{active: $route.path === '/members/me/expenses'}">
-            <a href="/members/me/expenses" class='myexpenses'>
-              我的转档
-            </a>
+            <nuxt-link to="/members/me/expenses" class='myexpenses'>我的转档</nuxt-link>
           </li>
           <li class='my_pricing' :class="{active: $route.path === '/members/me/points'}">
-            <a href="/members/me/points">消费记录</a>
+            <nuxt-link to="/members/me/points">消费记录</nuxt-link>
             <ul :class="{active: $route.path === '/members/me/points'}">
               <li >
-                <a :class="{active: $route.path === '/members/me/points'}" href="/members/me/points" class='mypoints'>
+                <nuxt-link :class="{active: $route.path === '/members/me/points'}" to="/members/me/points" class='mypoints'> 
                   转换券购买
-                </a>
+                </nuxt-link>
               </li>
             </ul>
           </li>

Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 964 - 65
pages/converter.vue


+ 151 - 12
pages/members/me/expenses.vue

@@ -25,18 +25,23 @@
     <div class="py-15px">
       <p class="text-[20px] leading-28px text-[#333]">我的转档</p>
       <div class="mt-10px mb-16px">
-        <button class="btn btn-download">下载</button>
-        <button class="btn btn-delete">删除</button>
+        <button class="btn btn-download" @click="downloadFiles" :disabled="isDownload">下载</button>
+        <button class="btn btn-delete" @click="deleteChangeFileRecord" :disabled="isDelete">删除</button>
       </div>
     </div>
 
-    <el-table :data="tableData">
-      <el-table-column type="selection" width="40"></el-table-column>
-      <el-table-column label="格式转换" ></el-table-column>
-      <el-table-column label="目标文件" ></el-table-column>
-      <el-table-column label="文件大小" ></el-table-column>
-      <el-table-column label="消耗券数" ></el-table-column>
-      <el-table-column label="状态" ></el-table-column>
+    <el-table :data="tableData" @selection-change="handleSelectionChange">
+      <el-table-column type="selection" width="50"></el-table-column>
+      <el-table-column prop="format" label="格式转换" ></el-table-column>
+      <el-table-column prop="fileName" label="目标文件" ></el-table-column>
+      <el-table-column prop="size" label="文件大小" ></el-table-column>
+      <el-table-column prop="price" label="消耗券数" ></el-table-column>
+      <el-table-column prop="status" label="状态" width="120px"></el-table-column>
+      <el-table-column prop="path" label="" width="50px">
+        <template slot-scope="scope">
+          <a v-if="scope.row.path" :href="scope.row.path" class="downloadBtn"></a>
+        </template>
+      </el-table-column>
       <!-- 表格无数据显示 -->
       <div slot="empty">
         <div class="table-empty"></div>
@@ -44,6 +49,13 @@
         <p class="leading-20px mt-8px mb-100px text-14px" style="color:rgba(0,0,0,0.38)">每一分钱都花在了刀刃上</p>
       </div>
     </el-table>
+    <el-pagination
+      class="text-center mt-50px"
+      background
+      layout="prev, pager, next"
+      :total="totalNum"
+      @current-change="handleCurrentChange">
+    </el-pagination>
   </div>
 </template>
 
@@ -51,10 +63,29 @@
 import { mapState } from 'vuex' 
 export default {
   layout: 'userCenter',
-  middleware: ['auth'],
+  middleware: ['auth','user'],
+  head() {
+    return {
+      title: '17PDF Reader - 个人中心',
+      meta: [
+        {
+          name: 'keywords',
+          content: 'PDFReader,pdfreader,17PDF Reader,pdf软件,PDF阅读器,文件扫描'
+        },
+        {
+          hid: 'description',
+          content: '17PDF Reader是行走的PDF阅读器和文件扫描仪,并提供免费的PDF文件格式转换工具,支持pdf转word,pdf转doc,pdf转ppt,pdf转图片等。17PDF Reader被用户誉为“亚洲的Adobe”,拥有自主产权的PDF核心技术,为商务精英、教育族群及企业提供全方位的PDF文件解决方案。'
+        },
+      ]
+    }
+  },
   data() {
     return {
-      tableData:[]
+      tableData:[],
+      tableDataSelection: [],
+      totalNum: 0,
+      isDownload: true,
+      isDelete: true
     }
   },
   computed: {
@@ -62,10 +93,108 @@ export default {
       'userInfo',
     ]),
   },
+  created () {
+    this.getChangeFileRecord(1)
+  },
+  methods: {
+    // 用户转档记录分页查询
+    getChangeFileRecord (page) {
+      this.$axios.get(`/missionFile/page?page=${page}`).then((res) => {
+        if(res.code === 200) {
+          this.tableData = res.result.list
+          this.totalNum = res.result.total
+          for (let i = 0; i < this.tableData.length; i++) {
+            this.tableData[i].size = this.getfilesize(this.tableData[i].size)
+            this.tableData[i].status = this.getFileStatus(this.tableData[i].status)
+            this.$set(this.tableData[i], 'format', this.getFormat(this.tableData[i].inputType, this.tableData[i].outputType))
+          }
+        }
+      })
+    },
+    // 计算文件大小函数(保留两位小数),Size为字节大小
+    getfilesize (size) {
+      if (!size) return ""
+      var num = 1024.00 //byte
+      if (size < num) {
+        return size + "B"
+      }
+      if (size < Math.pow(num, 2)) {
+        return (size / num).toFixed(2) + "K"
+      }
+      if (size < Math.pow(num, 3)) {
+        return (size / Math.pow(num, 2)).toFixed(2) + "M"
+      }
+      if (size < Math.pow(num, 4)) {
+        return (size / Math.pow(num, 3)).toFixed(2) + "G"
+      }
+      else {
+        return (size / Math.pow(num, 4)).toFixed(2) + "T"
+      }
+    },
+    // 判断文件状态
+    getFileStatus (status) {
+      switch (status) {
+        case 0:
+          return '转档中'
+        case 1:
+          return '转档中'
+        case 2:
+          return '转档成功'
+        case 3:
+          return '转档失败'
+        case 4:
+          return '转档成功'
+      }
+    },
+    // 格式转换
+    getFormat (input, output) {
+      return input.toUpperCase() + '-->' + output.toUpperCase()
+    },
+    handleSelectionChange(val) {
+      this.tableDataSelection = val
+      this.isDelete = false
+      for (const file of this.tableDataSelection) {
+        console.log(file.status)
+        if (file.status === '转档中' || file.status === '转档失败') {
+          this.isDownload = true
+        } else {
+          this.isDownload = false
+        }
+      }
+    },
+    // 删除转档记录
+    deleteChangeFileRecord () {
+      var data = new FormData()
+      for (const file of this.tableDataSelection) {
+        data.append('ids', file.id)
+      }
+      const config = {
+        headers: {
+          'Content-Type': 'multipart/form-data;'
+        }
+      }
+      this.$axios.post('/missionFile/delete', data, config).then((res) => {
+        if(res.code === 200) {
+          this.getChangeFileRecord(1)
+          this.isDelete = true
+        }
+      })
+    },
+    handleCurrentChange(val) {
+      this.getChangeFileRecord(val)
+    },
+    downloadFiles () {
+      for (const file of this.tableDataSelection) {
+        if (file.status !== 2 || file.status !== 4) {
+          this.isDownload = true
+        }
+      }
+    }
+  }
 }
 </script>
 
-<style lang="scss">
+<style lang="scss" scoped>
 .expenses-date-tips {
   display: flex;
   align-items: center;
@@ -149,4 +278,14 @@ export default {
   height: 200px;
   background: url(http://cn-file.17pdf.com/website/members/pic_noconsumption.png) no-repeat center center;
 }
+.el-table__row:hover .downloadBtn {
+  display: inline-block;
+  width: 13px;
+  height: 13px;
+  background: url(http://cn-file.17pdf.com/website/members/ic_download_gray.svg) center no-repeat;
+}
+.btn-download:disabled,.btn-delete:disabled {
+  opacity: 0.5;
+  pointer-events: none;
+}
 </style>

+ 26 - 7
pages/members/me/points.vue

@@ -11,17 +11,17 @@
       <p class="py-15px text-20px leading-28px">转换券购买记录</p>
     </div>
     <el-table :data="tableData">
-      <el-table-column label="类目" ></el-table-column>
-      <el-table-column label="金额" ></el-table-column>
+      <el-table-column label="类目" prop="totalPoints"></el-table-column>
+      <el-table-column label="金额" prop="price"></el-table-column>
       <el-table-column label="订单编号" ></el-table-column>
-      <el-table-column label="时间" ></el-table-column>
+      <el-table-column label="时间" prop="startDate"></el-table-column>
       <!-- 表格无数据显示 -->
       <div slot="empty">
         <div class="table-empty"></div>
         <p class="text-14px" style="color:rgba(0,0,0,0.54)">没有任何消费记录</p>
         <p class="leading-20px mt-8px mb-100px text-14px" style="color:rgba(0,0,0,0.38)">每一分钱都花在了刀刃上</p>
       </div>
-    </el-table>   
+    </el-table>
   </div>
 
 </template>
@@ -29,12 +29,30 @@
 <script>
 export default {
   layout: 'userCenter',
-  middleware: ['auth'],
+  middleware: ['auth', 'user'],
   data() {
     return {
-      tableData:[]
+      tableData: []
     }
-  }
+  },
+  mounted() {
+    this.$axios.get("/members/getMemberInfo").then((res) => {
+      if (res.code === 200) {
+        console.log(res.result)
+        let change = []
+        res.result.pricingList.forEach(item => {
+          console.log("数据",item)
+          let totalPoints = item.totalPoints + "张转换劵"
+          let price="¥"+item.price+".0"
+          let id= ''
+          let startDate=item.startDate
+          let all={totalPoints,price,id,startDate}
+          change.push(all)
+        });
+        this.tableData=change
+      }
+    })
+  },
 }
 </script>
 
@@ -47,6 +65,7 @@ export default {
     font-weight: normal;
   }
 }
+
 .table-empty {
   margin-top: 50px;
   height: 200px;

+ 54 - 23
pages/pricing.vue

@@ -3,7 +3,7 @@
  * @Author: 欧阳承珺
  * @LastEditors: 欧阳承珺
  * @Date: 2022-10-26 16:53:24
- * @LastEditTime: 2022-11-17 09:05:53
+ * @LastEditTime: 2022-11-17 09:10:47
 -->
 <template>
   <div>
@@ -129,6 +129,18 @@ class="slider-wrapper header-detail w-full py-0 pr-0px pl-38px
                 <div
 v-for="(items, index) in list"
                   :key="index" class="swicth-items inline-block w-[33%] py-0px px-4px text-center relative" @click="changeMonth(index)">
+                  <div v-show="index === 0 && isVIP" class="discount-badge w-[60%]  absolute right-0 top-[-8px] z-88">
+                    <div
+v-show="language"
+                      class="badges-year w-full h-20px rounded-20px text-[10px] text-[#fff] leading-[20px]">
+                      续费优惠
+                    </div>
+                    <div
+v-show="!language"
+                      class="badge-year w-full h-20px rounded-20px text-[10px] text-[#fff] leading-[20px]">
+                      {{ info.discount }}
+                    </div>
+                  </div>
                   <div v-show="index === 2" class="discount-badge w-[60%]  absolute right-0 top-[-8px] z-88">
                     <div
 v-show="language"
@@ -161,7 +173,12 @@ v-show="index !== 0"
                     </div>
                     <!---->
                     <span
-v-show="index == 2"
+v-show="index == 0"
+                      class="sale mt-8px text-[10px] leading-[10px] text-[#00000066] line-through">
+                      ¥{{ parseInt(items.marketPrice / 10) * 10 }}
+                    </span>
+                    <span
+v-show="index == 2 && isVIP"
                       class="sale mt-8px text-[10px] leading-[10px] text-[#00000066] line-through">
                       ¥{{ parseInt(items.marketPrice / 10) * 10 }}
                     </span>
@@ -1921,9 +1938,9 @@ href="https://render.alipay.com/p/c/k2cx0tg8" rel="nofollow"
 
 <script>
 import { ref } from 'vue';
-import { mapState } from 'vuex';
-import en from "~/locales/en.json";
-import zh from "~/locales/zh-cn.json";
+import { mapState } from 'vuex'
+import en from "~/locales/en.json"
+import zh from "~/locales/zh-cn.json"
 
 
 export default {
@@ -2057,27 +2074,15 @@ export default {
         { name: 'viewport', content: 'width=device-width,initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no' },
         {
           name: 'keywords',
-          hid: 'keywords',
           content: 'PDF转pptx,PDF转docx,ai转psd,pdf转xlsx'
         },
         {
-          name: 'description',
           hid: 'description',
           content: '17PDF套餐订阅中心,免费会员注册,订阅基础套餐和商务套餐享有更多文件格式转换券及加云云端空间,成就您移动无纸化办公!'
         },
       ]
     }
   },
-  created() {
-    if (this.isMobile) {
-      this.getVipList()
-      if (this.language) {
-        this.info = zh.info
-      } else {
-        this.info = en.info
-      }
-    }
-  },
   methods: {
     handlSubmit() {
       if (!this.$store.state.token) {
@@ -2099,12 +2104,24 @@ export default {
     },
     // 移动端商品信息
     getVipList() {
-      this.$axios.get("setPricing/list?client=android").then((res) => {
-        if (res.code === 200) {
-          this.list = res.result.filter(item => item.mode !== 0)  // 免费模式的不展示
-          console.log(this.list)
-        }
-      })
+      if(this.isLogin){
+        // console.log("登录")
+        this.$axios.get("setPricing/list?client=android").then((res) => {
+          if (res.code === 200) {
+            this.list = res.result.filter(item => item.mode !== 0)  // 免费模式的不展示
+            // console.log(this.list)
+          }
+        })
+      }else{
+        // console.log("未登录")
+        // console.log(this.isLogin)
+        this.$axios.get("setPricing/listForVisitor?client=android").then((res) => {
+          if (res.code === 200) {
+            this.list = res.result.filter(item => item.mode !== 0)  // 免费模式的不展示
+            // console.log(this.list)
+          }
+        })
+      }
     },
     // 下载APK
     dowmAPK() {
@@ -2203,6 +2220,15 @@ export default {
     } else {
       this.isVIP = false
     }
+    if (this.isMobile) {
+      // console.log("是否登录",this.isLogin)
+      this.getVipList()
+      if (this.language) {
+        this.info = zh.info
+      } else {
+        this.info = en.info
+      }
+    }
   }
 }
 </script>
@@ -2258,6 +2284,11 @@ header {
   box-shadow: 0px 1px 2px 0px rgb(93 78 224 / 26%);
   font-family: SourceHanSansCN-Medium;
 }
+.badges-year {
+  background: linear-gradient(137.6deg, #df8245, #f2b51b);
+  box-shadow: 0px 1px 2px 0px rgb(93 78 224 / 26%);
+  font-family: SourceHanSansCN-Medium;
+}
 
 /* 支付方式活跃 */
 .active {

Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 625 - 622
pages/privacy.vue


+ 6 - 6
pages/question.vue

@@ -6,7 +6,7 @@
                 <ul class="mb-10px">
                     <a href="#reading">
                         <li
-class=" w-192px h-48px leading-[48px] text-center text-[#333] text-[16px] bg-[fafafa] cursor-pointer"
+class=" w-192px h-48px leading-[48px] text-center text-[#333] text-[16px] bg-[#fafafa] cursor-pointer"
                             value="reading" :class="{ active: '#reading' == ins.hash }" @click=" active('#reading')">
                             文件阅读
                         </li>
@@ -14,7 +14,7 @@ class=" w-192px h-48px leading-[48px] text-center text-[#333] text-[16px] bg-[fa
 
                     <a href="#management">
                         <li
-class=" w-192px h-48px leading-[48px] text-center text-[#333] text-[16px] bg-[fafafa] cursor-pointer"
+class=" w-192px h-48px leading-[48px] text-center text-[#333] text-[16px] bg-[#fafafa] cursor-pointer"
                             value="management" :class="{ active: '#management' == ins.hash}"
                             @click=" active('#management')">
                             文件管理
@@ -24,14 +24,14 @@ class=" w-192px h-48px leading-[48px] text-center text-[#333] text-[16px] bg-[fa
 
                     <a href="#note">
                         <li
-class=" w-192px h-48px leading-[48px] text-center text-[#333] text-[16px] bg-[fafafa] cursor-pointer"
+class=" w-192px h-48px leading-[48px] text-center text-[#333] text-[16px] bg-[#fafafa] cursor-pointer"
                             value="note" :class="{ active: '#note' == ins.hash}" @click=" active('#note')">
                             文件注释
                         </li>
                     </a>
                     <a href="#scan">
                         <li
-class=" w-192px h-48px leading-[48px] text-center text-[#333] text-[16px] bg-[fafafa] cursor-pointer"
+class=" w-192px h-48px leading-[48px] text-center text-[#333] text-[16px] bg-[#fafafa] cursor-pointer"
                             value="scan" :class="{ active: '#scan' == ins.hash}" @click=" active('#scan')">
                             文件扫描
                         </li>
@@ -40,7 +40,7 @@ class=" w-192px h-48px leading-[48px] text-center text-[#333] text-[16px] bg-[fa
 
                     <a href="#convert">
                         <li
-class=" w-192px h-48px leading-[48px] text-center text-[#333] text-[16px] bg-[fafafa] cursor-pointer"
+class=" w-192px h-48px leading-[48px] text-center text-[#333] text-[16px] bg-[#fafafa] cursor-pointer"
                             value="convert" :class="{ active: '#convert' == ins.hash}" @click=" active('#convert')">
                             格式转换
                         </li>
@@ -48,7 +48,7 @@ class=" w-192px h-48px leading-[48px] text-center text-[#333] text-[16px] bg-[fa
 
                     <a href="#payment">
                         <li
-class=" w-192px h-48px leading-[48px] text-center text-[#333] text-[16px] bg-[fafafa] cursor-pointer"
+class=" w-192px h-48px leading-[48px] text-center text-[#333] text-[16px] bg-[#fafafa] cursor-pointer"
                             value="payment" :class="{ active: '#payment' == ins.hash}" @click=" active('#payment')">
                             支付问题
                         </li>

+ 19 - 33
pages/resetPsw.vue

@@ -6,13 +6,10 @@
       >
         <div class="logo p-0">
           <!-- 此处a需不需要改 -->
-          <a
-            href="https://17pdf.com"
-            class="text-[#666] text-[24px] no-underline bg-transparent"
-          >
+          <nuxt-link to="/" class="text-[#666] text-[24px] no-underline bg-transparent">
             <span class="logo-img m-0 py-20px pl-170px"></span>
             <span>17PDF Reader</span>
-          </a>
+          </nuxt-link>
         </div>
       </nav>
     </div>
@@ -21,28 +18,18 @@
         <div class="px-15px mx-auto sm:w-750px">
           <div class="row mx-[-15px]">
             <div class="col-md-3 relative min-h-1px px-15px"></div>
-            <div
-              class="col-md-6 relative min-h-1px px-15px tiny:w-[70%] tiny:my-0 tiny:mx-auto"
-            >
-              <h2
-                class="text-center text-[#00bbd3] text-[30px] mb-32px text-center mt-20px leading-[1.1] font-medium"
-              >
+            <div class="col-md-6 relative min-h-1px px-15px tiny:w-[70%] tiny:my-0 tiny:mx-auto">
+              <h2 class="text-center text-[#00bbd3] text-[30px] mb-32px text-center mt-20px leading-[1.1] font-medium">
                 设置新密码
               </h2>
             </div>
           </div>
           <div class="row form-wrapper mx-[-15px]">
             <div class="col-md-3 relative min-h-1px px-15px"></div>
-            <div
-              class="col-md-6 relative min-h-1px px-15px tiny:w-[70%] tiny:my-0 tiny:mx-auto"
-            >
-              <h3
-                v-show="showError"
-                class="warning text-[24px] mt-20px mb-10px font-medium laeding-[1.1]"
-              >
+            <div class="col-md-6 relative min-h-1px px-15px tiny:w-[70%] tiny:my-0 tiny:mx-auto">
+              <h3 v-show = " showError " class="warning text-[24px] mt-20px mb-10px font-medium laeding-[1.1]">
                 密码重置失败,请确认两次密码一致!
-              </h3>
-         
+              </h3>         
                 <input type="hidden" name="_method" value="put" /><input
                   type="hidden"
                   name="authenticity_token"
@@ -102,18 +89,10 @@
             </h4>
             <ul class="p-0 mt-0 mb-10px">
               <li class="list-none text-[16px] mt-24px">
-                <a
-                  href="https://17pdf.com"
-                  class="opacity-30 text-[#fff] no-underline bg-transparent"
-                  >产品</a
-                >
+                <nuxt-link to="/" class="opacity-30 text-[#fff] no-underline bg-transparent">产品</nuxt-link>
               </li>
               <li class="list-none text-[16px] mt-24px">
-                <a
-                  href="https://17pdf.com/sdk"
-                  class="opacity-30 text-[#fff] no-underline bg-transparent"
-                  >SDK介绍</a
-                >
+                <nuxt-link to="/sdk" class="opacity-30 text-[#fff] no-underline bg-transparent">SDK介绍</nuxt-link>
               </li>
             </ul>
           </div>
@@ -180,11 +159,11 @@
           </div>
         </div>
         <p class="text-muted text-[14px] text-[#777] mb-10px mt-0 mx-0">
-          <a target="_blank" href="https://17pdf.com/terms" class="text-muted"
+          <a target="_blank" href="/terms" class="text-muted"
             >服务条款</a
           >
           |
-          <a target="_blank" href="https://17pdf.com/privacy" class="text-muted"
+          <a target="_blank" href="/privacy" class="text-muted"
             >隐私政策</a
           >
           | ©2022 Kdanmobile All Rights Reserved.
@@ -200,7 +179,14 @@
 <script>
 import qs from 'qs'
 export default {
-  layout: 'custom',
+  layout(){
+    return 'custom'
+  },
+  head(){
+    return {
+      title:'17PDF Reader - 账号管理'
+    }
+  },
   data() {
     return {
       confirm_newPassword: '',

+ 1 - 1
pages/sdk.vue

@@ -7,7 +7,7 @@
             <div class="txt">
             <h1>SDK</h1>
             <h2 class="sub_title">iOS Android Mac<br />跨平台整合核心功能</h2>
-            <div class="btns"><span class="btn-primary trail-btn" @click="handlerApplyUse">申请试用</span><span class="buy-btn" @click="handlerApplyUse">申请报价</span></div>
+            <div class="btns"><span class="btn-primary trail-btn" @click="handlerApplyUse()">申请试用</span><span class="buy-btn" @click="handlerApplyUse">申请报价</span></div>
           </div>
         </div>
       </div>

Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 176 - 174
pages/terms.vue


BIN
static/converter/ic_pdf_execl.png


BIN
static/converter/ic_pdf_picture.png


BIN
static/converter/ic_pdf_ppt.png


BIN
static/converter/ic_pdf_txt.png


BIN
static/converter/ic_pdf_word.png


BIN
static/converter/menu_ic_pdfconvert.png