xgwangman 4 سال پیش
والد
کامیت
cddfb73ac1
6فایلهای تغییر یافته به همراه109 افزوده شده و 28 حذف شده
  1. 8 7
      jydocs-pc/package.json
  2. 31 5
      jydocs-pc/src/api/modules/detail.js
  3. 1 1
      jydocs-pc/src/router.js
  4. 56 15
      jydocs-pc/src/views/Content.vue
  5. 8 0
      jydocs-pc/vue.config.js
  6. 5 0
      jydocs-pc/yarn.lock

+ 8 - 7
jydocs-pc/package.json

@@ -12,6 +12,7 @@
     "axios": "^0.21.1",
     "core-js": "^3.4.3",
     "element-ui": "^2.15.1",
+    "pdfh5": "^1.3.20",
     "single-spa-vue": "^1.5.4",
     "systemjs-webpack-interop": "^1.1.2",
     "vue": "^2.6.10",
@@ -20,20 +21,20 @@
   "devDependencies": {
     "@vue/cli-plugin-babel": "^4.1.0",
     "@vue/cli-plugin-eslint": "~4.5.0",
-    "@vue/eslint-config-standard": "^5.1.2",
     "@vue/cli-plugin-router": "^4.1.0",
     "@vue/cli-service": "^4.1.0",
-    "babel-plugin-component": "^1.1.1",
-    "vue-cli-plugin-single-spa": "^1.0.1",
-    "vue-template-compiler": "^2.6.10",
-    "sass": "^1.26.5",
-    "sass-loader": "^8.0.2",
+    "@vue/eslint-config-standard": "^5.1.2",
     "babel-eslint": "^10.1.0",
+    "babel-plugin-component": "^1.1.1",
     "eslint": "^6.7.2",
     "eslint-plugin-import": "^2.20.2",
     "eslint-plugin-node": "^11.1.0",
     "eslint-plugin-promise": "^4.2.1",
     "eslint-plugin-standard": "^4.0.0",
-    "eslint-plugin-vue": "^6.2.2"
+    "eslint-plugin-vue": "^6.2.2",
+    "sass": "^1.26.5",
+    "sass-loader": "^8.0.2",
+    "vue-cli-plugin-single-spa": "^1.0.1",
+    "vue-template-compiler": "^2.6.10"
   }
 }

+ 31 - 5
jydocs-pc/src/api/modules/detail.js

@@ -1,11 +1,12 @@
 import httpRequest from '@/api'
-import mockRequest from '@/api/mock'
+// import mockRequest from '@/api/mock'
+import service from '@/api/index'
 // import qs from 'qs'
 
 let request = httpRequest
 if (process.env.NODE_ENV === 'development' && process.env.VUE_APP_MOCK === 'true') {
   // @ts-ignore
-  request = mockRequest
+  request = service
 }
 
 export function getDetails (data) {
@@ -17,6 +18,22 @@ export function getDetails (data) {
   })
 }
 
+export function getShow (data) {
+  return request({
+    url: '/getShow',
+    method: 'post',
+    data: data
+  })
+}
+
+export function getDown (data) {
+  return request({
+      url: '/getDown',
+      method: 'post',
+      data: data
+  })
+}
+
 export function getAdverse (data) {
   return request({
     url: '/getAdvertisement',
@@ -28,7 +45,7 @@ export function getAdverse (data) {
 export function getAdd (data) {
   console.log(data)
   return request({
-    url: '/userCollectAdd',
+    url: '/user/collect/add',
     method: 'post',
     data
   })
@@ -37,7 +54,7 @@ export function getAdd (data) {
 export function getRemove (data) {
   console.log(data)
   return request({
-    url: '/userCollectRemove',
+    url: '/user/collect/remove',
     method: 'post',
     data
   })
@@ -46,7 +63,16 @@ export function getRemove (data) {
 export function getCoin (data) {
   console.log(data)
   return request({
-    url: '/coin',
+    url: '/getList',
+    method: 'post',
+    data
+  })
+}
+
+export function getShare (data) {
+  console.log(data)
+  return request({
+    url: '/share/img',
     method: 'post',
     data
   })

+ 1 - 1
jydocs-pc/src/router.js

@@ -1,6 +1,6 @@
 import Vue from 'vue'
 import Router from 'vue-router'
-// import Home from './views/Home.vue'
+import Home from './views/Home.vue'
 
 Vue.use(Router)
 

+ 56 - 15
jydocs-pc/src/views/Content.vue

@@ -21,12 +21,12 @@
               <div class="buyed no-buyed" v-else-if="datas.price > coinNum && !buyed">剑鱼币余额不足,现有 {{coinNum}} 剑鱼币,还需 {{datas.price - coinNum}} 剑鱼币,请先充值</div>
               <el-divider class="heng-line" v-else></el-divider>
               <div class="load-doc">
-                  <el-button type="primary">{{btnName}}</el-button>
+                  <el-button type="primary" @click="loadFile">{{btnName}}</el-button>
                   <div class="icons">
                       <el-tooltip placement="bottom" effect="light" popper-class="f-share">
                           <span class="spa1"><i class="el-icon-jy-share"></i>分享</span>
                           <div slot="content">
-                              <img src="../assets/images/wechat.png" width="110" height="108">
+                              <img :src="locaHref + 'jydocs/share/img?docId=' + docIds" width="110" height="108">
                               <p style="color: #686868;font-size: 14px;text-align:center;">微信扫码分享</p>
                           </div>
                       </el-tooltip>
@@ -51,8 +51,9 @@
           </div>
           <div class="bottoms" id="colWidth" v-show="buyed">
               <div class="page">
-                  
-                  <div class="cont-p"></div>
+                  <!-- <div class="cont-p" id="pdfPage"> -->
+                    <iframe :src="conts.data" width="920" height="900"></iframe>
+                  <!-- </div> -->
               </div>
               <div class="foot-tip tops">
                   <div class="load-doc">
@@ -60,7 +61,7 @@
                           <el-tooltip placement="bottom" effect="light" popper-class="f-share">
                               <span class="spa1"><i class="el-icon-jy-share"></i>分享</span>
                               <div slot="content">
-                                  <img src="../assets/images/wechat.png" width="110" height="108">
+                                  <img :src="locaHref + 'jydocs/share/img?docId=' + docIds" width="110" height="108">
                                   <p style="color: #686868;font-size: 14px;text-align:center;">微信扫码分享</p>
                               </div>
                           </el-tooltip>
@@ -69,7 +70,7 @@
                               <span class="spa1"><i class="el-icon-jy-jubao"></i>投诉举报</span>
                           </el-tooltip>
                       </div>
-                      <el-button type="primary">{{btnName}}</el-button>
+                      <el-button type="primary" @click="loadFile">{{btnName}}</el-button>
                   </div>
               </div>
           </div>
@@ -86,7 +87,9 @@
 
 <script>
 import { Button, Tooltip, Divider, Message } from 'element-ui'
-import { getDetails, getAdverse, getCoin, getAdd, getRemove } from '../api/modules/detail'
+import Pdfh5 from 'pdfh5'
+import "pdfh5/css/pdfh5.css"
+import { getDetails, getShow, getShare, getDown, getAdverse, getCoin, getAdd, getRemove } from '../api/modules/detail'
 export default {
   components: {
     [Button.name]: Button,
@@ -96,7 +99,11 @@ export default {
   },
   data () {
     return {
+      docIds: '',
+      wxImg: '',
+      locaHref: '',
       datas: [],
+      conts: [],
       adsUrl: [],
       coinNum: 0,
       btnName: '',
@@ -109,21 +116,26 @@ export default {
     }
   },
   created () {
+    this.docIds = this.$route.params.id
+    // this.docIds = '19d53d64-8890-11eb-8699-0050568f51e7'
+    this.locaHref = window.location.href
     this.details()
     this.adverse()
     this.setTop()
   },
   mounted () {
+    this.pdfh5 = new Pdfh5("#pdfPage", {
+	  pdfurl: this.conts
+	})
     // 监听滚轮
     window.addEventListener('scroll', this.initHeight)
-    
   },
   destroyed () { // 移除监听
     window.removeEventListener('scroll', this.initHeight)
   },
   methods: {
     details () {
-      getDetails({ docId: '123132' }).then(res => {
+      getDetails({ docId: this.docIds }).then(res => {
         console.log(res)
         if (res.data.error_code === 0) {
           this.datas = res.data.data.detail
@@ -132,12 +144,12 @@ export default {
           this.collectd = res.data.data.docCang
         }
       })
-      getCoin({L: true}).then(res => {
+      getCoin({B: true}).then(res => {
         console.log(res)
         if (res.data.error_code === 0) {
           this.coinNum = res.data.data.data.points.balance
           if (this.buyed) {
-           this.btnName = '下载文档'
+            this.btnName = '下载文档'
           } else {
             if (this.coinNum < this.datas.price) {
                 this.btnName = '立即充值'
@@ -147,10 +159,22 @@ export default {
           }
         }
       })
-      
+      getShare({ docId: this.docIds }).then(res => {
+        console.log(res)
+        if (res.data.error_code === 0) {
+          this.wxImg = res.data.data.url
+          console.log(res.data)
+        }
+      })
+      getShow({ docId: this.docIds }).then(res => {
+        console.log(res.data)
+        if (res.data.error_code === 0) {
+          this.conts = res.data
+        }
+      })
     },
     adverse () {
-      getAdverse({ code: '1233456', num: 1 }).then(res => {
+      getAdverse({ code: this.docIds, num: 1 }).then(res => {
         console.log(res)
         this.adsUrl = res.data.data
       })
@@ -170,7 +194,7 @@ export default {
     },
     shoucang () {
       if (this.collectd === 0) {
-        getAdd({ docId: '111' }).then(res => {
+        getAdd({ docId: this.docIds }).then(res => {
           console.log(res)
           if (res.data.error_code === 0) {
             this.collectd = 1
@@ -181,7 +205,7 @@ export default {
           }
         })
       } else {
-        getRemove({ docId: '111' }).then(res => {
+        getRemove({ docId: this.docIds }).then(res => {
           console.log(res)
           if (res.data.error_code === 0) {
             this.collectd = 0
@@ -197,6 +221,23 @@ export default {
       // this.buyed = !this.buyed;
       // this.setTop();
     },
+    loadFile () {
+        console.log('11212')
+    //   if (this.buyed) {
+        getDown({ docId: this.docIds }).then(res => {
+          console.log(res.data)
+          if (res.data.error_code === 0) {
+            window.location.href = res.data.data
+          }
+        })
+    //   } else {
+    //     if (this.coinNum < this.datas.price) {
+          
+    //     } else {
+          
+    //     }
+    //   }
+    },
     fileType (val) {
       if (val === 1) {
         return 'word'

+ 8 - 0
jydocs-pc/vue.config.js

@@ -15,6 +15,14 @@ module.exports = {
         pathRewrite: {
           '^/jydocs': '/jydocs'
         }
+      },
+      '^/jyintegral': {
+        target: 'http://192.168.20.145:820',
+        changeOrigin: true,
+        logLevel: 'debug',
+        pathRewrite: {
+          '^/jyintegral': '/jyintegral'
+        }
       }
     }
   },

+ 5 - 0
jydocs-pc/yarn.lock

@@ -6420,6 +6420,11 @@ pbkdf2@^3.0.3:
     safe-buffer "^5.0.1"
     sha.js "^2.4.8"
 
+pdfh5@^1.3.20:
+  version "1.3.20"
+  resolved "https://registry.npm.taobao.org/pdfh5/download/pdfh5-1.3.20.tgz#4fd41f7e306b51d722d8a5a01123cf3d7eaea499"
+  integrity sha1-T9QffjBrUdci2KWgESPPPX6upJk=
+
 performance-now@^2.1.0:
   version "2.1.0"
   resolved "https://registry.npm.taobao.org/performance-now/download/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b"