tanyanfei 3 years ago
parent
commit
f8fafdc31b

+ 2 - 1
app.json

@@ -26,7 +26,8 @@
     "backgroundTextStyle": "light",
     "navigationBarBackgroundColor": "#fff",
     "navigationBarTitleText": "中科院期刊平台",
-    "navigationBarTextStyle": "black"
+    "navigationBarTextStyle": "black",
+    "enablePullDownRefresh":true
   },
   "tabBar": {
     "color": "#666666",

+ 74 - 17
pages/index/index.js

@@ -17,7 +17,11 @@ Page({
     organizers:[],
     subjects:[],
     show:1,
-    uid:''
+    uid:'',
+    page_org:1,
+    page_sub:1,
+    total_org:0,
+    total_sub:0
   },
 
 
@@ -81,6 +85,28 @@ Page({
     })   
     
   },
+  //主办单位下一页
+  next_org:function(){
+    if(this.data.organizers.length < this.data.total_org){
+        const page = this.data.page_org+1
+        this.setData({
+          page_org: page
+        })
+        this.getorg()
+    }
+    
+  },
+  //领域期刊下一页
+  next_sub:function(){
+    if(this.data.subjects.length < this.data.total_sub){
+        const page = this.data.page_sub+1
+        this.setData({
+          page_sub: page
+        })
+        this.getsub()
+    }
+    
+  },
   //获取所有数据
   getData:function(flag){
     wx.showNavigationBarLoading()
@@ -114,36 +140,61 @@ Page({
         }
       })
     }
-    
-    // 主办单位
+    this.getorg()
+    this.getsub()
+  }, 
+  //主办单位
+  getorg:function(){
+    const organizers=this.data.organizers;
     wx.request({
       url: host + '/api/index/organizers',
       method: 'GET',
-      data:{
-        uid:this.data.uid
+      data: {
+        uid: this.data.uid,
+        page: this.data.page_org
       },
-      success: function (res) {
+      success: res=>{
         wx.hideNavigationBarLoading()
-        that.setData({
-          organizers: res.data.data.list
-        })
+        if(res.data.code == 0){
+          const list=res.data.data.list;
+          for(let i=0;i<list.length;i++){
+            organizers.push(list[i])
+          }
+          this.setData({
+            organizers: organizers,
+            total_org:res.data.data.total
+          })
+        }
+        
       }
     })
-    // 领域期刊
+  },
+  //领域期刊
+  getsub:function(){
+    const subjects=this.data.subjects;
     wx.request({
       url: host + '/api/index/subjects',
       method: 'GET',
       data: {
-        uid: this.data.uid
+        uid: this.data.uid,
+        page: this.data.page_sub
       },
-      success: function (res) {
+      success: res=>{
         wx.hideNavigationBarLoading()
-        that.setData({
-          subjects: res.data.data.list
-        })
+        if(res.data.code == 0){
+          const list=res.data.data.list;
+          for(let i=0;i<list.length;i++){
+            subjects.push(list[i])
+          }
+          this.setData({
+            subjects: subjects,
+            total_sub:res.data.data.total
+          })
+        }
+        
       }
     })
-  }, 
+  },
   search:function(){
     wx.navigateTo({
       url: '../search/search',
@@ -261,5 +312,11 @@ Page({
   },
   toDetail:function(e){
     console.log(e)
-  }
+  },
+  /**
+   * 页面相关事件处理函数--监听用户下拉动作
+   */
+  onPullDownRefresh: function () {
+     
+  },
 })

+ 6 - 2
pages/index/index.wxml

@@ -50,7 +50,7 @@
   </swiper-item>
   <!-- 主办单位 -->
   <swiper-item>
-      <scroll-view  scroll-y="true">
+      <scroll-view  scroll-y="true" bindscrolltolower='next_org'>
           <view class="dw" wx:for='{{organizers}}' wx:key="organizers{{index}}">
               <navigator class="dw_title" url="../list/list?organizer_id={{item.id}}&title={{item.name}}">
                 <view>{{item.name}}</view>
@@ -65,11 +65,13 @@
                     <view wx:else bindtap="top" data-type='organizer' data-id='{{item.id}}' class="top">置顶</view>
               </view>
           </view>
+          <view class='more' wx:if='{{organizers.length < total_org}}'>上拉加载更多...</view>
+          <view class='more' wx:else>已加载全部数据!</view>
       </scroll-view>
   </swiper-item>
   <!-- 领域期刊 -->
   <swiper-item>
-      <scroll-view scroll-y="true">
+      <scroll-view scroll-y="true" bindscrolltolower='next_sub'>
           <view class="dw" wx:for='{{subjects}}' wx:key="*this">
               <navigator class="dw_title" url="../list/list?subject_id={{item.id}}&title={{item.name}}"><view>{{item.name}}</view>
               <image mode="widthFix"  src="../images/left.png"></image>
@@ -84,6 +86,8 @@
                     <view wx:else bindtap="top" data-id='{{item.id}}' data-type='subject' class="top">置顶</view>
               </view>
           </view>
+          <view class='more' wx:if='{{subjects.length < total_sub}}'>上拉加载更多...</view>
+          <view class='more' wx:else>已加载全部数据!</view>
       </scroll-view>
   </swiper-item>
   <swiper-item>

+ 6 - 0
pages/index/index.wxss

@@ -1,4 +1,5 @@
 /**index.wxss**/
+
 .search{
   height: 64rpx;
   background: #fff;
@@ -270,4 +271,9 @@ scroll-view{
 }
 .myswiper{
   height: calc(100vh - 446rpx);
+}
+.more{
+  text-align:center;
+  color:#999;
+  padding:5rpx 0;
 }

+ 24 - 2
pages/journalDetail/journalDetail.js

@@ -7,7 +7,8 @@ Page({
    * 页面的初始数据
    */
   data: {
-    info:{}
+    info:{},
+    show:false
   },
 
   /**
@@ -39,7 +40,28 @@ Page({
       }
     })
   },
-
+  weixin:function(){
+    if (this.data.info.qrcode){
+      this.setData({
+        show: true
+      })
+    }else{
+      wx.showToast({
+        title: '该期刊暂无公众号',
+      })
+    }
+  },
+  close:function(){
+    this.setData({
+      show:false
+    })
+  },
+  view:function(){
+    wx.previewImage({
+      urls: [this.data.info.qrcode],
+      current: this.data.info.qrcode
+    })
+  },
   /**
    * 生命周期函数--监听页面初次渲染完成
    */

+ 23 - 2
pages/journalDetail/journalDetail.wxml

@@ -10,7 +10,7 @@
       <view>主编:{{info.editor}}</view>
       <view>主办单位:{{info.publishingUnit}}</view>
     </view>
-    <button class="gzgzh">关注公众账号</button>
+    <button bindtap="weixin" class="gzgzh">关注公众账号</button>
   </view>
   <view class="intro">
     <text>期刊简介:</text>
@@ -62,4 +62,25 @@
                       </view>
                   </navigator> 
               </view>
-</view>
+</view>
+
+
+<view wx:if='{{show}}' class="ewm">
+    <view  class="bg" bindtap="close"></view>
+    <view class="ww">
+        <view class="t">
+            <image src="{{info.img}}"></image>
+            <view>
+              <view>{{info.name}}</view>
+              <view style="color:#999;">微信号:{{info.wxcode}}</view>
+            </view>
+        </view>
+        <image bindtap="view" class="m" mode="widthFix" src="{{info.qrcode}}"></image>
+        <view class="b">
+            <text>1.扫描二维码,关注期刊公众号</text>
+            <text>2.点击图片放大后长按可保存</text>
+        </view>
+    </view>
+</view>
+
+

+ 53 - 0
pages/journalDetail/journalDetail.wxss

@@ -134,4 +134,57 @@
 }
 .hd .tt{
   margin-bottom: 16rpx;
+}
+
+.ewm{
+    position: fixed;
+    width: 100%;
+    height: 100vh;
+    top: 0;
+    left: 0;
+}
+.bg{
+  position: fixed;
+  width: 100%;
+  height: 100vh;
+  top: 0;
+  left: 0;
+  z-index: 9;
+  background: rgba(0,0,0,.5);
+}
+.ewm>.ww{
+  background: #fff;
+  border-radius: 18rpx;
+  padding: 100rpx;
+  display: block;
+  position: absolute;
+  width: 90%;
+  top: 0;
+  bottom: 0;
+  left: 0;
+  right: 0;
+  margin: auto;
+  height: 80vh;
+  z-index: 99;
+}
+
+.t image{
+  width: 100rpx;
+  height: 100rpx;
+  border-radius: 8rpx;
+}
+.t>view{
+  display: inline-block;
+  vertical-align: top;
+  margin-left: 20rpx;
+}
+.m{
+  display: block;
+  width: 100%;
+  margin: 50rpx auto;
+}
+.b text{
+  display: block;
+  text-align: center;
+  color: #999;
 }

+ 28 - 7
pages/knowledge/knowledge.js

@@ -12,7 +12,9 @@ Page({
     act:0,
     list:[],
     show:0,
-    keyword:''
+    keyword:'',
+    total:0,
+    page:1
   },
 
   /**
@@ -39,23 +41,42 @@ Page({
     })
     this.getData();
   },
+   //下一页
+   next:function(){
+    if(this.data.list.length < this.data.total){
+        const page = this.data.page+1
+        this.setData({
+          page: page
+        })
+        this.getData()
+    }
+    
+  },
   //获取所有数据
   getData: function () {
     wx.showNavigationBarLoading()
-    var that = this;
+    const _list=this.data.list;
     var index=this.data.index;
     wx.request({
       url: host + '/api/article/list',
       method: 'GET',
       data:{
         order_by:this.data.val[index],
-        keyword:this.data.keyword
+        keyword:this.data.keyword,
+        page:this.data.page
       },
-      success: function (res) {
+      success: res=> {
         wx.hideNavigationBarLoading()
-        that.setData({
-          list: res.data.data.list
-        })
+        if(res.data.code == 0){
+          const list=res.data.data.list;
+          for(let i=0;i<list.length;i++){
+            _list.push(list[i])
+          }
+          this.setData({
+            list: _list,
+            total:res.data.data.total
+          })
+        }
       }
     })
   }, 

+ 3 - 1
pages/knowledge/knowledge.wxml

@@ -24,7 +24,7 @@
 
 <swiper circular="{{true}}" class="myswiper" bindchange='swchange' current='{{act}}' autoplay="{{false}}">
   <swiper-item>
-      <scroll-view scroll-y="true" scroll-into-view="{{scroll}}" class="content">
+      <scroll-view scroll-y="true" scroll-into-view="{{scroll}}" bindscrolltolower='next' class="content">
           <navigator url="../actDetail/actDetail?id={{item.id}}" class="list" wx:for='{{list}}' wx:key="journals{{index}}">
               <image   src="{{item.img}}"></image>
               <view>
@@ -39,6 +39,8 @@
                   <text class="">主办单位:{{item.desc}}</text>
               </view>
           </navigator>
+          <view class='more' wx:if='{{list.length < total}}'>上拉加载更多...</view>
+          <view class='more' wx:else>已加载全部数据!</view>
       </scroll-view>
   </swiper-item>
 

+ 6 - 0
pages/knowledge/knowledge.wxss

@@ -121,4 +121,10 @@ scroll-view{
 }
 .myswiper{
   height: calc(100vh - 186rpx);
+}
+
+.more{
+  text-align:center;
+  color:#999;
+  padding:5rpx 0;
 }

+ 1 - 1
pages/learning/learning.wxss

@@ -56,7 +56,7 @@ scroll-view{
     -webkit-line-clamp: 2;
     -webkit-box-orient: vertical;
     white-space: normal;
-    height: 80rpx;   
+    height: 73rpx;   
 }
 .tj text{
   display: block;