tanyanfei 3 éve
szülő
commit
eca11ced86
6 módosított fájl, 160 hozzáadás és 34 törlés
  1. 65 11
      pages/index/index.js
  2. 17 11
      pages/index/index.wxml
  3. 50 6
      pages/stock/stock.js
  4. 9 5
      pages/stock/stock.wxml
  5. 13 0
      pages/stock/stock.wxss
  6. 6 1
      utils/api.js

+ 65 - 11
pages/index/index.js

@@ -9,8 +9,14 @@ Page({
     cur:0,
     date:'2021-11-09',
     followList:[],
+    defendList:[],
+    winList:[],
     page:1,
     total:0,
+    page1: 1,
+    total1: 0,
+    page2: 1,
+    total2: 0,
     error:0
   },
   onLoad() {
@@ -22,7 +28,9 @@ Page({
     })
     this.getFollow()
     this.getData()
-    this.getHot()
+    
+    this.getWin()
+    this.getDefen()
     $api.getNotoice().then(res=>{
       this.setData({
         notices:res.data.data
@@ -60,39 +68,84 @@ Page({
       // console.log(err)
     })
   },
-  getData(){
-    //胜率
-    $api.getRinrate().then(res=>{
-        this.setData({
-          winList:res.data.data.list
-        })
+  //胜率分页
+  next1: function () {
+    if (this.data.winList.length < this.data.total1) {
+      const page = this.data.page1 + 1
+      this.setData({
+        page1: page
+      })
+      this.getWin()
+    }
+  },
+  getWin() {
+    var winList = this.data.winList
+    $api.getRinrate({
+      page: this.data.page1, page_size: 20
+    }).then(res => {
+      res.data.data.list.forEach(item => {
+        winList.push(item)
+      })
+      this.setData({
+        winList: winList,
+        total1: res.data.data.total
+      })
     })
-    //防守
-    $api.getDefend().then(res => {
+  },
+  //防守分页
+  next2: function () {
+    if (this.data.defendList.length < this.data.total2) {
+      const page = this.data.page2 + 1
+      this.setData({
+        page2: page
+      })
+      this.getDefen()
+    }
+  },
+  getDefen() {
+    var defendList = this.data.defendList
+    $api.getDefend({
+      page: this.data.page1, page_size: 20
+    }).then(res => {
+      res.data.data.list.forEach(item => {
+        defendList.push(item)
+      })
       this.setData({
-        defendList: res.data.data.list
+        defendList: defendList,
+        total2: res.data.data.total
       })
     })
-    
+  },
+
+  getData(){
     //心得
     $api.getChampionlList().then(res => {
       this.setData({
         championList: res.data.data.list
       })
     })
+    $api.getDate().then(res=>{
+      this.setData({
+        date:res.data.data
+      })
+      this.getHot()
+    })
   }, 
   getHot(){
     //热门
     let stock_date = this.data.date
     $api.getHotbuyList({ stock_date: stock_date }).then(res => {
+      wx.hideNavigationBarLoading()
       this.setData({
         hotbuyList: res.data.data.list
       })
+      
     })
     $api.getHotsellList({ stock_date: stock_date }).then(res => {
       this.setData({
         hotsellList: res.data.data.list
       })
+      wx.hideNavigationBarLoading()
     })
   },
   tabChange(e){
@@ -120,6 +173,7 @@ Page({
     this.setData({
       date:e.detail.value
     })
+    wx.showNavigationBarLoading()
     this.getHot()
   },
   onShow: function () {

+ 17 - 11
pages/index/index.wxml

@@ -18,7 +18,7 @@
       <scroll-view  scroll-y='{{true}}' bindscrolltolower='next'>
           <view  class="item1" wx:for='{{followList}}'>
             <navigator  url="../today/today?id={{item.match_id}}&record_id={{item.id}}&player_id={{item.player_id}}">
-              <view class="name">{{item.username}}  <text>{{item.badge}}</text> 
+              <view class="name">{{item.username}}  <text wx:if='{{item.badge}}'>{{item.badge}}</text> 
               <view>TOP <text>{{item.group_rank}}</text></view></view> 
               <view class="info">
                 日期: <view>{{item.stock_date}}(收益 
@@ -59,31 +59,31 @@
               </picker>
               <view class="hot">
                     <view class="tab1">热门持仓</view>
-                    <navigator url="../stock/stock?id={{item.id}}" class="gp" wx:for='{{hotbuyList}}'>
+                    <navigator url="../stock/stock?id={{item.id}}" class="gp" wx:for='{{hotbuyList}}' wx:if='{{index<3}}'>
                         <image wx:if='{{index==0}}' mode="widthFix" src="../../images/1.png"></image>
                         <image wx:if='{{index==1}}' mode="widthFix" src="../../images/2.png"></image>
                         <image wx:if='{{index==2}}' mode="widthFix" src="../../images/3.png"></image>
                         <view class="gp-name">{{item.stock_name}}</view>
                         <view class="num">持仓 <text>{{item.count}}</text> 人</view>
                     </navigator>
-                    <navigator url="../stock/stock"  class="more">查看更多 <image mode="widthFix" src="../../images/right_icon.png"></image></navigator>
+                    <navigator url="../stock/stock?date={{date}}&type=1"  class="more">查看更多 <image mode="widthFix" src="../../images/right_icon.png"></image></navigator>
               </view>
               <view class="hot">
                     <view class="tab2">热门清仓</view>
-                    <navigator url="../stock/stock?id={{item.id}}" class="gp" wx:for='{{hotsellList}}'>
+                    <navigator url="../stock/stock?id={{item.id}}" class="gp" wx:for='{{hotsellList}}' wx:if='{{index<3}}'>
                         <image wx:if='{{index==0}}' mode="widthFix" src="../../images/1.png"></image>
                         <image wx:if='{{index==1}}' mode="widthFix" src="../../images/2.png"></image>
                         <image wx:if='{{index==2}}' mode="widthFix" src="../../images/3.png"></image>
                         <view class="gp-name">{{item.stock_name}}</view>
                         <view class="num">持仓 <text>{{item.count}}</text> 人</view>
                     </navigator>
-                    <navigator  url="../stock/stock" class="more">查看更多 <image mode="widthFix" src="../../images/right_icon.png"></image></navigator>
+                    <navigator  url="../stock/stock?date={{date}}&type=2" class="more">查看更多 <image mode="widthFix" src="../../images/right_icon.png"></image></navigator>
               </view>
           </view>
       </scroll-view>
   </swiper-item>
   <swiper-item>
-      <scroll-view  scroll-y='{{true}}'>
+      <scroll-view  scroll-y='{{true}}' bindscrolltolower='next1'>
           <view class="item3">
              <navigator class="win" wx:for='{{winList}}' url="">
                 <image wx:if='{{index==0}}' mode="widthFix" src="../../images/1.png"></image>
@@ -96,11 +96,11 @@
                     <text class="{{item.win_rate[0]=='-' ?'down':'up'}}">{{item.win_rate}}</text>
                   </view>
                 </view>
-                <view class="info">风格:
+                <view class="info" wx:if='{{item.style.length>0}}'>风格:
                 <label class="tag" wx:for='{{item.style}}' wx:for-item='i'>{{i}}</label></view>
                 <view class="info">
                     资产:  
-                    <view><label>{{item.init_fund}}w</label> (总收益 <text class='up'> {{item.total_income}} </text> 
+                    <view><label>{{item.today_fund}}w</label> (总收益 <text class='up'> {{item.total_income}} </text> 
                       <text style="color:#F5F5F5;">  |  </text>
                       <text style="font-weight:500;color:#666;">最大回撤</text>
                       <text class="{{item.badest_income[0]=='-' ?'down':'up'}}"> {{item.badest_income}} </text>)
@@ -108,10 +108,13 @@
                 </view>
              </navigator>
           </view>
+          <block wx:if='{{total1 >= 20}}'>
+            <view class='loading' wx:if='{{winList.length < total1}}'>上拉加载更多...</view>
+          </block>
       </scroll-view>
   </swiper-item>
   <swiper-item>
-      <scroll-view  scroll-y='{{true}}'>
+      <scroll-view  scroll-y='{{true}}' bindscrolltolower='next2'>
           <view class="item4">
             <navigator class="win" wx:for='{{defendList}}' url="">
                 <image wx:if='{{index==0}}' mode="widthFix" src="../../images/1.png"></image>
@@ -123,11 +126,11 @@
                   <view>最大回撤  
                   <text class="{{item.badest_income[0]=='-' ?'down':'up'}}">{{item.badest_income}}</text></view>
                 </view>
-                <view class="info">风格:
+                <view class="info" wx:if='{{item.style.length>0}}'>风格:
                 <label class="tag" wx:for='{{item.style}}' wx:for-item='i'>{{i}}</label></view>
                 <view class="info">
                     资产:  
-                    <view><label>{{item.init_fund}}w</label> 
+                    <view><label>{{item.today_fund}}w</label> 
                     (总收益 <text class="{{item.total_income[0]=='-' ?'down':'up'}}">{{item.total_income}}</text> 
                       <text style="color:#F5F5F5;">  |  </text>
                       胜率
@@ -136,6 +139,9 @@
                 </view>
             </navigator>
           </view>
+          <block wx:if='{{total2 >= 20}}'>
+            <view class='loading' wx:if='{{defendList.length < total2}}'>上拉加载更多...</view>
+          </block>
       </scroll-view>
   </swiper-item>
   <swiper-item>

+ 50 - 6
pages/stock/stock.js

@@ -7,14 +7,22 @@ Page({
    */
   data: {
     name:'',
-    id:''
+    id:'',
+    stock_date:'',
+    type:'',
+    page:1,
+    total:0,
+    list:[]
   },
 
   /**
    * 生命周期函数--监听页面加载
    */
   onLoad: function (options) {
-    
+    this.setData({
+      stock_date: options.date,
+      type: options.type
+    })
     if (options.id){
       this.setData({id:options.id})
       $api.getStock({ id: options.id}).then(res=>{
@@ -27,6 +35,7 @@ Page({
       })
     }else{
       this.getData()
+      
     }
     
   },
@@ -37,14 +46,49 @@ Page({
     this.getData()
   },
   search() {
+    this.setData({
+      total: 0,
+      list:[],
+      page:1
+    })
     this.getData()
   },
-  getData(){
-    $api.searchStock({ name: this.data.name}).then(res=>{
+  next: function () {
+    if (this.data.list.length < this.data.total) {
+      const page = this.data.page + 1
       this.setData({
-        list:res.data.data
+        page: page
       })
-    })
+      this.getData()
+    }
+  },
+  getData(){
+    wx.showNavigationBarLoading()
+    var list = this.data.list;
+    if(this.data.type == 1){
+      $api.getHotbuyList({ name: this.data.name, stock_date: this.data.stock_date, page: this.data.page, page_size: 20}).then(res => {
+        res.data.data.list.forEach(item => {
+          list.push(item)
+        })
+        wx.hideNavigationBarLoading()
+        this.setData({
+          list: list,
+          total: res.data.data.total
+        })
+      })
+    }else{
+      $api.getHotsellList({ name: this.data.name, stock_date: this.data.stock_date, page: this.data.page, page_size: 20 }).then(res => {
+        res.data.data.list.forEach(item => {
+          list.push(item)
+        })
+        wx.hideNavigationBarLoading()
+        this.setData({
+          list: list,
+          total: res.data.data.total
+        })
+      })
+    }
+    
   },
 
   /**

+ 9 - 5
pages/stock/stock.wxml

@@ -6,7 +6,7 @@
 </view>
 
 <view wx:if='{{id}}'>
-  <image mode="withFix" src="{{info.img}}"></image>
+  <image wx:show='{{info.img}}' mode="withFix" src="{{info.img}}"></image>
   <view class="desc">{{info.desc}}</view>
   <view class="player" wx:for='{{info.list}}'>
     <view class="name">{{item.username}}  <text>{{item.badge}}</text> 
@@ -23,7 +23,11 @@
     </view>
   </view>
 </view>
-
-<view wx:else>
-    <navigator class="list" url="../stock/stock?id={{item.id}}" wx:for='{{list}}'>{{item.label}}</navigator>
-</view>
+<scroll-view wx:else scroll-y='{{true}}' bindscrolltolower='next'>
+    <navigator class="list" url="../stock/stock?id={{item.id}}" wx:for='{{list}}'>{{item.stock_name}}
+    <view class="num">持仓 <text>{{item.count}}</text> 人</view>
+    </navigator>
+    <block wx:if='{{total >= 20}}'>
+            <view class='loading' wx:if='{{list.length < total}}'>上拉加载更多...</view>
+    </block>
+</scroll-view>

+ 13 - 0
pages/stock/stock.wxss

@@ -2,6 +2,9 @@
 page{
   padding: 30rpx;
 }
+scroll-view{
+  height: calc(100vh - 140rpx);
+}
 image{
   width: 100%;
   border-radius: 8rpx;
@@ -105,4 +108,14 @@ image{
 }
 .list{
   padding: 20rpx 0;
+}
+.num{
+  font-size: 28rpx;
+  color: #666;
+  text-align: right;
+  float: right;
+}
+.num text{
+  font-size: 36rpx;
+  font-weight: 500;
 }

+ 6 - 1
utils/api.js

@@ -50,6 +50,10 @@ function request(method, url, data) {
           },
           fail(err) {
             //请求失败
+            wx.showToast({
+              icon:'none',
+              title: '服务器开小差了',
+            })
             reject(err)
           }
         })
@@ -123,7 +127,8 @@ const API = {
   getStock: (data) => request(GET, `/api/wx/v2/stock`, data),
   searchStock: (data) => request(GET, `/api/wx/stock/search`, data),
   getNotoice: (data) => request(GET, `/api/wx/v2/notices/list`, data),
-
+  getDate: (data) => request(GET, `/api/wx/v2/default/date`, data),
+  
 }; 
 module.exports = {
   API: API