From 85fb718ae06cb0b5a74782cb6cbd081bfc870fcb Mon Sep 17 00:00:00 2001
From: litian <C21AF165>
Date: 星期一, 16 十二月 2024 10:12:55 +0800
Subject: [PATCH] 出版日期

---
 pages/home/home.js |  390 +++++++++++++++++++++++++++++++++++++++++--------------
 1 files changed, 291 insertions(+), 99 deletions(-)

diff --git a/pages/home/home.js b/pages/home/home.js
index 135cfca..a70fd1b 100644
--- a/pages/home/home.js
+++ b/pages/home/home.js
@@ -1,7 +1,6 @@
 import {
   fetchHome
 } from '../../services/home/home';
-import moment from 'moment'
 import {
   loginInfo
 } from '../../assets/js/login';
@@ -11,12 +10,13 @@
     barHeight: '',
     navBarHeight: '',
     searchVal: '',
+    scoll: false,
     isWhite: false,
     userInfo: {},
     tabList: [], //鐩綍
     current: 1, //杞挱鍥惧弬鏁�
     autoplay: true, //杞挱鍥惧弬鏁�
-    duration: '500', //杞挱鍥惧弬鏁�
+    duration: '500', //杞挱鍥惧弬鏁� 
     interval: 5000, //杞挱鍥惧弬鏁�
     navigation: {
       type: 'dots'
@@ -26,6 +26,7 @@
     activeItem: 0, //绮鹃�夎绋嬮粯璁ら�変腑
     courseTypeList: [], //绮鹃�夎绋嬪垎绫�
     courseList: [],
+    courseTypeActive: [],
     bookTypeList: [], //鍥句功绫诲瀷
     activeItem1: 0,
     bookTypeData: {},
@@ -36,15 +37,23 @@
     shoppingCartGetId: [],
     baseRefresh: {
       value: false
-    }
+    },
+    loading: true,
   },
   onShow() {
+    this.setData({
+      searchVal: "",
+    });
     this.loadHomePage();
-    this.getBannerList()
-
+    const token = wx.getStorageSync(app.config.tokenKey)
+    if (token) {
+      this.getShoppingCartList()
+    }
+    this.init();
   },
 
   onLoad() {
+    this.getBannerList()
     const systInfo = wx.getSystemInfoSync();
     const menu = wx.getMenuButtonBoundingClientRect(); // 鑳跺泭淇℃伅
     const navBarHeight = (menu.top - systInfo.statusBarHeight) * 2 + menu.height; // 瀵艰埅鏍忛珮搴�
@@ -55,27 +64,27 @@
 
     // 棣栭〉娴嬭瘯鐧诲綍鍔熻兘锛屽悗缁敞閲�
     // 妫�鏌ョ櫥褰曠姸鎬�
-    // const token = wx.getStorageSync(app.config.tokenKey)
-    // if (!token) {
-    //   loginInfo(app, (data) => {
-    //     // 濡傛灉涓嶆槸绗竴娆$櫥褰曪紝浼氭墽琛屽洖璋�
-    //     if (data) {
-    //       // 鐧诲綍鎴愬姛锛岃嚜鍔ㄨ褰晅oken鍜岀敤鎴蜂俊鎭紝骞惰繑鍥瀟rue
-    //     } else {
-    //       // 鍑虹幇閿欒锛岃繑鍥瀎alse
-    //     }
-    //   })
-    // } else {
-    //   // 濡傛灉鏄涓�娆$櫥褰曪紝浼氳烦杞嚦缁戝畾鐢ㄦ埛淇℃伅椤甸潰锛屽~鍐欏畬鐢ㄦ埛淇℃伅鍚庤繘琛岀櫥褰曞苟鍌ㄥ瓨token鍜岀敤鎴蜂俊鎭紝缁撴潫鍚庤烦杞洖褰撳墠椤甸潰锛堟惡甯﹂〉闈㈠弬鏁帮級
-    // }
+    const token = wx.getStorageSync(app.config.tokenKey)
+    if (!token) {
+      loginInfo(app, (data) => {
+        // 濡傛灉涓嶆槸绗竴娆$櫥褰曪紝浼氭墽琛屽洖璋�
+        if (data) {
+          this.init();
+          this.registe()
+        } else {
+          this.init();
+        }
+      })
+    }
 
-    this.init();
   },
   onReachBottom() {},
   onPullDownRefresh() {
     this.setData({
       'baseRefresh.value': true,
+      isWhite: false
     })
+    this.getBannerList();
     this.init();
   },
   init() {
@@ -93,12 +102,21 @@
     }, 500);
   },
 
+  registe() {
+    app.MG.app.creatUserBehavior({
+      refCode: "sign"
+    }).then(res => {});
+  },
+
   getBannerList() {
     const list = []
     app.MG.resource.getItem({
       path: 'jsek_banner\\jsek_homeBannerApplet',
       fields: {
         jsek_link: []
+      },
+      coverSize: {
+        width: 400
       },
       paging: {
         start: 0,
@@ -109,15 +127,27 @@
         const item = res.datas[i]
         list.push({
           value: item.icon,
-          link: item.jsek_link
+          link: item.jsek_link,
+
         })
       }
       this.setData({
-        bannerList: list
+        bannerList: list,
+        loading: false
       })
     })
   },
-
+  navToActivityDetail(e) {
+    let {
+      info
+    } = e.currentTarget.dataset
+    console.log(info)
+    if (info.link) {
+      wx.navigateTo({
+        url: info.link,
+      });
+    }
+  },
 
   loadHomePage() {
     fetchHome().then(({
@@ -131,6 +161,7 @@
   //鐐瑰嚮鐩綍
   toPages(item) {
     let info = item.target.dataset.info
+    console.log(info);
     if (info.url) {
       if (info.text == "鍥句功鏈嶅姟") {
         wx.switchTab({
@@ -161,6 +192,10 @@
         start: 0,
         size: 4
       },
+      filterList: [{
+        value: 'Normal',
+        field: 'state'
+      }],
       fields: {
         liveTime: [],
         lecturer: [],
@@ -171,8 +206,8 @@
     }
     app.MG.store.getProductList(obj).then((res) => {
       res.datas.forEach((item) => {
-        item.liveTime = item.liveTime ? moment(item.liveTime).format("MM-DD HH:mm:ss") : '';
-        item.startTime = item.startTime ? moment(item.startTime).format("MM-DD HH:mm:ss") : '';
+        item.liveTime = item.liveTime ? item.liveTime.substring(5) : '';
+        item.startTime = item.startTime ? item.startTime.substring(5) : '';
         item.price = item.price ? item.price.toFixed(2) : item.price;
       });
       this.setData({
@@ -186,7 +221,6 @@
   getCourseTypeListList() {
     const data = {
       path: 'jsek_homepageDigitalCourses',
-      filterList: [],
       queryType: '\\',
       searchList: [],
       size: '20',
@@ -195,7 +229,11 @@
       sort: {
         type: 'Asc',
         field: 'LinkOrder'
-      }
+      },
+      filterList: [{
+        value: 'Normal',
+        field: 'state'
+      }]
     }
     app.MG.store.getStoreChannelList(data).then((res) => {
       if (res.datas && res.datas.length > 0) {
@@ -214,13 +252,17 @@
     const obj = {
       storeInfo: "app.config.goodsStore",
       path: item.pathList + '\\' + item.id,
-      coverSize: {
-        width: 260
-      },
+      // coverSize: {
+      //   height: 205
+      // },
       paging: {
         start: 0,
         size: 4
       },
+      filterList: [{
+        value: 'Normal',
+        field: 'state'
+      }],
       fields: {
         courseLeader: [],
         affiliatedUnit: [],
@@ -231,6 +273,7 @@
     app.MG.store.getProductList(obj).then((res) => {
       res.datas.forEach((item) => {
         item.price = item.price ? item.price.toFixed(2) : item.price;
+        item.isbuy = item.purchasedSaleMethodIdList.indexOf(item.defaultSaleMethodId) > -1
       });
       this.setData({
         courseList: res.datas
@@ -239,13 +282,20 @@
   },
   tabChangeHandle(item) {
     let info = this.data.courseTypeList[item.detail.value]
+    this.setData({
+      courseList: [],
+      courseTypeActive: item.detail.value
+    })
     this.getCourseList(info)
   },
   //鍥句功鏈嶅姟鍒嗙被
   getBookTypeList() {
     const data = {
       path: 'jsek_homepageBookService',
-      filterList: [],
+      filterList: [{
+        value: 'Normal',
+        field: 'state'
+      }],
       queryType: '\\',
       searchList: [],
       size: '20',
@@ -282,6 +332,10 @@
         start: 0,
         size: 6
       },
+      filterList: [{
+        value: 'Normal',
+        field: 'state'
+      }],
       fields: {
         author: []
       }
@@ -303,8 +357,8 @@
   //鏁板瓧闃呰
   getReadBookList() {
     const obj = {
-      storeInfo: app.config.digitalTextbooks,
-      path: 'jsek_homepageDigitalTextbooks',
+      storeInfo: app.config.digitalRead,
+      path: 'jsek_homepageDigitalReading',
       coverSize: {
         width: 150
       },
@@ -312,6 +366,10 @@
         start: 0,
         size: 3
       },
+      filterList: [{
+        value: 'Normal',
+        field: 'state'
+      }],
       fields: {
         author: []
       }
@@ -334,6 +392,10 @@
         start: 0,
         size: 6
       },
+      filterList: [{
+        value: 'Normal',
+        field: 'state'
+      }],
       fields: {
         author: [],
       }
@@ -341,6 +403,7 @@
     app.MG.store.getProductList(obj).then((res) => {
       res.datas.forEach((item) => {
         item.price = item.price ? item.price.toFixed(2) : item.price;
+        item.isbuy = item.purchasedSaleMethodIdList.indexOf(item.defaultSaleMethodId) > -1
       });
       this.setData({
         textbookList: res.datas
@@ -389,44 +452,54 @@
     });
   },
   goSubjectDetail(e) {
-    const {
-      book
-    } = e.currentTarget.dataset;
-    wx.showToast({
-      title: "寤鸿涓�",
-      icon: 'none',
-      duration: 1000
+    // return wx.showToast({
+    //   title: "寤鸿涓�",
+    //   icon: 'none',
+    //   duration: 1000
+    // })
+    const item = e.currentTarget.dataset.book
+    // 缃戦〉绫诲瀷璺宠浆鍒扮綉鍧�澶嶅埗椤碉紝鍥犱负url浼犲弬涓嶈兘浼� 甯﹀弬鏁扮殑缃戠粶鍦板潃锛屾墍浠ユ澶勮鎶婄綉缁滃湴鍧�閲岀殑浼犲弬鎽樺嚭鏉ワ紝鏀惧埌url閲�
+    let urlData = ''
+    const flags = item.jsek_link.indexOf("?")
+    if (flags > -1) {
+      urlData = item.jsek_link.slice(flags + 1, item.jsek_link.length)
+    }
+    let url = '/packageBookService/pages/bookServices/linkPage/index'
+    wx.navigateTo({
+      url: urlData ? url + `?path=${item.jsek_link.slice(0,flags)}` + '&' + urlData : url + `?path=${item.jsek_link}`
     })
+
   },
   goCourseDetail(e) {
+    // return wx.showToast({
+    //   title: "寤鸿涓�",
+    //   icon: 'none',
+    //   duration: 1000
+    // })
+
     const {
       book
     } = e.currentTarget.dataset;
-    wx.showToast({
-      title: "寤鸿涓�",
-      icon: 'none',
-      duration: 1000
-    })
+    console.log(book);
+    wx.navigateTo({
+      url: '/pages/digitalCourses/digitalCoursesDetails/index?id=' + book.id + '&path=' + book.idPath,
+    });
   },
   goReadBookDetail(e) {
     const {
       book
     } = e.currentTarget.dataset;
-    wx.showToast({
-      title: "寤鸿涓�",
-      icon: 'none',
-      duration: 1000
-    })
+    wx.navigateTo({
+      url: '/pages/home/digitalRead/index?productId=' + book.id,
+    });
   },
   goTextBookDetail(e) {
     const {
       book
     } = e.currentTarget.dataset;
-    wx.showToast({
-      title: "寤鸿涓�",
-      icon: 'none',
-      duration: 1000
-    })
+    wx.navigateTo({
+      url: '/pages/digitalTextbooks/digitalTextbooksDetails/index?id=' + book.id,
+    });
   },
 
 
@@ -447,63 +520,117 @@
       })
     })
   },
-  addCart(e) {
+  async addCart(e) {
     const {
       info
     } = e.currentTarget.dataset;
-    wx.showToast({
-      title: "寤鸿涓�",
-      icon: 'none',
-      duration: 1000
-    })
-    return;
     if (wx.getStorageSync(app.config.tokenKey)) {
-      let query = {
-        start: 0,
-        size: 999,
-        filterList: [],
-        searchList: []
-      }
-      try {
-        if (
-          this.data.shoppingCartGetId.includes(
-            info.defaultSaleMethodId
-          )
-        ) {
-          wx.showToast({
-            title: "璇ヤ功宸插湪璐墿杞︼紝璇峰嬁閲嶅娣诲姞绌�",
-            icon: 'none',
-            duration: 1000
-          })
-        } else {
-          let query = {
-            requests: [{
-              saleMethodId: info.defaultSaleMethodId,
-              storeEventId: null,
-              agentCode: '鐢靛瓙涔�'
-            }]
-          }
-          const addRes = app.MG.store.addShoppingCart(query)
-          if (addRes) {
+      if (info.isbuy) {
+        wx.showToast({
+          title: "璇ュ晢鍝佸凡璐拱",
+          icon: 'none',
+          duration: 1000
+        })
+      } else {
+        let query = {
+          start: 0,
+          size: 999,
+          filterList: [],
+          searchList: []
+        }
+        try {
+          if (
+            this.data.shoppingCartGetId.includes(
+              info.defaultSaleMethodId
+            )
+          ) {
             wx.showToast({
-              title: "娣诲姞鎴愬姛",
-              icon: 'success',
+              title: "璇ュ晢鍝佸凡鍦ㄨ喘鐗╄溅锛岃鍕块噸澶嶆坊鍔�",
+              icon: 'none',
               duration: 1000
             })
+          } else {
+            let query = {
+              requests: [{
+                saleMethodId: info.defaultSaleMethodId,
+                storeEventId: null,
+                agentCode: '鐢靛瓙涔�'
+              }]
+            }
+            const addRes = await app.MG.store.addShoppingCart(query)
+            if (addRes) {
+              wx.showToast({
+                title: "娣诲姞鎴愬姛",
+                icon: 'success',
+                duration: 1000
+              })
+            }
+            this.getShoppingCartList()
           }
-          this.getShoppingCartList()
+
+        } catch (error) {
+          console.error('鍑洪敊浜嗭細', error)
         }
-      } catch (error) {
-        console.error('鍑洪敊浜嗭細', error)
       }
     }
-
   },
   onMoreGuide(e) {
     let type = e.currentTarget.dataset.info
     if (type == "tushufuwu") {
+      let assortCode = "";
+      if (this.data.bookTypeData.name == '楂樼瓑鏁欒偛') {
+        assortCode = "jsek_higherEducation"
+      }
+      if (this.data.bookTypeData.name == '鑱屼笟鏁欒偛') {
+        assortCode = "jsek_vocationalEducation"
+      }
+      if (this.data.bookTypeData.name == '鏁欏笀鏁欒偛') {
+        assortCode = "jsek_teacherEducation"
+      }
+      if (this.data.bookTypeData.name == '灏戝効鏁欒偛') {
+        assortCode = "jsek_childrenEducation"
+      }
+      if (this.data.bookTypeData.name == '鑰冭瘯鍩硅') {
+        assortCode = "jsek_examTraining"
+      }
+      if (this.data.bookTypeData.name == '涓婚鍑虹増') {
+        assortCode = "jsek_themePublishing"
+      }
+      if (this.data.bookTypeData.name == '瀛︽湳钁椾綔') {
+        assortCode = "jsek_academicWorks"
+      }
+      if (this.data.bookTypeData.name == '澶т紬璇荤墿') {
+        assortCode = "jsek_popularReadingMaterials"
+      }
       wx.navigateTo({
-        url: '/packageBookService/pages/bookServices/list/index?assorName=' + this.data.bookTypeData.name
+        url: '/packageBookService/pages/bookServices/list/index?assorName=' + this.data.bookTypeData.name + '&assortCode=' + assortCode
+      })
+    } else if (type == "shuziyuedu") {
+      wx.navigateTo({
+        url: '/pages/home/digitalRead/index'
+      })
+    } else if (type == "zhuantitaolun") {
+      // return wx.showToast({
+      //   title: "寤鸿涓�",
+      //   icon: 'none',
+      //   duration: 1000
+      // })
+      wx.navigateTo({
+        url: '/pages/specialDiscussion/index'
+      })
+
+    } else if (type == "jingxuankecheng") {
+      // return wx.showToast({
+      //   title: "寤鸿涓�",
+      //   icon: 'none',
+      //   duration: 1000
+      // })
+      wx.navigateTo({
+        url: '/pages/digitalCourses/index?courseTypeActive=' + this.data.courseTypeActive
+      })
+    } else if (type == "shuzijiaocai") {
+      wx.navigateTo({
+        url: '/pages/digitalTextbooks/index'
       })
     } else {
       wx.showToast({
@@ -515,16 +642,81 @@
 
   },
 
+  // 鎵竴鎵�
+  onIconScanTap() {
+    wx.scanCode({
+      success(res) {
+        console.log(res);
+        if (res.errMsg == "scanCode:ok" && res.path || res.result) {
+          if (res.path) {
+            let path = res.path || res.result
+            wx.redirectTo({
+              url: '/' + path,
+            })
+          } else {
+            wx.redirectTo({
+              url: '/pages/scanResult/index?result=' + res.result,
+            })
+          }
+        }
+      }
+    })
+  },
+
+
 
   // 鐩戝惉婊氬姩鏉�
   onScroll(e) {
+    if (this.data.scoll) {
+      if (e.detail.scrollTop < 20) {
+        this.data.scoll = false
+        // 閬垮厤棰戠箒璋冪敤 setData
+        if (this.data.isWhite)
+          this.isChange(false);
+      }
+    } else {
+      if (e.detail.scrollTop > 20) {
+        this.data.scoll = true
+        // 閬垮厤棰戠箒璋冪敤 setData
+        if (!this.data.isWhite)
+          this.isChange(true);
+      }
+    }
+  },
+  isChange(data) {
     this.setData({
-      isWhite: e.detail.scrollTop > 10 ? true : false
+      isWhite: data
     })
   },
+
   onRetrievalPage() {
-    wx.navigateTo({
-      url: '/pages/retrievalPage/index?searchVal=' + this.data.searchVal
-    })
+
+    // 棣栭〉娴嬭瘯鐧诲綍鍔熻兘锛屽悗缁敞閲�
+    // 妫�鏌ョ櫥褰曠姸鎬�
+    const token = wx.getStorageSync(app.config.tokenKey)
+    if (!token) {
+      loginInfo(app, (data) => {
+        // 濡傛灉涓嶆槸绗竴娆$櫥褰曪紝浼氭墽琛屽洖璋�
+        if (data) {
+          wx.navigateTo({
+            url: '/pages/retrievalPage/index?searchVal=' + this.data.searchVal
+          })
+        } else {
+          // 鍑虹幇閿欒锛岃繑鍥瀎alse
+        }
+      })
+    } else {
+      wx.navigateTo({
+        url: '/pages/retrievalPage/index?searchVal=' + this.data.searchVal
+      })
+    }
+
+
   },
+
+  /**
+   * 鐢ㄦ埛鐐瑰嚮鍙充笂瑙掑垎浜�
+   */
+  onShareAppMessage() {},
+  onShareTimeline() {}
 });
\ No newline at end of file

--
Gitblit v1.9.1