From 057199d5c5284a71e5d04e091492873ced412fa5 Mon Sep 17 00:00:00 2001
From: 闫增涛 <1829501689@qq.com>
Date: 星期四, 21 三月 2024 09:28:54 +0800
Subject: [PATCH] 代码合并

---
 pages/home/home.js |  451 ++++++++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 416 insertions(+), 35 deletions(-)

diff --git a/pages/home/home.js b/pages/home/home.js
index d55db36..2105851 100644
--- a/pages/home/home.js
+++ b/pages/home/home.js
@@ -1,7 +1,15 @@
 import { fetchHome } from '../../services/home/home';
+import moment from 'moment'
+import { setSessionGuid } from "../../assets/js/userAction"
 const app = getApp()
 Page({
   data: {
+    barHeight: '',
+    navBarHeight: '',
+    searchVal: '',
+    isWhite: false,
+    backUrl: null,
+    userInfo: {},
     tabList: [], //鐩綍
     pageLoading: false,
     current: 1,//杞挱鍥惧弬鏁�
@@ -11,30 +19,47 @@
     navigation: { type: 'dots' },//杞挱鍥惧弬鏁�
     bannerList: [], //杞挱鍥惧垪琛�
     specialSubjectList: [],//涓撻璁ㄨ
+    activeItem: 0,//绮鹃�夎绋嬮粯璁ら�変腑
+    courseTypeList: [],//绮鹃�夎绋嬪垎绫�
     courseList: [],
+    bookTypeList: [],//鍥句功绫诲瀷
+    activeItem1: 0,
     booksList: [],
-    textbookList: []
+    readBookList: [], //鏁板瓧闃呰
+    textbookList: [], //鏁板瓧鏁欐潗
+    rankingList: [],//鎺掕姒�
+    shoppingCartGetId: []
   },
-
-  goodListPagination: {
-    index: 0,
-    num: 20,
-  },
-
-  privateData: {
-    tabIndex: 0,
-  },
-
   onShow() {
     this.getTabBar().init();
     this.loadHomePage();
     this.getBannerList()
+
   },
 
-  onLoad() {
+  onLoad(options) {
+    const systInfo = wx.getSystemInfoSync();
+    const menu = wx.getMenuButtonBoundingClientRect(); // 鑳跺泭淇℃伅
+    const navBarHeight = (menu.top - systInfo.statusBarHeight) * 2 + menu.height; // 瀵艰埅鏍忛珮搴�
+    this.setData({
+      barHeight: systInfo.statusBarHeight,
+      navBarHeight: navBarHeight,
+    });
+    if (options.backUrl) {
+      let backUrl = JSON.parse(decodeURIComponent(options.backUrl));
+      if (backUrl.options) {
+        for (let key in backUrl.options) {
+          const value = backUrl.options[key]
+          backUrl.backUrl += `${key}=${value}&`
+        }
+      }
+      this.setData({
+        backUrl: backUrl.backUrl
+      })
+    }
+    this.getTestLoginInfo()
     this.init();
   },
-
   onReachBottom() {
   },
   onPullDownRefresh() {
@@ -42,12 +67,98 @@
   },
   init() {
     this.getSubjectList();
-    this.getCourseList();
+    this.getCourseTypeListList();
+    this.getBookTypeList();
+    this.getReadBookList();
+    this.getTextbookListList();
+    this.getRankingList();
+    this.getShoppingCartList()
+  },
+  // 鑾峰彇娴嬭瘯鐧诲綍鏃剁殑token
+  getTestLoginInfo() {
+    const token = wx.getStorageSync(app.config.tokenKey)
+    if (!token) {
+      wx.login({
+        success: (res) => {
+          wx.getUserInfo({
+            success: (infoRes) => {
+              app.MG.identity.checkWeChatAppAccount({
+                code: res.code,
+                appCode: app.config.appRefCode,
+                encryptedData: infoRes.encryptedData,
+                iv: infoRes.iv
+              }).then(loginRes => {
+                if (!loginRes) {
+                  // wx.navigateTo({
+                  //   url: "/pages/index/bindInfo/index?code=" + res.code,
+                  // });
+                } else {
+                  wx.login({
+                    success: (res) => {
+                      app.MG.identity.loginByWeChatAppCode({
+                        code: res.code,
+                        appRefCode: app.config.appRefCode,
+                        platform: "weChatApp",
+                        encryptedData: infoRes.encryptedData,
+                        iv: infoRes.iv
+                      }).then(res => {
+                        if (res && res.status == "Ok") {
+                          wx.setStorageSync(app.config.tokenKey, res.token);
+                          setSessionGuid()
+                          this.getCurrentUserInfo()
+                        }
+                      })
+                    },
+                  })
+                }
+              })
+            }
+          })
+
+        },
+      })
+    }
+  },
+
+  getCurrentUserInfo() {
+    app.MG.identity.getCurrentAppUser().then(res => {
+      console.log(res, "userInfo");
+      // 鐢ㄦ埛淇℃伅浼樺厛绾э細鏁欏笀璁よ瘉 > 寰俊 > 瀛︾敓锛堟敞鍐屾椂榛樿锛�
+      if (res) {
+        let defaultUser = {};
+        let WeChatInfo = res.infoList.find((item) => item.type === "WeChat");
+        let phoneNumber = res.secretList.find(i => i.type == 'MobilePhone')
+        if (WeChatInfo) {
+          defaultUser = {
+            nickName: WeChatInfo.name,
+            avatarUrl: WeChatInfo.icon,
+            weChatId: WeChatInfo.id
+          }
+        }
+        if (phoneNumber) {
+          defaultUser.phoneNumber = phoneNumber.credential
+        }
+        this.setData({
+          userInfo: defaultUser,
+        })
+        wx.setStorageSync(app.config.userInfoKey, JSON.stringify(this.data.userInfo));
+      }
+      if (this.data.backUrl) {
+        wx.navigateTo({
+          url: this.data.backUrl,
+        })
+      } else {
+        wx.switchTab({
+          url: '/pages/home/home'
+        })
+      }
+
+    });
   },
   getBannerList() {
     const list = []
     app.MG.resource.getItem({
-      path: 'jsek_banner\\jsek_homeBanner',
+      path: 'jsek_banner\\jsek_homeBannerApplet',
       fields: { jsek_link: [] },
       paging: { start: 0, size: 9 }
     }).then(res => {
@@ -64,20 +175,8 @@
     })
     console.log('杞挱鍥�', this.data.bannerList);
   },
-  //鎼滅储
-  navToSearchPage() {
-    wx.navigateTo({ url: '/pages/goods/search/index' });
-  },
-  //杞挱鍥捐烦杞�
-  navToActivityDetail({ detail }) {
-    const data = this.data.bannerList[detail.index]
-    console.log('璺宠浆', data.link);
-    // const { index: promotionID = 0 } = detail || {};
-    // wx.navigateTo({
-    //   url: `/pages/promotion-detail/index?promotion_id=${promotionID}`,
-    // });
-  },
-  //鑾峰彇鐩綍
+
+
   loadHomePage() {
     wx.stopPullDownRefresh();
     this.setData({
@@ -94,9 +193,15 @@
   toPages(item) {
     let info = item.target.dataset.info
     if (info.url) {
-      wx.navigateTo({
-        url: info.url
-      })
+      if (info.text == "鍥句功鏈嶅姟") {
+        wx.switchTab({
+          url: info.url
+        })
+      } else {
+        wx.navigateTo({
+          url: info.url
+        })
+      }
     } else {
       wx.showToast({
         title: "寤鸿涓�",
@@ -115,7 +220,7 @@
       },
       paging: {
         start: 0,
-        size: 3
+        size: 4
       },
       fields: {
         liveTime: [],
@@ -125,16 +230,47 @@
       }
     }
     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.price = item.price ? item.price.toFixed(2) : item.price;
+      });
       this.setData({
         specialSubjectList: res.datas
       })
+    })
+  },
+
+
+  //绮鹃�夎绋嬪垎绫�
+  getCourseTypeListList() {
+    const data = {
+      path: 'jsek_homepageDigitalCourses',
+      filterList: [],
+      queryType: '\\',
+      searchList: [],
+      size: '20',
+      start: '0',
+      storeRefCode: app.config.digitalCourses,
+      sort: { type: 'Asc', field: 'LinkOrder' }
+    }
+    app.MG.store.getStoreChannelList(data).then((res) => {
+      if (res.datas && res.datas.length > 0) {
+        let dataList = [];
+        dataList.push(...res.datas)
+        this.setData({
+          courseTypeList: dataList,
+          activeItem: 0
+        })
+        this.getCourseList(res.datas[0])
+      }
     })
   },
   //绮鹃�夎绋嬪垪琛�
   getCourseList(item) {
     const obj = {
       storeInfo: "app.config.goodsStore",
-      path: 'jsek_homepageDigitalTextbooks',
+      path: item.pathList + '\\' + item.id,
       coverSize: {
         width: 260
       },
@@ -150,9 +286,254 @@
       }
     }
     app.MG.store.getProductList(obj).then((res) => {
+      res.datas.forEach((item) => {
+        item.price = item.price ? item.price.toFixed(2) : item.price;
+      });
       this.setData({
         courseList: res.datas
       })
     })
-  }
+  },
+  tabChangeHandle(item) {
+    let info = this.data.courseTypeList[item.detail.value]
+    this.getCourseList(info)
+  },
+  //鍥句功鏈嶅姟鍒嗙被
+  getBookTypeList() {
+    const data = {
+      path: 'jsek_homepageBookService',
+      filterList: [],
+      queryType: '\\',
+      searchList: [],
+      size: '20',
+      start: '0',
+      storeRefCode: app.config.goodsStore,
+      sort: { type: 'Asc', field: 'LinkOrder' }
+    }
+    app.MG.store.getStoreChannelList(data).then((res) => {
+      if (res.datas && res.datas.length > 0) {
+        let dataList = [];
+        dataList.push(...res.datas)
+        this.setData({
+          bookTypeList: dataList,
+          activeItem1: 0
+        })
+        this.getBooksList(dataList[0])
+      }
+    })
+  },
+  //鍥句功鏈嶅姟鍒楄〃
+  getBooksList(item) {
+    const obj = {
+      storeInfo: app.config.goodsStore,
+      path: item.pathList + '\\' + item.id,
+      queryType: '*',
+      coverSize: {
+        width: 150
+      },
+      paging: {
+        start: 0,
+        size: 6
+      },
+      fields: {
+        author: []
+      }
+    }
+    app.MG.store.getProductList(obj).then((res) => {
+      this.setData({
+        booksList: res.datas,
+      })
+    })
+  },
+  //鍥句功鏈嶅姟
+  tabBookClick(item) {
+    let info = this.data.bookTypeList[item.detail.value]
+    console.log(info, 123)
+    this.getBooksList(info)
+  },
+  //鏁板瓧闃呰
+  getReadBookList() {
+    const obj = {
+      storeInfo: app.config.digitalTextbooks,
+      path: 'jsek_homepageDigitalTextbooks',
+      coverSize: {
+        width: 150
+      },
+      paging: {
+        start: 0,
+        size: 3
+      },
+      fields: {
+        author: []
+      }
+    }
+    app.MG.store.getProductList(obj).then((res) => {
+      this.setData({
+        readBookList: res.datas
+      })
+    })
+  },
+  //鏁板瓧鏁欐潗
+  getTextbookListList() {
+    const obj = {
+      storeInfo: app.config.digitalTextbooks,
+      path: 'jsek_homepageDigitalTextbooks',
+      coverSize: {
+        width: 150
+      },
+      paging: {
+        start: 0,
+        size: 6
+      },
+      fields: {
+        author: [],
+      }
+    }
+    app.MG.store.getProductList(obj).then((res) => {
+      this.setData({
+        textbookList: res.datas
+      })
+    })
+  },
+  //鑾峰彇鎺掕姒�
+  getRankingList() {
+    const obj = {
+      storeInfo: app.config.goodsStore,
+      path: '*',
+      queryType: '*',
+      coverSize: {
+        width: 150
+      },
+      paging: {
+        start: 0,
+        size: 10
+      },
+      fields: {
+        author: [],
+      },
+      filterList: [
+        {
+          value: 'Normal',
+          field: 'state'
+        }
+      ],
+      sort: {
+        Name: 'Asc',
+        BaseType: ''
+
+      }
+    }
+    app.MG.store.getProductList(obj).then((res) => {
+      this.setData({
+        rankingList: res.datas
+      })
+    })
+  },
+  // 璺宠浆鍥句功璇︽儏
+  goDetail(e) {
+    const { book } = e.currentTarget.dataset;
+    wx.navigateTo({
+      url: `/packageBookService/pages/bookServices/detail/index?id=${book.id}&name=${book.name}`,
+    });
+  },
+  getShoppingCartList() {
+    let query = {
+      start: 0,
+      size: 999,
+      filterList: [],
+      searchList: []
+    }
+    app.MG.store.getShoppingCartProductList(query).then((res) => {
+      let idList = [];
+      res.datas.forEach((item) => {
+        idList.push(item.saleMethod.id)
+      })
+      this.setData({
+        shoppingCartGetId: idList
+      })
+    })
+  },
+  addCart(e) {
+    const { info } = e.currentTarget.dataset;
+    console.log(info)
+    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) {
+            wx.showToast({
+              title: "娣诲姞鎴愬姛",
+              icon: 'success',
+              duration: 1000
+            })
+          }
+          this.getShoppingCartList()
+        }
+      } catch (error) {
+        console.error('鍑洪敊浜嗭細', error)
+      }
+    }
+
+  },
+  onMoreGuide(e) {
+    let type = e.currentTarget.dataset.info
+    console.log(e, 1)
+    if (type == "tushufuwu") {
+      wx.navigateTo({
+        url: '/packageBookService/pages/bookServices/list/index'
+      })
+    } else {
+      wx.showToast({
+        title: "寤鸿涓�",
+        icon: 'none',
+        duration: 2000
+      })
+    }
+
+  },
+
+
+  onPageScroll(e) {
+    this.setData({
+      isWhite: e.scrollTop > 50 ? true : false
+    })
+
+  },
+  onRetrievalPage() {
+    console.log(this.data.searchVal);
+    wx.navigateTo({
+      url: '/pages/retrievalPage/index?searchVal=' + this.data.searchVal
+
+
+    })
+
+
+  },
+
+
 });

--
Gitblit v1.9.1