Prechádzať zdrojové kódy

Merge branch 'master' of http://192.168.3.207:10080/jianyu/jy-docs

xgwangman 4 rokov pred
rodič
commit
e7439a63ed

+ 3 - 4
.gitignore

@@ -2,6 +2,8 @@
 node_modules
 dist
 rev
+page_docs_mobile
+page_docs_pc
 
 # local env files
 .env.local
@@ -28,7 +30,4 @@ yarn-error.log*
 *.zip
 *.7z
 .vscode
-jydocs-mobile/page_docs_app
-jydocs-pc/page_docs
-jydocs-pc/pc
-jydocs-pc/app
+

+ 3 - 3
README.md

@@ -14,8 +14,8 @@
 
 ```
 3.11 部署目录 
-移动端 /opt/nginx/nginx/html/page_docs_app/
-PC端 /opt/nginx/nginx/html/page_docs/
+移动端 /opt/nginx/nginx/html/page_docs_mobile/
+PC端 /opt/nginx/nginx/html/page_docs_pc/
 ```
 
 #### 移动端
@@ -81,7 +81,7 @@ location ~ ^\/page_(.*)\.html {
     add_header         Cache-Control no-cache,no-store,must-revalidate;
 
     root html;
-    # root /opt/nginx/nginx/html/;
+    # root /opt/nginx/nginx/html;
 }
 
 # 2.静态资源配置(vue程序刷新404问题)

+ 2 - 2
jydocs-back/servers/share.go

@@ -48,8 +48,8 @@ func (share *Share) ShareImg() {
 
 func getDocShareUrl(userId, docId string) string {
 	enUserId := encrypt.SE.Encode2Hex(userId)
-	toHref := url.QueryEscape(fmt.Sprintf("/page_docs_app/details/%s?from=%s", docId, enUserId)) //关注跳转页面
-	unHref := url.QueryEscape(fmt.Sprintf("/swordfish/about?from=%s", enUserId))                 //为关注跳转页面
+	toHref := url.QueryEscape(fmt.Sprintf("/page_docs_mobile/details/%s?from=%s", docId, enUserId)) //关注跳转页面
+	unHref := url.QueryEscape(fmt.Sprintf("/swordfish/about?from=%s", enUserId))                    //为关注跳转页面
 	log.Println(fmt.Sprintf(config.JyDocsAppConfig.ShareUrl+"?toHref=%s&unHref=%s", toHref, unHref))
 	return fmt.Sprintf(config.JyDocsAppConfig.ShareUrl+"?toHref=%s&unHref=%s", toHref, unHref)
 }

+ 2 - 2
jydocs-mobile/.env.production

@@ -1,5 +1,5 @@
 NODE_ENV=production
 VUE_APP_BASE_API='/jydocs'
-BASE_URL = '/page_docs_app/'
-VUE_APP_BASE_URL = '/page_docs_app/'
+BASE_URL = '/page_docs_mobile/'
+VUE_APP_BASE_URL = '/page_docs_mobile/'
 VUE_APP_LOG_URL='https://www.jianyu360.com/jyLogs/actionInfo?logAction='

+ 2 - 2
jydocs-mobile/.env.test

@@ -1,5 +1,5 @@
 NODE_ENV=production
 VUE_APP_BASE_API='/jydocs/'
-BASE_URL = '/page_docs_app/'
-VUE_APP_BASE_URL = '/page_docs_app/'
+BASE_URL = '/page_docs_mobile/'
+VUE_APP_BASE_URL = '/page_docs_mobile/'
 VUE_APP_LOG_URL='https://web2-jytest.jydev.jianyu360.com/jyLogs/actionInfo?logAction='

+ 1 - 1
jydocs-mobile/src/api/ajax.ts

@@ -13,7 +13,7 @@ const $ajax = axios.create({
 /* 拦截器 */
 $ajax.interceptors.request.use(config => {
   // 在请求发送之前做一些事
-  console.log('--发送之前--', config)
+  // console.log('--发送之前--', config)
   if (config.method === 'post' || config.method === 'POST') {
     if (typeof config.data !== 'string') {
       config.data = qs.stringify(config.data)

+ 1 - 1
jydocs-mobile/src/components/Recharge.vue

@@ -56,7 +56,7 @@ export default class extends Vue {
     }
 
     buyMoney () {
-      window.location.href = `/page_points_app/pay?id=${this.detailData.docId}`
+      window.location.href = `/page_points_mobile/pay?id=${this.detailData.docId}`
     }
 }
 </script>

+ 1 - 1
jydocs-mobile/src/components/SharePopup.vue

@@ -58,7 +58,7 @@ export default class extends Vue {
 
     // 了解详情
     reviewDetail () {
-      location.href = '/page_points_app/share'
+      location.href = '/page_points_mobile/share'
     }
 }
 </script>

+ 58 - 27
jydocs-mobile/src/views/details/details.vue

@@ -1,15 +1,15 @@
 <template>
-    <div class="details-p">
-        <div class="de-tops">
-          <div class="word">
-            <i class="word-imgs" :class="'van-icon van-icon-diy-' + fileType(detailData.docFileType)"></i>
+    <div class="details-p" ref="sContent"  @scroll="showMorePage">
+        <div>
+          <div class="top-title-group flex-r-c">
+            <van-icon :name="'diy-' + fileType(detailData.docFileType)"></van-icon>
+            <div class="flex">{{detailData.docName}}</div>
           </div>
-          <span>{{detailData.docName}}</span>
-        </div>
-        <div class="middles">
+          <div class="middles">
             <h3>摘要</h3>
             <p>{{detailData.docSummary}}</p>
             <div class="continue" v-show="buyed == 0">全文共{{detailData.docPageSize}}页,<span @click="uploaded">阅读全文<van-icon name="arrow-down" size="18" /></span></div>
+          </div>
         </div>
         <van-sticky :offset-top="Offset" @scroll="stickyScroll" v-show="buyed == 1">
           <div class="head-tip" :class="{'is-fixed':fixed}">
@@ -17,11 +17,12 @@
                 <van-icon class="word01" :name="'diy-' + fileType(detailData.docFileType)" />
                 <span class="flex">{{detailData.docName}}</span>
               </h3>
-             <!-- <span class="pages"><i id="page_num"></i> / <i>{{detailData.docPageSize}}</i></span> -->
+<!--              <span class="pages"><i id="page_num"></i> / <i>{{detailData.docPageSize}}</i></span>-->
           </div>
         </van-sticky>
         <div class="botts" v-show="buyed == 1">
-            <pdf  v-for="i in pdfPage.pageNum" :key="i"  :src="pdfPage.url" :page="i"></pdf>
+            <pdf  v-for="i in getPageNum"
+                  :key="i"  :src="pdfPage.url" :page="i"></pdf>
         </div>
         <van-goods-action>
             <van-goods-action-icon class="no-icon">
@@ -99,7 +100,7 @@ export default class extends Vue {
 
   getAdd: any
   getRemove: any
-  detailData: any = []
+  detailData: any = {}
   collectd = 0
   buyed = 0
   flag = false
@@ -119,11 +120,18 @@ export default class extends Vue {
     }
   }
 
+  showPageNum = 2
+  showPageNumT: any = ''
+
   created () {
     this.docIds = this.$route.params.id
     this.onList()
   }
 
+  get getPageNum () {
+    return this.showPageNum
+  }
+
   get Offset () {
     const tempN = document.querySelector('.j-header.jy-app-header') as HTMLDivElement
     if (tempN) {
@@ -133,6 +141,27 @@ export default class extends Vue {
     }
   }
 
+  getMorePage () {
+    if (this.showPageNum < this.pdfPage.pageNum) {
+      if (this.showPageNum + 2 <= this.pdfPage.pageNum) {
+        this.showPageNum = this.showPageNum + 2
+      } else {
+        this.showPageNum = this.pdfPage.pageNum
+      }
+    }
+  }
+
+  showMorePage () {
+    const tDom = this.$refs.sContent as HTMLDivElement
+    const beBottom = tDom.scrollHeight - tDom.clientHeight - tDom.scrollTop
+    if (beBottom <= 200) {
+      clearTimeout(this.showPageNumT)
+      this.showPageNumT = setTimeout(() => {
+        this.getMorePage()
+      }, 300)
+    }
+  }
+
   getNumPages (url: string) {
     const loadingTask = pdf.createLoadingTask(url)
     loadingTask.promise.then((pdf: any) => {
@@ -176,16 +205,6 @@ export default class extends Vue {
   }
 
   stickyScroll (data: any) {
-    const tops = data.scrollTop
-    let base = 0
-    // console.log(this.pData.heightList)
-    for (let i = 0; i < this.pData.heightList.length; i++) {
-      base += this.pData.heightList[i]
-      if (tops <= base) {
-        this.updateText({ type: 'num', value: i + 1 })
-        break
-      }
-    }
     if (data.isFixed) {
       this.fixed = true
     } else {
@@ -293,16 +312,25 @@ export default class extends Vue {
 @include diy-icon('guanzhu', 20, 20);
 @include diy-icon('iconJianYu', 24, 24);
 .details-p {
-    // height: 100%;
-    // overflow: scroll;
-    display: contents!important;
+    height: 100%;
     padding-bottom: 80px;
     box-sizing: border-box;
+  .top-title-group {
+    padding: 24px 16px;
+    box-sizing: border-box;
+    background-color: #fff;
+    color: #171826;
+    font-size: 20px;
+    line-height: 30px;
+    letter-spacing: 0px;
+    text-align: left;
+    .van-icon {
+      margin-right: 8px;
+    }
+  }
     .de-tops {
+        min-height: 70px;
         display: flex;
-        flex-direction: initial;
-        height: auto!important;
-        min-height: auto!important;
         background: #fff;
         padding: 0 16px;
         .word {
@@ -311,11 +339,14 @@ export default class extends Vue {
           margin-right: 8px;
           padding-top: 24px;
           .word-imgs {
+            display: flex;
             width: 24px;
             height: 24px;
           }
         }
-        span {
+        .sp-text {
+          display: flex;
+          flex-wrap: wrap;
           padding: 24px 0;
           color: #171826;
           font-size: 20px;

+ 4 - 4
jydocs-mobile/vue.config.js

@@ -39,7 +39,7 @@ module.exports = {
   publicPath: process.env.BASE_URL,
   parallel: false,
   productionSourceMap: false,
-  outputDir: 'page_docs_app',
+  outputDir: 'page_docs_mobile',
   devServer: {
     port: '8080',
     open: false,
@@ -52,13 +52,13 @@ module.exports = {
         logLevel: 'debug'
       },
       '^/jypay': {
-        // target: 'https://web2-jytest.jydev.jianyu360.com',
-        target: 'http://192.168.20.145:86',
+        target: 'https://web2-jytest.jydev.jianyu360.com',
+        // target: 'http://192.168.20.180:86',
         changeOrigin: true,
         logLevel: 'debug'
       },
       '^/jyintegral': {
-        target: 'http://web2-jytest.jydev.jianyu360.com',
+        target: 'https://web2-jytest.jydev.jianyu360.com',
         // target: 'http://192.168.20.145:820',
         changeOrigin: true,
         logLevel: 'debug'

+ 1 - 1
jydocs-pc/.env.alone

@@ -1,5 +1,5 @@
 NODE_ENV=development
-VUE_APP_BASE_API='/jydocs/'
+VUE_APP_BASE_API='/jydocs'
 VUE_APP_BASE_URL='/'
 VUE_APP_MOCK=false
 VUE_APP_ALONE=true

+ 1 - 1
jydocs-pc/.env.production

@@ -1,5 +1,5 @@
 NODE_ENV=production
 VUE_APP_BASE_API='/jydocs/'
 VUE_APP_BASE_URL='/swordfish/docs'
-VUE_APP_BASE_PUBLIC='/page_docs/'
+VUE_APP_BASE_PUBLIC='/page_docs_pc/'
 VUE_APP_LOG_URL='https://www.jianyu360.com/jyLogs/actionInfo?logAction='

+ 1 - 1
jydocs-pc/.env.test

@@ -1,5 +1,5 @@
 NODE_ENV=production
 VUE_APP_BASE_API='/jydocs/'
 VUE_APP_BASE_URL='/swordfish/docs'
-VUE_APP_BASE_PUBLIC='/page_docs/'
+VUE_APP_BASE_PUBLIC='/page_docs_pc/'
 VUE_APP_LOG_URL='https://web2-jytest.jydev.jianyu360.com/jyLogs/actionInfo?logAction='

+ 2 - 2
jydocs-pc/README.md

@@ -57,7 +57,7 @@
 ###### nginx
 ```
 # 剑鱼文库 前端配置
-location ^~/page_docs {
+location ^~/page_docs_pc {
     if ($uri ~ \.html$) {
 		add_header         Pragma   no-cache;
         add_header         Expires  0;
@@ -65,6 +65,6 @@ location ^~/page_docs {
     }
     root /opt/nginx/nginx/html/;
     index index.html;
-    try_files $uri $uri/ /page_docs/index.html;
+    try_files $uri $uri/ /page_docs_pc/index.html;
 }
 ```

+ 1 - 1
jydocs-pc/vue.config.js

@@ -1,7 +1,7 @@
 module.exports = {
   parallel: false,
   productionSourceMap: false,
-  outputDir: 'page_docs',
+  outputDir: 'page_docs_pc',
   publicPath: process.env.VUE_APP_BASE_PUBLIC,
   lintOnSave: true,
   devServer: {