From cb15c57d0ff984f5a100cf25d560fb0a69c00984 Mon Sep 17 00:00:00 2001
From: yiming <m13691596795@163.com>
Date: 星期二, 16 四月 2024 18:21:05 +0800
Subject: [PATCH] 音频bug4

---
 packageBookService/pages/bookServices/detail/index.js | 2158 +++++++++++++++++++++++++++++++++++------------------------
 1 files changed, 1,277 insertions(+), 881 deletions(-)

diff --git a/packageBookService/pages/bookServices/detail/index.js b/packageBookService/pages/bookServices/detail/index.js
index 007b526..4399b17 100644
--- a/packageBookService/pages/bookServices/detail/index.js
+++ b/packageBookService/pages/bookServices/detail/index.js
@@ -1,29 +1,32 @@
 // pages/bookServices/detail/index.js
-import Message from 'tdesign-miniprogram/message/index.js';
-import Toast from 'tdesign-miniprogram/toast';
-import tool from '../../../../assets/js/toolClass'
+import Toast from "tdesign-miniprogram/toast";
+import tool from "../../../../assets/js/toolClass";
+import {
+  loginInfo
+} from "../../../../assets/js/login";
 const app = getApp();
 Page({
   /**
    * 椤甸潰鐨勫垵濮嬫暟鎹�
    */
   data: {
-    bookId: '',
-    barHeight: '',
-    navBarHeight: '',
+    bookId: "",
+    barHeight: "",
+    navBarHeight: "",
     options: {
-      id: '',
-      name: '',
+      id: "",
+      name: "",
     },
     bookDetail: {},
+    bookClass: [],
     bookItemDetail: {},
     link: {
-      jd: '',
-      tamll: '',
-      dang: '',
-      micro: '',
+      jd: "",
+      tamll: "",
+      dang: "",
+      micro: "",
     },
-    tabValue: 'brief',
+    tabValue: "brief",
     cmsDatas: [], // 璧勬簮refCode鍒楄〃
     ids: [1],
     list: [],
@@ -34,30 +37,38 @@
     openTeachids: [],
     openLearnids: [],
     openTestids: [],
-    applyResourceState: false,  // 鐢宠鏁欏璧勬簮鎸夐挳闃叉姈
+    applyResourceState: false, // 鐢宠鏁欏璧勬簮鎸夐挳闃叉姈
     resourceClassList: [], // 璧勬簮鎵�灞炲垎绫�
-    applyState: "",  // 鏁欏璧勬簮鐢宠鐘舵��
-    deadline: "",  // 鏁欏璧勬簮鐢宠鏈夋晥鏃ユ湡
-    rejectCause: "",  // 涓嬭浇鎷掔粷鍘熷洜
+    applyState: "", // 鏁欏璧勬簮鐢宠鐘舵��
+    deadline: "", // 鏁欏璧勬簮鐢宠鏈夋晥鏃ユ湡,
+    isshowDrawBtn: true, // 浜戝涔犻鍙栨煡鐪嬫寜閽槸鍚︽樉绀�
+    rejectCause: "", // 涓嬭浇鎷掔粷鍘熷洜
     buyIdList: [],
     shoppingCartGetId: [], // 宸茶喘涔癷d鍒楄〃
     shoppingList: [],
     loading: false,
-    isShowTeachDownload: false,  // 鎻愮ずPC涓嬭浇寮圭獥鐘舵��
-    confirmBtn: { content: '鎴戠煡閬撲簡', variant: 'base' },
+    isShowTeachDownload: false, // 鎻愮ずPC涓嬭浇寮圭獥鐘舵��
+    confirmBtn: {
+      content: "鎴戠煡閬撲簡",
+      variant: "base",
+    },
     mockData: {
       id: 0, // 閿�鍞甶d
       price: 0, // 鍞环
       count: 0, // 缁勫嵎宸茶喘涔版鏁�
       useCount: 0, // 缁勪欢宸蹭娇鐢ㄦ鏁�
       residue: 0, // 缁勫嵎鍓╀綑娆℃暟
-      mockList: [] // 鐢ㄦ埛缁勫嵎鎻愪氦淇℃伅
+      mockList: [], // 鐢ㄦ埛缁勫嵎鎻愪氦淇℃伅
     },
+    relatedBookLoading: false,
+    noRelatedBookData: false,
+    relatedBookPath: "", // 鐩稿叧鍥句功path
+    relatedBookData: [], // 鐩稿叧鍥句功鍒楄〃
     flag: true,
     noResources: false,
-    selectedIds: "",//鍟嗗搧鎴栧瓙鍟嗗搧閿�鍞柟寮�
+    selectedIds: "", //鍟嗗搧鎴栧瓙鍟嗗搧閿�鍞柟寮�
     bookBuy: false, //鍟嗗搧鎴栧瓙鍟嗗搧鏄惁璐拱
-    expire: false,//鍟嗗搧鎴栧瓙鍟嗗搧閿�鍞柟寮忔槸鍚﹁繃鏈�
+    expire: false, //鍟嗗搧鎴栧瓙鍟嗗搧閿�鍞柟寮忔槸鍚﹁繃鏈�
     noFile: false, //鍟嗗搧鎴栧瓙鍟嗘湁鏃犵數瀛愪功鏂囦欢
     num: 0, //鏍蜂功鐢宠鍗曟暟閲�
     alreadyPaperBookList: [], //宸茬敵璇风焊璐ㄦ牱涔�
@@ -67,24 +78,85 @@
     paperBookCount: 0, //绾歌川涔﹀墿浣欐鏁�
     ebookCount: 0, //鐢靛瓙涔﹀墿浣欐鏁�
     userInfo: {},
+    pageLoading: true,
     fileInfo: {
       bookName: "",
       fileType: "",
       md5: "",
-      freePage: ""
-    },  //闃呰鍣ㄦ暟鎹�
+      freePage: "",
+    }, //闃呰鍣ㄦ暟鎹�
     buyResourceData: {
-      productLinkPath: '',
-      refCode: '',
-    }
+      productLinkPath: "",
+      refCode: "",
+    },
+    briefIcon: {
+      name: "/static/images/bookService/detail/tushujianjie-g.png",
+    },
+    briefIconClick: {
+      name: "/static/images/bookService/detail/tushujianjie-click.png",
+    },
+    eBookIcon: {
+      name: "/static/images/bookService/detail/ebook-g.png",
+    },
+    eBookClickIcon: {
+      name: "/static/images/bookService/detail/ebook-click.png",
+    },
+    teachResourcesIcon: {
+      name: "/static/images/bookService/detail/jiaoxueziyuan.png",
+    },
+    teachResourcesClickIcon: {
+      name: "/static/images/bookService/detail/jiaoxueziyuan-click.png",
+    },
+    learnResourceIcon: {
+      name: "/static/images/bookService/detail/yunxuexi.png",
+    },
+    learnResourceClickIcon: {
+      name: "/static/images/bookService/detail/yunxuexi-click.png",
+    },
+    testResourceIocn: {
+      name: "/static/images/bookService/detail/test-icon-g.png",
+    },
+    testResourceClickIocn: {
+      name: "/static/images/bookService/detail/test-click-icon.png",
+    },
+    noteIcon: {
+      name: "/static/images/bookService/detail/biji-icon-g.png",
+    },
+    noteClickIcon: {
+      name: "/static/images/bookService/detail/biji-click-icon.png",
+    },
+    linkIcon: {
+      name: "/static/images/bookService/detail/link.png",
+    },
+    linkClickIcon: {
+      name: "/static/images/bookService/detail/link-click.png",
+    },
+    icon1: {
+      name: "/static/images/bookService/detail/dangdang.png",
+    },
+    rowCol: [{
+        width: '50%',
+      },
+      {
+        width: '100%'
+      },
+      {
+        width: '80%'
+      },
+      {
+        width: '100%'
+      }, {
+        width: '100%'
+      },
+    ],
+    showIndex: ''
   },
-
 
   resetTree: function (e) {
     this.setData({
       currentCheck: e.detail.checkedItem,
-      list: e.detail.changeList
-    })
+      list: e.detail.changeList,
+    });
   },
   /**
    * 鐢熷懡鍛ㄦ湡鍑芥暟--鐩戝惉椤甸潰鍔犺浇
@@ -92,9 +164,10 @@
   onLoad(options) {
     const systInfo = wx.getSystemInfoSync();
     const menu = wx.getMenuButtonBoundingClientRect(); // 鑳跺泭淇℃伅
-    const navBarHeight = (menu.top - systInfo.statusBarHeight) * 2 + menu.height; // 瀵艰埅鏍忛珮搴�
+    const navBarHeight =
+      (menu.top - systInfo.statusBarHeight) * 2 + menu.height; // 瀵艰埅鏍忛珮搴�
     this.setData({
-      bookId: options.id,
+      bookId: options.id + "",
       barHeight: systInfo.statusBarHeight,
       navBarHeight: navBarHeight,
     });
@@ -104,87 +177,91 @@
         name: options.name,
       },
     });
-
+    wx.setNavigationBarTitle({
+      title: options.name,
+    })
     this.getBookInfo(options.id);
-    this.getResourceClass() // 鑾峰彇璧勬簮鎵�灞炲垎绫�
-    const token = wx.getStorageSync('jsek-token')
+    this.getResourceClass(); // 鑾峰彇璧勬簮鎵�灞炲垎绫�
+    const token = wx.getStorageSync(app.config.tokenKey);
     if (token) {
-      this.getShoppingCartProductGet()
-      this.getApplyInfo(options.id)
-      this.getMockData()
+      this.getShoppingCartProductGet();
+      this.getApplyInfo(options.id);
+      this.getAlreadyPBookList();
+      this.getAlreadyEBookList();
     }
     if (wx.getStorageSync(app.config.userInfoKey)) {
       this.setData({
-        userInfo: JSON.parse(wx.getStorageSync(app.config.userInfoKey))
-      })
+        userInfo: JSON.parse(wx.getStorageSync(app.config.userInfoKey)),
+      });
+      // 鑾峰彇鐢宠娆℃暟
+      this.getSelectPaperBookCount();
+      this.getSelectBookCount();
     }
-    if (wx.getStorageSync("paperBookList")) {
-      this.setData({
-        paperBookList: wx.getStorageSync("paperBookList"),
-      })
-    }
-    if (wx.getStorageSync("electronicBookList")) {
-      this.setData({
-        electronicBookList: wx.getStorageSync("electronicBookList"),
-      })
-    }
-    this.setData({
-      num: this.data.paperBookList.length + this.data.electronicBookList.length
-    })
   },
 
   /**
    * 鐢熷懡鍛ㄦ湡鍑芥暟--鐩戝惉椤甸潰鍒濇娓叉煋瀹屾垚
    */
-  onReady() {
-
-  },
+  onReady() {},
 
   /**
    * 鐢熷懡鍛ㄦ湡鍑芥暟--鐩戝惉椤甸潰鏄剧ず
    */
-  onShow() { },
+  onShow() {
+    if (wx.getStorageSync("paperBookList")) {
+      this.setData({
+        paperBookList: JSON.parse(wx.getStorageSync("paperBookList")),
+      });
+    }
+    if (wx.getStorageSync("electronicBookList")) {
+      this.setData({
+        electronicBookList: JSON.parse(wx.getStorageSync("electronicBookList")),
+      });
+    }
+    this.setData({
+      num: Number(this.data.paperBookList.length) + Number(this.data.electronicBookList.length),
+    });
+  },
 
   /**
    * 鐢熷懡鍛ㄦ湡鍑芥暟--鐩戝惉椤甸潰闅愯棌
    */
-  onHide() { },
+  onHide() {},
 
   /**
    * 鐢熷懡鍛ㄦ湡鍑芥暟--鐩戝惉椤甸潰鍗歌浇
    */
-  onUnload() { },
+  onUnload() {},
 
   /**
    * 椤甸潰鐩稿叧浜嬩欢澶勭悊鍑芥暟--鐩戝惉鐢ㄦ埛涓嬫媺鍔ㄤ綔
    */
-  onPullDownRefresh() {
-
-
-  },
+  onPullDownRefresh() {},
 
   /**
    * 椤甸潰涓婃媺瑙﹀簳浜嬩欢鐨勫鐞嗗嚱鏁�
    */
   onReachBottom() {
-    if (this.data.tabValue == 'jsek_note') {
-      const child = this.selectComponent('#note')
-      child.onReachBottom()
+    if (this.data.tabValue == "jsek_note") {
+      const child = this.selectComponent("#note");
+      if (!child.data.noList) child.onReachBottom();
     }
   },
 
   /**
    * 鐢ㄦ埛鐐瑰嚮鍙充笂瑙掑垎浜�
    */
-  onShareAppMessage() { },
+  onShareAppMessage() {},
   // 鏍煎紡鍖栨棩鏈�
   formatDate(dateString) {
     if (!dateString) {
-      return '';
+      return "";
     }
-    const match = dateString.match(/^(\d{4})\/(\d{1,2})\/(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/);
+    const match = dateString.match(
+      /^(\d{4})\/(\d{1,2})\/(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/
+    );
     if (!match) {
-      throw new Error('Invalid date format');
+      throw new Error("Invalid date format");
     }
 
     const [, year, month, day, hours, minutes, seconds] = match;
@@ -194,11 +271,11 @@
       parseInt(day, 10),
       parseInt(hours, 10),
       parseInt(minutes, 10),
-      parseInt(seconds, 10),
+      parseInt(seconds, 10)
     );
 
     if (isNaN(date.getTime())) {
-      throw new Error('Invalid date');
+      throw new Error("Invalid date");
     }
 
     // 鐢变簬灏忕▼搴忕幆澧冨彲鑳戒笉鏀寔 Intl.DateTimeFormat锛屾垜浠娇鐢ㄧ畝鍖栫殑鏍煎紡鍖栨柟娉�
@@ -207,17 +284,32 @@
   },
   // 绠�鍖栫殑鏈堜唤鏍煎紡鍖栧嚱鏁帮紝杩斿洖鏈堜唤鐨勪腑鏂囪〃杈�
   formatMonth(month) {
-    const months = ['1鏈�', '2鏈�', '3鏈�', '4鏈�', '5鏈�', '6鏈�', '7鏈�', '8鏈�', '9鏈�', '10鏈�', '11鏈�', '12鏈�'];
+    const months = [
+      "1鏈�",
+      "2鏈�",
+      "3鏈�",
+      "4鏈�",
+      "5鏈�",
+      "6鏈�",
+      "7鏈�",
+      "8鏈�",
+      "9鏈�",
+      "10鏈�",
+      "11鏈�",
+      "12鏈�",
+    ];
     return months[parseInt(month, 10) - 1];
   },
   // 閲戦鏄剧ず.00鏍煎紡
   numFormat(value) {
-    if (!value) return '0.00';
+    if (!value) return "0.00";
     value = Number(value).toFixed(2);
     var intPart = Math.trunc(value); // 鑾峰彇鏁存暟閮ㄥ垎
-    var intPartFormat = intPart.toString().replace(/(\d)(?=(?:\d{3})+$)/g, '$1,'); // 灏嗘暣鏁伴儴鍒嗛�笁涓�鏂�
-    var floatPart = '.00'; // 棰勫畾涔夊皬鏁伴儴鍒�
-    var value2Array = value.split('.');
+    var intPartFormat = intPart
+      .toString()
+      .replace(/(\d)(?=(?:\d{3})+$)/g, "$1,"); // 灏嗘暣鏁伴儴鍒嗛�笁涓�鏂�
+    var floatPart = ".00"; // 棰勫畾涔夊皬鏁伴儴鍒�
+    var value2Array = value.split(".");
     // =2琛ㄧず鏁版嵁鏈夊皬鏁颁綅
     if (value2Array.length === 2) {
       floatPart = value2Array[1].toString(); // 鎷垮埌灏忔暟閮ㄥ垎
@@ -230,22 +322,34 @@
   },
   // 杩斿洖
   goBack() {
-    wx.navigateBack();
+    let bookPathList = wx.getStorageSync("bookPathList");
+    if (bookPathList && JSON.parse(bookPathList).length) {
+      bookPathList = JSON.parse(bookPathList);
+      this.setData({
+        pageLoading: true,
+        tabValue: "brief",
+      });
+      this.onLoad(bookPathList[bookPathList.length - 1]);
+      bookPathList.pop();
+      wx.setStorageSync("bookPathList", JSON.stringify(bookPathList));
+    } else {
+      wx.navigateBack();
+    }
   },
   // 鑾峰彇鍥句功璇︽儏
   getBookInfo(id) {
     this.setData({
       "mockData'.id": 0,
       "mockData.price": 0,
-      "mockData.count": 0
-    })
+      "mockData.count": 0,
+    });
     const query = {
-      path: '*',
-      queryType: '*',
+      path: "*",
+      queryType: "*",
       productId: id,
-      favoriteTypes: 'FavoriteBookCity',
+      favoriteTypes: "FavoriteBookCity",
       itemFields: {
-        'SysType=': 'CmsFolder',
+        "SysType=": "CmsFolder",
       },
       coverSize: {
         height: 300,
@@ -276,62 +380,85 @@
     app.MG.store.getProductDetail(query).then(async (res) => {
       this.setData({
         bookDetail: res.datas,
-        cmsDatas: res.datas.cmsDatas[0].datas,
-        buyIdList: res.datas.purchasedSaleMethodIdList
+        buyIdList: res.datas.purchasedSaleMethodIdList,
+
       });
+      if (res.datas.cmsDatas && res.datas.cmsDatas.length) {
+        this.setData({
+          cmsDatas: res.datas.cmsDatas[0].datas,
+        })
+      }
+      if (res.datas.datas.ProductLinkInfo) {
+        if (JSON.parse(res.datas.datas.ProductLinkInfo).length) this.setData({
+          relatedBookPath: JSON.parse(res.datas.datas.ProductLinkInfo)[0]
+            .LinkPath,
+        })
+      }
       this.getSubTtem();
       // 鑾峰彇鍥句功鍒嗙被
-      let className = ''
-      if (Array.isArray(res.datas.bookClassification) && res.datas.bookClassification.length) {
-        const iconType = JSON.parse(res.datas.bookClassification)[0][0];
-        const classType = JSON.parse(res.datas.bookClassification)[0][1];
-        className = await this.getBookClass(iconType, classType)
+      if (res.datas.bookClassification) {
+        const bookClassification = JSON.parse(res.datas.bookClassification);
+        if (Array.isArray(bookClassification) && bookClassification.length) {
+          for (let index = 0; index < bookClassification.length; index++) {
+            const element = bookClassification[index];
+            const iconType = element[0];
+            const classType = element[1];
+            await this.getBookClass(iconType, classType);
+          }
+        }
       }
+
       // 鑾峰彇缁勫嵎閿�鍞甶d
       if (res.datas.saleMethod && res.datas.saleMethod.length) {
         res.datas.saleMethod.forEach((item) => {
-          if (item.SaleType == 'combinationTestPaper') {
+          if (item.SaleType == "combinationTestPaper") {
             this.setData({
-              'mockData.id': item.Id,
-              'mockData.price': item.Price
-            })
+              "mockData.id": item.Id,
+              "mockData.price": item.Price,
+            });
           }
-        })
+        });
       }
       // 鑾峰彇缁勫嵎宸茶喘涔版鏁�
-      if (res.datas.purchasedSaleMethodIdList && res.datas.purchasedSaleMethodIdList.length) {
+      if (
+        res.datas.purchasedSaleMethodIdList &&
+        res.datas.purchasedSaleMethodIdList.length
+      ) {
         if (this.data.mockData.id) {
           let count = res.datas.purchasedSaleMethodIdList.filter(
             (item) => item == this.data.mockData.id
-          ).length
+          ).length;
           this.setData({
-            'mockData.count': count
-          })
+            "mockData.count": count,
+          });
         }
       }
       this.setData({
-        'bookDetail.publicationDate': this.formatDate(this.data.bookDetail.publicationDate),
-        'bookDetail.class': className,
-        'bookDetail.price': this.numFormat(this.data.bookDetail.price),
-        'bookDetail.oldPrice': this.numFormat(this.data.bookDetail.oldPrice),
-        'bookDetail.paperPrice': this.numFormat(this.data.bookDetail.paperPrice),
+        "bookDetail.publicationDate": this.formatDate(
+          this.data.bookDetail.publicationDate
+        ),
+        "bookDetail.price": this.numFormat(this.data.bookDetail.price),
+        "bookDetail.oldPrice": this.numFormat(this.data.bookDetail.oldPrice),
+        "bookDetail.paperPrice": this.numFormat(
+          this.data.bookDetail.paperPrice
+        ),
+        pageLoading: false,
       });
-      console.log('鍥句功淇℃伅', this.data.bookDetail);
+      console.log("鍥句功淇℃伅", this.data.bookClass);
     });
-
   },
   //璇锋眰瀛愬晢鍝佺殑鏂囦欢
   getSubTtem() {
     const obj = {
-      path: '*',
-      queryType: 'SubProduct',
+      path: "*",
+      queryType: "SubProduct",
       sort: {
-        type: 'Desc',
-        field: 'CreateDate'
+        type: "Desc",
+        field: "CreateDate",
       },
       paging: {
         start: 0,
-        size: 6
+        size: 6,
       },
       mainProductId: this.data.bookDetail.id,
       fields: {
@@ -339,43 +466,51 @@
         bookshelf_pdf: [],
         bookshelf_protectedEpub: [],
         bookshelf_freeEpub: [], //epub璇曡鐧惧垎姣�
-        bookshelf_probationPage: [] //pdf璇曡椤垫暟
-      }
-    }
+        bookshelf_probationPage: [], //pdf璇曡椤垫暟
+      },
+    };
     app.MG.store.getProductList(obj).then((res) => {
       if (res.datas && res.datas.length > 0) {
         this.setData({
           bookItemDetail: res.datas[0],
           selectedIds: res.datas[0].defaultSaleMethod.id,
-          bookBuy: res.datas[0].purchasedSaleMethodIdList.indexOf(res.datas[0].defaultSaleMethodId) > -1
+          bookBuy: res.datas[0].purchasedSaleMethodIdList.indexOf(
+            res.datas[0].defaultSaleMethodId
+          ) > -1,
+          "bookDetail.price": this.numFormat(res.datas[0].price),
         });
-        console.log(this.data.bookItemDetail, 'bookItemData.value');
-        let times = new Date(res.datas[0].defaultSaleMethod.endDate).getTime()
-        let startTime = new Date(res.datas[0].defaultSaleMethod.beginDate).getTime()
+        let times = new Date(res.datas[0].defaultSaleMethod.endDate).getTime();
+        let startTime = new Date(
+          res.datas[0].defaultSaleMethod.beginDate
+        ).getTime();
+
         if (times < new Date().getTime() || new Date().getTime() < startTime) {
           this.setData({
-            expire: true
+            expire: true,
           });
         } else {
           this.setData({
-            expire: false
+            expire: false,
           });
         }
-        if (res.datas[0].bookshelf_pdf || res.datas[0].bookshelf_protectedEpub) {
+        if (
+          res.datas[0].bookshelf_pdf ||
+          res.datas[0].bookshelf_protectedEpub
+        ) {
           this.setData({
-            noFile: true
+            noFile: true,
           });
           if (res.datas[0].bookshelf_pdf) {
             this.setData({
               "fileInfo.bookName": this.data.bookDetail.name,
-              "fileInfo.fileType": 'pdf',
+              "fileInfo.fileType": "pdf",
               "fileInfo.md5": res.datas[0].bookshelf_pdf,
               "fileInfo.freePage": res.datas[0].bookshelf_probationPage,
             });
           } else if (res.datas[0].bookshelf_protectedEpub) {
             this.setData({
               "fileInfo.bookName": this.data.bookDetail.name,
-              "fileInfo.fileType": 'epub',
+              "fileInfo.fileType": "epub",
               "fileInfo.md5": res.datas[0].bookshelf_protectedEpub,
               "fileInfo.freePage": res.datas[0].bookshelf_freeEpub,
             });
@@ -384,19 +519,19 @@
       } else {
         if (this.data.bookDetail.pdf || this.data.bookDetail.protectedEpub) {
           this.setData({
-            noFile: true
+            noFile: true,
           });
           if (this.data.bookDetail.pdf) {
             this.setData({
               "fileInfo.bookName": this.data.bookDetail.name,
-              "fileInfo.fileType": 'pdf',
+              "fileInfo.fileType": "pdf",
               "fileInfo.md5": this.data.bookDetail.pdf,
               "fileInfo.freePage": this.data.bookDetail.probationPage,
             });
           } else if (this.data.bookDetail.protectedEpub) {
             this.setData({
               "fileInfo.bookName": this.data.bookDetail.name,
-              "fileInfo.fileType": 'epub',
+              "fileInfo.fileType": "epub",
               "fileInfo.md5": this.data.bookDetail.protectedEpub,
               "fileInfo.freePage": this.data.bookDetail.freeEpubPage,
             });
@@ -404,155 +539,195 @@
         }
         this.setData({
           selectedIds: this.data.bookDetail.defaultSaleMethodId,
-          bookBuy: this.data.bookDetail.purchasedSaleMethodIdList.indexOf(this.data.bookDetail.defaultSaleMethodId) > -1
+          bookBuy: this.data.bookDetail.purchasedSaleMethodIdList.indexOf(
+            this.data.bookDetail.defaultSaleMethodId
+          ) > -1,
         });
-        let times = new Date(this.data.bookDetail.defaultSaleMethod.endDate).getTime()
-        let startTime = new Date(this.data.bookDetail.defaultSaleMethod.beginDate).getTime()
+        let times = new Date(
+          this.data.bookDetail.defaultSaleMethod.endDate
+        ).getTime();
+        let startTime = new Date(
+          this.data.bookDetail.defaultSaleMethod.beginDate
+        ).getTime();
         if (times < new Date().getTime() || new Date().getTime() < startTime) {
           this.setData({
-            expire: true
+            expire: true,
           });
         } else {
           this.setData({
-            expire: false
+            expire: false,
           });
         }
       }
-    })
+    });
   },
   // 鑾峰彇鍥句功鍒嗙被
   async getBookClass(iconType, classType) {
-    let name = '';
+    let name = "";
     const query = {
-      refCodes: ['bookClassification'],
+      refCodes: ["bookClassification"],
     };
     await app.MG.store.getProductTypeField(query).then((res) => {
       JSON.parse(res[0].config).option.forEach((item) => {
         if (item.value == iconType) {
           item.child.forEach((citem) => {
             if (citem.value == classType) {
-              name = citem.name;
+              const flag = this.data.bookClass.findIndex((ditem) => ditem == citem.name)
+              if (flag == -1) {
+                let list = this.data.bookClass
+                list.push(citem.name)
+                this.setData({
+                  bookClass: list
+                })
+              }
             }
           });
         }
       });
     });
-    return name;
   },
   // 鏀惰棌
   setCollect() {
-    if (this.data.bookDetail.isFavourite) {
-      app.MG.store
-        .delProductLink({
-          productIds: [this.data.bookDetail.id],
-          linkType: 'FavoriteBookCity',
-        })
-        .then(() => {
-          this.setData({
-            'bookDetail.isFavourite': false
+    const token = wx.getStorageSync(app.config.tokenKey);
+    if (!token) {
+      // 妫�鏌ョ櫥褰曠姸鎬�
+      loginInfo(app, (data) => {
+        // 濡傛灉涓嶆槸绗竴娆$櫥褰曪紝浼氭墽琛屽洖璋�
+        if (data) {
+          // 鐧诲綍鎴愬姛锛岃嚜鍔ㄨ褰晅oken鍜岀敤鎴蜂俊鎭紝骞惰繑鍥瀟rue
+          this.getBookInfo(this.data.bookId);
+        } else {
+          // 鍑虹幇閿欒锛岃繑鍥瀎alse
+        }
+      });
+    } else {
+      if (this.data.bookDetail.isFavourite) {
+        app.MG.store
+          .delProductLink({
+            productIds: [this.data.bookDetail.id],
+            linkType: "FavoriteBookCity",
           })
-          Message.success({
-            context: this,
-            offset: [20, 32],
-            duration: 5000,
-            content: '杩欐槸涓�鏉℃垚鍔熺殑鎻愮ず娑堟伅',
+          .then(() => {
+            this.setData({
+              "bookDetail.isFavourite": false,
+            });
+          });
+      } else {
+        const params = {
+          productIds: [this.data.bookDetail.id],
+          linkType: "FavoriteBookCity",
+        };
+        app.MG.store.addProductLink(params).then((res) => {
+          this.setData({
+            "bookDetail.isFavourite": true,
           });
         });
-    } else {
-      const params = {
-        productIds: [this.data.bookDetail.id],
-        linkType: 'FavoriteBookCity',
-      };
-      app.MG.store.addProductLink(params).then((res) => {
-        this.setData({
-          'bookDetail.isFavourite': true
-        })
-        Message.success({
-          context: this,
-          offset: ['20rpx', '32rpx'],
-          duration: 2000,
-          content: '鏀惰棌鎴愬姛',
-        });
-      });
+      }
     }
   },
   // 鎴戣寤鸿
   suggestBtn() {
-    const child = this.selectComponent('#suggest-component')
-    child.showDialog()
+    // 妫�鏌ョ櫥褰曠姸鎬�
+    const token = wx.getStorageSync(app.config.tokenKey);
+    const child = this.selectComponent("#suggest-component");
+    if (token)
+      // child.showDialog();
+      this.setData({
+        showIndex: '1'
+      })
   },
   // 璺宠浆缃戝簵
   goShop(e) {
-    const { link } = e.currentTarget.dataset;
+    const {
+      link
+    } = e.currentTarget.dataset;
     wx.navigateTo({
       url: `/packageBookService/pages/bookServices/webpage/index?url=${link}`,
-    })
+    });
   },
+  // tag鍒囨崲
   onTabsChange(e) {
+    const token = wx.getStorageSync(app.config.tokenKey);
     this.setData({
       tabValue: e.detail.value,
-      noResources: false
-    })
-    if (e.detail.label == '鏁欏璧勬簮' || e.detail.label == '浜戝涔�' || e.detail.label == '浜戞祴璇�') {
-      const checkData = this.data.cmsDatas.find(item => item.refCode == e.detail.value)
+      noResources: false,
+    });
+    if (
+      e.detail.label == "鏁欏璧勬簮" ||
+      e.detail.label == "浜戝涔�" ||
+      e.detail.label == "浜戞祴璇�"
+    ) {
+      const checkData = this.data.cmsDatas.find(
+        (item) => item.refCode == e.detail.value
+      );
+
       if (checkData) {
-        if (e.detail.value == 'jsek_cloudLearning') {
+        if (e.detail.value == "jsek_cloudLearning") {
           this.setData({
-            'buyResourceData.productLinkPath': checkData.productLinkPath,
-            'buyResourceData.refCode': checkData.refCode
-          })
+            "buyResourceData.productLinkPath": checkData.productLinkPath,
+            "buyResourceData.refCode": checkData.refCode,
+          });
         }
-        if ((e.detail.value == 'jsek_teachingResources' && !this.data.teach.length)
-          || (e.detail.value == 'jsek_cloudLearning' && !this.data.learn.length)
-          || (e.detail.value == 'questionBank' && !this.data.test.length)) {
-          this.getResourceData(checkData)
+        if (
+          (e.detail.value == "jsek_teachingResources" &&
+            !this.data.teach.length) ||
+          (e.detail.value == "jsek_cloudLearning" && !this.data.learn.length) ||
+          (e.detail.value == "questionBank" && !this.data.test.length)
+        ) {
+          if (e.detail.value == "jsek_teachingResources") {
+            wx.setStorageSync('teachResourcesPath', checkData.productLinkPath)
+          }
+          this.getResourceData(checkData);
         }
+        if (e.detail.value == "questionBank" && token) this.getMockData();
       } else {
         this.setData({
-          noResources: true
-        })
+          noResources: true,
+        });
       }
-    } else if (e.detail.label == '浜戠瑪璁�') {
-      const token = wx.getStorageSync('jsek-token')
-      const child = this.selectComponent('#note')
-      child.handleSubmitTitle()
+    } else if (e.detail.label == "浜戠瑪璁�") {
+      const token = wx.getStorageSync(app.config.tokenKey);
+      const child = this.selectComponent("#note");
+      child.handleSubmitTitle();
       if (token) {
-        child.changeLoading()
-        child.getNoteList()
+        child.changeLoading();
+        child.getNoteList();
+      } else {
+        child.changeNoList();
       }
-
-    } else if (e.detail.label == '鐢靛瓙涔�') {
-      const child = this.selectComponent('#eBook')
+    } else if (e.detail.label == "鐢靛瓙涔�") {
+      const child = this.selectComponent("#eBook");
       if (child) {
-        child.getProgress()
+        child.getProgress();
       }
-
+    } else if (e.detail.label == "鐩稿叧鍥句功") {
+      this.getAboutBook(this.data.relatedBookPath);
     }
   },
   // 鑾峰彇璧勬簮鎵�灞炲垎绫�
   getResourceClass() {
     let query = {
-      refCodes: ['resourcesClassification']
-    }
+      refCodes: ["resourcesClassification"],
+    };
     app.MG.store.getProductTypeField(query).then((res) => {
       this.setData({
-        resourceClassList: JSON.parse(res[0].config).option
-      })
-    })
+        resourceClassList: JSON.parse(res[0].config).option,
+      });
+    });
   },
   //  鑾峰彇鏁欏璧勬簮  浜戝涔�  浜戞祴璇�
   getResourceData(type) {
     this.setData({
       loading: true,
-      noResources: false
-    })
+      noResources: false,
+    });
     let query = {
-      path: '*',
-      queryType: '*',
+      path: "*",
+      queryType: "*",
       productId: this.data.bookDetail.id,
       cmsPath: type.productLinkPath,
       itemFields: {
-        SysType: 'CmsFolder',
+        SysType: "CmsFolder",
         // 璧勬簮绫诲瀷锛岃瘯璇绘枃浠讹紝鏄惁鍏佽涓嬭浇绛夊弬鏁�
         selectType: [],
         freeFile: [],
@@ -561,96 +736,104 @@
         isDownload: [],
         jsek_resourceBrief: [],
         jsek_link: [],
-        jsek_questionBank: []
+        jsek_questionBank: [],
       },
       pading: {
         start: 0,
-        size: 999
+        size: 999,
       },
-    }
+    };
     app.MG.store
       .getProductDetail(query)
       .then(async (res) => {
         if (!res.datas.cmsDatas[0].datas.length) {
           return this.setData({
             noResources: true,
-            loading: false
-          })
+            loading: false,
+          });
         }
         // 浜戞祴璇曪紝閫掑綊璇锋眰閲屽眰鏁版嵁
-        if (type.refCode == 'questionBank') {
+        if (type.refCode == "questionBank") {
           const data = res.datas.cmsDatas[0].datas.filter(
-            (item) => item.refCode == 'jsek_questionBank'
-          )
-          if (data.length) return this.getResourceData(data[0])
+            (item) => item.refCode == "jsek_questionBank"
+          );
+          if (data.length) return this.getResourceData(data[0]);
         }
         //鏁欏璧勬簮 浜戝涔�
-        if (type.refCode == 'jsek_teachingResources' || type.refCode == 'jsek_cloudLearning') {
+        if (
+          type.refCode == "jsek_teachingResources" ||
+          type.refCode == "jsek_cloudLearning"
+        ) {
           if (res.datas.cmsDatas[0].datas.length > 0) {
-            res.datas.cmsDatas[0].datas.forEach(item => {
-              item.checked = false
-            })
-            const list = await this.getAllResource(res.datas.cmsDatas[0].datas)
-            let result = []
-            if (type.refCode == 'jsek_teachingResources') {
-              this.findChildIds(list, result)
+            res.datas.cmsDatas[0].datas.forEach((item) => {
+              item.checked = false;
+            });
+            const list = await this.getAllResource(res.datas.cmsDatas[0].datas);
+            let result = [];
+            if (type.refCode == "jsek_teachingResources") {
+              this.findChildIds(list, result);
               this.setData({
                 teach: list,
                 loading: false,
-                openTeachids: result
-              })
-              console.log('鏁欏璧勬簮', this.data.teach);
-            } else if (type.refCode == 'jsek_cloudLearning') {
-              // res.datas.cmsDatas[0].datas.forEach(item => {
-              //   item.checked = false
-              // })
-              // const list = await this.getAllResource(res.datas.cmsDatas[0].datas)
-              this.findChildIds(list, result)
+                openTeachids: result,
+              });
+            } else if (type.refCode == "jsek_cloudLearning") {
+              let arr = this.handleTreeData(list).filter(
+                (item) => item.saleMethod[0]
+              );
+              let freeIds = arr.filter((item) => {
+                return item.saleMethod[0].Price == 0;
+              });
+              if (!freeIds.length)
+                this.setData({
+                  isshowDrawBtn: false,
+                });
+              this.findChildIds(list, result);
               this.setData({
                 learn: list,
                 loading: false,
-                openLearnids: result
-              })
+                openLearnids: result,
+              });
             }
           } else {
             // 鏃犳暟鎹�
           }
-        } else if (type.refCode == 'jsek_questionBank') {
+        } else if (type.refCode == "jsek_questionBank") {
           // const list = await this.getAllResource(res.datas.cmsDatas[0].datas)
           this.setData({
             test: res.datas.cmsDatas[0].datas,
-            loading: false
-          })
+            loading: false,
+          });
         } else {
-          console.log('鍏朵粬');
+          console.log("鍏朵粬");
         }
       })
       .catch((e) => {
-        console.log(e)
-      })
+        console.log(e);
+      });
   },
   // 鑾峰彇tag涓嬫墍鏈夎祫婧�
   async getAllResource(data) {
-    if (!data.length) return false
+    if (!data.length) return false;
     for (let i = 0; i < data.length; i++) {
-      let item = data[i]
-      if (item.sysType == 'CmsFolder' && item.childrenCount > 0) {
-        item.children = []
-        item.children = await this.getFolderItem(item.productLinkPath)
-        await this.getAllResource(item.children)
+      let item = data[i];
+      if (item.sysType == "CmsFolder" && item.childrenCount > 0) {
+        item.children = [];
+        item.children = await this.getFolderItem(item.productLinkPath);
+        await this.getAllResource(item.children);
       }
     }
-    return data
+    return data;
   },
   // 鑾峰彇璧勬簮鎺ュ彛
   async getFolderItem(path) {
     let query = {
-      path: '*',
-      queryType: '*',
+      path: "*",
+      queryType: "*",
       productId: this.data.bookDetail.id,
       cmsPath: path,
       itemFields: {
-        SysType: 'CmsFolder',
+        SysType: "CmsFolder",
         // 璧勬簮绫诲瀷锛岃瘯璇绘枃浠讹紝鏄惁鍏佽涓嬭浇绛夊弬鏁�
         selectType: [],
         freeFile: [],
@@ -661,42 +844,57 @@
         jsek_resourceBrief: [],
         jsek_link: [],
         accessType: [],
-        learnSelectType: []
+        learnSelectType: [],
       },
       pading: {
         start: 0,
-        size: 999
+        size: 999,
       },
-    }
-    const data = await app.MG.store.getProductDetail(query)
+    };
+    let data = await app.MG.store.getProductDetail(query);
+    // 濡傛灉item灞傜骇閲屾湁floder锛屽垹闄loder
+    const flag = data.datas.cmsDatas[0].datas.findIndex(
+      (item) => item.sysType == "CmsItem"
+    );
+    if (flag > -1)
+      data.datas.cmsDatas[0].datas = data.datas.cmsDatas[0].datas.filter(
+        (item) => item.sysType == "CmsItem"
+      );
     data.datas.cmsDatas[0].datas.forEach((item) => {
+      //   if (item.sysType == "CmsFolder" && flag > -1) {
+      //     item.isShow = false;
+      //   } else {
+      //     item.isShow = true;
+      //   }
       this.data.resourceClassList.forEach((type) => {
-        if (type.value == item.resourcesClassification) item.resourceClass = type.name
-      })
+        if (type.value == item.resourcesClassification)
+          item.resourceClass = type.name;
+      });
       // 缃戦〉 涓嶈兘涓嬭浇 绉佹湁鏂囦欢
-      if (item.sysType == 'CmsItem') {
-        if (item.selectType == 'webpage') {
-          item.disabled = true
+      if (item.sysType == "CmsItem") {
+        if (item.selectType == "webpage") {
+          item.disabled = true;
         } else {
           if (item.isDownload != 1) {
-            item.disabled = true
+            item.disabled = true;
           }
         }
-        if (item.file) {
-          if (item.fileMap[item.file].protectType == 'Private') item.disabled = true
+        if (item.file && item.fileMap && item.fileMap[item.file]) {
+          if (item.fileMap[item.file].protectType == "Private")
+            item.disabled = true;
         }
       }
-    })
-    data.datas.cmsDatas[0].datas.forEach(item => {
-      if (this.data.tabValue == 'jsek_teachingResources') {
-        item.checked = false
-      } else if (this.data.tabValue == 'jsek_cloudLearning') {
-        item.checked = false
-        item.isbuy = this.resourceIsBuy(item)
-        item.isShopCar = this.isShoppingCart(item)
+    });
+    data.datas.cmsDatas[0].datas.forEach((item) => {
+      if (this.data.tabValue == "jsek_teachingResources") {
+        item.checked = false;
+      } else if (this.data.tabValue == "jsek_cloudLearning") {
+        item.checked = false;
+        item.isbuy = this.isShowNeedBuy(item);
+        item.isShopCar = this.isShoppingCart(item);
       }
-    })
-    return data.datas.cmsDatas[0].datas
+    });
+    return data.datas.cmsDatas[0].datas;
   },
   // 鑾峰彇灞曞紑椤�
   findChildIds(data, result) {
@@ -704,12 +902,12 @@
     for (let i = 0; i < data.length; i++) {
       if (index < 3) {
         const item = data[i]
-        if (item.children && item.children.length > 0) {
+        if (item.childrenFolderCount > 0) {
           result.push(item.id)
           for (let j = 0; j < item.children.length; j++) {
             if (index < 3) {
               const childrenItme = item.children[j]
-              if (item.children && item.children.length > 0) {
+              if (item.childrenCount > 0) {
                 result.push(childrenItme.id)
                 index += 1
               }
@@ -717,7 +915,7 @@
               break
             }
           }
-        } else if (item.children && item.children.length > 0) {
+        } else if (item.childrenCount > 0) {
           result.push(item.id)
           index += 1
         }
@@ -729,256 +927,287 @@
 
   // 鍥句功娣诲姞璐墿杞�
   async addBookShopcCar() {
-
     if (!this.data.expire) {
-
-      const token = wx.getStorageSync('jsek-token')
-      if (!token) {
-        return wx.getUserProfile({
-          desc: '鐢ㄦ埛鐧诲綍',
-          success: (res) => {
-            console.log(res);
-          }
-        })
-      }
-
-      const shoppingCartGetId = []
-
+      const shoppingCartGetId = [];
       let query = {
         start: 0,
         size: 9999,
         filterList: [],
-        searchList: []
-      }
-      const res = await app.MG.store.getShoppingCartProductList(query)
+        searchList: [],
+      };
+      const res = await app.MG.store.getShoppingCartProductList(query);
       res.datas.forEach((item) => {
-        shoppingCartGetId.push(item.saleMethod.id)
-      })
-      console.log(shoppingCartGetId, 'shoppingCartGetId');
-      console.log(this.data.selectedIds, '閿�鍞柟寮廼d');
-      const determine = shoppingCartGetId.some((item) => item == this.data.selectedIds)
-      console.log(determine);
+        shoppingCartGetId.push(item.saleMethod.id);
+      });
+      const determine = shoppingCartGetId.some(
+        (item) => item == this.data.selectedIds
+      );
       if (!determine) {
         let query = {
-          requests: [
-            {
-              saleMethodId: this.data.selectedIds,
-              storeEventId: null,
-              agentCode: '鐢靛瓙涔�'
-            }
-          ]
-        }
-        const addRes = app.MG.store.addShoppingCart(query)
-        this.showSuccessToast()
-
+          requests: [{
+            saleMethodId: this.data.selectedIds,
+            storeEventId: null,
+            agentCode: "鐢靛瓙涔�",
+          }, ],
+        };
+        const addRes = app.MG.store.addShoppingCart(query);
+        this.showSuccessToast();
       } else {
         Toast({
           context: this,
-          selector: '#t-toast',
-          message: '宸叉坊鍔�',
-          theme: 'success',
-          direction: 'column',
+          selector: "#t-toast",
+          message: "璇ヤ功宸插湪璐墿杞︼紝璇峰嬁閲嶅娣诲姞",
+          theme: "warning",
+          direction: "column",
         });
       }
     } else {
       wx.showToast({
         title: "鍟嗗搧涓嶅湪鏈夋晥鏈�",
-        icon: 'none',
+        icon: "none",
         duration: 1000,
-      })
+      });
     }
-
-
   },
 
   showSuccessToast() {
     Toast({
       context: this,
-      selector: '#t-toast',
-      message: '娣诲姞鎴愬姛',
-      theme: 'success',
-      direction: 'column',
+      selector: "#t-toast",
+      message: "娣诲姞鎴愬姛",
+      theme: "success",
+      direction: "column",
     });
   },
 
   async buyBook() {
     if (!this.data.expire) {
-      let bookOrdersId = ''
+      let bookOrdersId = "";
       let query = {
-        remarks: '鐢靛瓙涔�',
-        requests: [
-          {
-            saleMethodId: this.data.bookItemDetail.defaultSaleMethodId ? this.data.bookItemDetail.defaultSaleMethodId : this.data.bookDetail.defaultSaleMethodId,
-            count: 1
-          }
-        ]
-      }
+        remarks: "鐢靛瓙涔�",
+        requests: [{
+          saleMethodId: this.data.bookItemDetail.defaultSaleMethodId ?
+            this.data.bookItemDetail.defaultSaleMethodId : this.data.bookDetail.defaultSaleMethodId,
+          count: 1,
+        }, ],
+      };
       // 鍙戣捣璁㈠崟鍒濆鍖栬姹傚苟绛夊緟缁撴灉
-      const res = await app.MG.store.initOrder(query)
+      const res = await app.MG.store.initOrder(query);
       // 鑾峰彇璁㈠崟鍙峰苟璧嬪�肩粰 orderNumber.value
-      bookOrdersId = res.orderNumber
-      console.log(bookOrdersId);
+      console.log(res, 'res456');
+      bookOrdersId = res.orderNumber;
       // 妫�鏌ヨ鍗曞彿鏄惁瀛樺湪
       if (bookOrdersId) {
-        const url = '/pages/cart/paymentPage/index?orderNumber=' + bookOrdersId
-        wx.navigateTo({
-          url
-        })
+        if (this.data.bookDetail.price == "0.00") {
+          app.MG.store
+            .confirmOrder({
+              orderNum: bookOrdersId,
+            })
+            .then((res) => {
+              if (res) {
+                wx.showToast({
+                  title: "棰嗗彇鎴愬姛",
+                  icon: "none",
+                  duration: 1000,
+                });
+                this.getBookInfo(this.data.bookDetail.id);
+              }
+            });
+        } else {
+          const url = "/pages/cart/paymentPage/index?orderNumber=" + bookOrdersId + '&onNorderSaleMethod=' + res.saleMethodLinks[0].orderSaleMethod.id;
+          wx.navigateTo({
+            url,
+          });
+        }
       } else {
         console.log(222);
       }
     } else {
       wx.showToast({
         title: "鍟嗗搧涓嶅湪鏈夋晥鏈�",
-        icon: 'none',
+        icon: "none",
         duration: 1000,
-      })
+      });
     }
   },
 
   // 鑾峰彇鏁欏璧勬簮涓嬭浇鏄惁鐢宠閫氳繃
   async getApplyInfo(id) {
     // 鑾峰彇褰撳墠鏃堕棿
-    const currentDate = new Date()
+    const currentDate = new Date();
     let query = {
       sort: {
-        type: 'Desc',
-        field: 'CreateDate'
+        type: "Desc",
+        field: "CreateDate",
       },
       start: 0,
       size: 99999,
       appRefCode: app.config.appRefCode,
-      topicIdOrRefCode: 'productDownLoad'
-    }
+      topicIdOrRefCode: "productDownLoad",
+    };
     await app.MG.ugc.getTopicMessageList(query).then((res) => {
       const applyResource = res.datas.find((item) => {
-        let content = []
+        let content = [];
         try {
-          content = JSON.parse(item.content)
+          content = JSON.parse(item.content);
         } catch (error) {
-          content = []
+          content = [];
         }
-        if (Array.isArray(content)) return content.find((citem) => citem.id == id)
-        return false
-      })
+        if (Array.isArray(content))
+          return content.find((citem) => citem.id == id);
+        return false;
+      });
       // 鏈夌敵璇疯褰�
       if (applyResource) {
-        if (applyResource.state == 'Reject') {
+        if (applyResource.state == "Reject") {
           this.setData({
             rejectCause: JSON.parse(applyResource.feedBack).reason,
-            applyState: 'Reject'
-          })
-        } else if (applyResource.state == 'Normal') {
-          const endDate = JSON.parse(applyResource.feedBack).endDate
+            applyState: "Reject",
+          });
+        } else if (applyResource.state == "Normal") {
+          const endDate = JSON.parse(applyResource.feedBack).endDate;
           // const endDate = new Date(JSON.parse(applyResource.feedBack).endDate + ' 23:59:59').getTime()
-          if (endDate == '姘镐箙') {
+          if (endDate == "姘镐箙") {
             this.setData({
-              applyState: 'Normal',
-              deadline: '姘镐箙',
-            })
-            console.log('鏈夋晥鏃ユ湡', this.data.deadline);
+              applyState: "Normal",
+              deadline: "姘镐箙",
+            });
+            console.log("鏈夋晥鏃ユ湡", this.data.deadline);
           } else {
-
-            let endTime = new Date(endDate + ' 23:59:59').getTime()
+            let endTime = new Date(endDate + " 23:59:59").getTime();
             this.setData({
-              deadline: endDate + ' 23:59:59'
-            })
+              deadline: endDate + " 23:59:59",
+            });
             if (currentDate.getTime() < endTime) {
               // 鏈秴鏃�
               this.setData({
-                applyState: 'Normal'
-              })
+                applyState: "Normal",
+              });
             } else {
               this.setData({
-                applyState: 'none'
-              })
+                applyState: "none",
+              });
             }
           }
         } else {
           this.setData({
-            applyState: applyResource.state
-          })
+            applyState: applyResource.state,
+          });
         }
       } else {
         this.setData({
-          applyState: 'none'
-        })
+          applyState: "none",
+        });
       }
-    })
+    });
     this.setData({
       applyResourceState: false,
-    })
-    wx.hideLoading()
+    });
+    wx.hideLoading();
   },
   // 鐢宠鏁欏璧勬簮
   applyResource() {
     if (this.data.applyResourceState) {
       return wx.showToast({
-        icon: 'error',
-        title: '璇峰嬁閲嶅鐐瑰嚮',
-      })
+        icon: "error",
+        title: "璇峰嬁閲嶅鐐瑰嚮",
+      });
     }
     this.setData({
-      applyResourceState: true
-    })
-    wx.showLoading({
-      title: '鍔犺浇涓�',
-    })
-    // let role = userStore.userInfo ? userStore.userInfo.role : null
-    // if (role) {
-    //   if (role == 'Teacher') {
-    // 鐢宠鏁欏璧勬簮
-    let query = {
-      topicIdOrRefCode: 'productDownLoad',
-      type: 'applyForDownload',
-      state: 'WaitAudit',
-      cmsTypeRefCode: '',
-      newDataListRequest: [],
-      name: this.data.bookDetail.name, // name涓虹敵璇风殑涔︽湰鍚嶇О
-      content: JSON.stringify([
-        {
-          name: this.data.bookDetail.name,
-          id: this.data.bookDetail.id,
-          // defaultSaleMethodId: bookData.value.defaultSaleMethodId,
-          icon: this.data.bookDetail.icon
-        }
-      ])
-    }
-    app.MG.ugc.newTopicMessage(query).then(async (res) => {
-      if (res) {
-        wx.showToast({
-          title: '鐢宠宸叉彁浜わ紝璇峰緟瀹℃牳閫氳繃鍚庝笅杞�',
-        })
+      applyResourceState: true,
+    });
+    let role = JSON.parse(wx.getStorageSync(app.config.userInfoKey)).role;
+    if (role) {
+      if (role == "Teacher") {
+        wx.showLoading({
+          title: "鍔犺浇涓�",
+        });
+        // 鐢宠鏁欏璧勬簮
+        let query = {
+          topicIdOrRefCode: "productDownLoad",
+          type: "applyForDownload",
+          state: "WaitAudit",
+          cmsTypeRefCode: "",
+          newDataListRequest: [],
+          name: this.data.bookDetail.name, // name涓虹敵璇风殑涔︽湰鍚嶇О
+          content: JSON.stringify([{
+            name: this.data.bookDetail.name,
+            id: this.data.bookDetail.id,
+            // defaultSaleMethodId: bookData.value.defaultSaleMethodId,
+            icon: this.data.bookDetail.icon,
+          }, ]),
+        };
+        app.MG.ugc.newTopicMessage(query).then(async (res) => {
+          if (res) {
+            wx.showToast({
+              title: "鐢宠宸叉彁浜�",
+              duration: 2000,
+            });
+          }
+          await this.getApplyInfo(this.data.bookDetail.id);
+        });
+      } else {
+        wx.showModal({
+          title: "灏婃暚鐨勭敤鎴凤紝鎮ㄥソ锛�",
+          content: "璇峰厛杩涜鏁欏笀璁よ瘉锛�",
+          confirmColor: "#ff6c00",
+          cancelColor: "#949494",
+          complete: (res) => {
+            if (res.cancel) {}
+            if (res.confirm) {
+              wx.navigateTo({
+                url: "/packageDomain/pages/teacherCertification/index",
+              });
+            }
+          },
+        });
       }
-      await this.getApplyInfo(this.data.bookDetail.id)
-    })
-    //   } else {
-    //     ElMessageBox.confirm('璇峰厛杩涜鏁欏笀璁よ瘉锛�', '灏婃暚鐨勭敤鎴凤紝鎮ㄥソ锛�', {
-    //       confirmButtonText: '鍘昏璇�',
-    //       cancelButtonText: '鍙栨秷',
-    //       type: 'warning'
-    //     })
-    //       .then(() => {
-    //         isShow.value = true
-    //       })
-    //       .catch(() => { })
-    //   }
-    // } else {
-    //   // logIn()
-    // }
+    } else {
+      wx.showModal({
+        title: "灏婃暚鐨勭敤鎴凤紝鎮ㄥソ锛�",
+        content: "璇峰厛杩涜鏁欏笀璁よ瘉锛�",
+        confirmColor: "#ff6c00",
+        cancelColor: "#949494",
+        complete: (res) => {
+          if (res.cancel) {}
+          if (res.confirm) {
+            wx.navigateTo({
+              url: "/packageDomain/pages/teacherCertification/index",
+            });
+          }
+        },
+      });
+    }
   },
   // 鏁欏璧勬簮涓嬭浇鍓嶅線PC鎻愮ずDiialog
   closeTeachDownload() {
     this.setData({
-      isShowTeachDownload: false
-    })
+      isShowTeachDownload: false,
+    });
   },
   // 涓嬭浇鍔熻兘
   downloadTeach(e) {
-    this.setData({
-      isShowTeachDownload: true
-    })
-    console.log('zhuan', this.data.isShowTeachDownload);
+    let role = JSON.parse(wx.getStorageSync(app.config.userInfoKey)).role;
+    if (role && role == "Teacher") {
+      this.setData({
+        isShowTeachDownload: true,
+      });
+    } else {
+      wx.showModal({
+        title: "灏婃暚鐨勭敤鎴凤紝鎮ㄥソ锛�",
+        content: "璇峰厛杩涜鏁欏笀璁よ瘉锛�",
+        confirmColor: "#ff6c00",
+        cancelColor: "#949494",
+        complete: (res) => {
+          if (res.cancel) {}
+          if (res.confirm) {
+            wx.navigateTo({
+              url: "/packageDomain/pages/teacherCertification/index",
+            });
+          }
+        },
+      });
+    }
     //   const data = e.detail.value
     //   // const data
     //   // let role = userStore.userInfo ? userStore.userInfo.role : null
@@ -1073,33 +1302,51 @@
           tempFilePath: res.tempFilePath,
           success: function (res) {
             wx.showToast({
-              title: '涓嬭浇鎴愬姛',
-              icon: 'success'
-            })
+              title: "涓嬭浇鎴愬姛",
+              icon: "success",
+            });
           },
           fail: function (res) {
             wx.showToast({
-              title: '涓嬭浇澶辫触',
-              icon: 'none'
-            })
-          }
-        })
+              title: "涓嬭浇澶辫触",
+              icon: "none",
+            });
+          },
+        });
       },
       fail: function (res) {
         wx.showToast({
-          title: '涓嬭浇澶辫触',
-          icon: 'none'
-        })
-      }
-    })
+          title: "涓嬭浇澶辫触",
+          icon: "none",
+        });
+      },
+    });
   },
   // 鍒ゆ柇璧勬簮鏄惁璐拱
   resourceIsBuy(data) {
     if (data.saleMethod && data.saleMethod.length) {
-      const isSHow = this.data.buyIdList.some((item) => item == data.saleMethod[0].Id)
-      return !isSHow
+      const isSHow = this.data.buyIdList.some(
+        (item) => item == data.saleMethod[0].Id
+      );
+      return !isSHow;
     } else {
-      return false
+      return false;
+    }
+  },
+  // 浜戝涔犺祫婧愭槸鍚︽樉绀洪攣鍥炬爣锛堟湭璐拱锛屼笖璧勬簮鍞环澶т簬闆讹級
+  isShowNeedBuy(data) {
+    if (data.saleMethod && data.saleMethod.length) {
+      const isSHow = this.data.buyIdList.some(
+        (item) => item == data.saleMethod[0].Id
+      );
+      if (isSHow) {
+        return false;
+      } else {
+        return data.saleMethod[0].price > 0 ? true : false;
+      }
+      return !isSHow;
+    } else {
+      return false;
     }
   },
   // 鑾峰彇宸茶喘涔板晢鍝�
@@ -1108,148 +1355,180 @@
       start: 0,
       size: 999,
       filterList: [],
-      searchList: []
-    }
+      searchList: [],
+    };
     app.MG.store.getShoppingCartProductList(query).then((res) => {
-      const list = []
+      const list = [];
       res.datas.forEach((item) => {
-        list.push(item.saleMethod.id)
-      })
+        list.push(item.saleMethod.id);
+      });
       this.setData({
         shoppingList: res.datas,
-        shoppingCartGetId: list
-      })
-    })
+        shoppingCartGetId: list,
+      });
+    });
   },
   // 鍒ゆ柇璧勬簮鍔犲叆璐墿杞︽寜閽槸鍚︽樉绀�
   isShoppingCart(data) {
     if (data.saleMethod && data.saleMethod.length) {
-      if (data.saleMethod[0].Price <= 0) return false
+      if (data.saleMethod[0].Price <= 0) return false;
       // 鍐嶅垽鏂槸鍚﹁喘涔�
-      const isBuy = this.data.buyIdList.some((item) => item == data.saleMethod[0].Id)
+      const isBuy = this.data.buyIdList.some(
+        (item) => item == data.saleMethod[0].Id
+      );
       if (isBuy) {
         // 璐拱浜�
-        return false
+        return false;
       } else {
         // 鍒ゆ柇鏄惁鍔犲叆璐墿杞�
-        const isSHow = this.data.shoppingCartGetId.some((item) => item == data.saleMethod[0].Id)
-        return !isSHow
+        const isSHow = this.data.shoppingCartGetId.some(
+          (item) => item == data.saleMethod[0].Id
+        );
+        return !isSHow;
       }
     } else {
-      return false
+      return false;
     }
+  },
+
+  updateShoppingCartHidden() {
+
+    const isSHow = this.data.shoppingCartGetId.some(
+      (item) => item == data.saleMethod[0].Id
+    );
+    return !isSHow;
+  },
+  //鍒锋柊璐墿杞﹀浘鏍�
+  updateCloudLearning() {
+    this.getBookInfo()
+    this.getShoppingCartProductGet()
+    const checkData = this.data.cmsDatas.find(
+      (item) => item.refCode == "jsek_cloudLearning"
+    );
+    this.getResourceData(checkData);
+
+
+
   },
   // 閬嶅巻鏍戠粨鏋勮浆鎹负鏁扮粍鏂规硶
   handleTreeData(array) {
-    const flattenedArray = []
+    const flattenedArray = [];
     array.forEach((node) => {
       // 灏嗗綋鍓嶈妭鐐规坊鍔犲埌灞曞紑鐨勬暟缁勪腑
-      flattenedArray.push(node)
+      flattenedArray.push(node);
       // 閫掑綊澶勭悊瀛愯妭鐐�
       if (node.children && node.children.length > 0) {
-        const childrenArray = this.handleTreeData(node.children)
-        flattenedArray.push(...childrenArray)
+        const childrenArray = this.handleTreeData(node.children);
+        flattenedArray.push(...childrenArray);
       }
-    })
-    return flattenedArray.filter((item) => item.sysType == 'CmsItem')
+    });
+    return flattenedArray.filter((item) => item.sysType == "CmsItem");
   },
   // 浜戝涔犱竴閿鍙�
   async getFreeResource() {
-    const child = this.selectComponent('#learn-resource')
-    const token = wx.getStorageSync('jsek-token')
+    const child = this.selectComponent("#learn-resource");
+    const token = wx.getStorageSync(app.config.tokenKey);
     if (!token) {
-      return wx.getUserProfile({
-        desc: '鐢ㄦ埛鐧诲綍',
-        success: (res) => {
-          console.log(res);
+      loginInfo(app, (data) => {
+        // 濡傛灉涓嶆槸绗竴娆$櫥褰曪紝浼氭墽琛屽洖璋�
+        if (data) {
+          // 鐧诲綍鎴愬姛锛岃嚜鍔ㄨ褰晅oken鍜岀敤鎴蜂俊鎭紝骞惰繑鍥瀟rue
+        } else {
+          // 鍑虹幇閿欒锛岃繑鍥瀎alse
         }
-      })
-    }
-    let arr = this.handleTreeData(this.data.learn).filter((item) => this.resourceIsBuy(item))
-    let freeIds = arr.filter((item) => {
-      return item.saleMethod[0].Price == 0
-    })
-    if (!freeIds.length) return wx.showToast({
-      icon: "error",
-      title: '鏆傛棤鍏嶈垂璧勬簮',
-    })
-    child.changeReceive(true)
-    let requests = []
-    freeIds.forEach((item, index) => {
-      if (this.resourceIsBuy(item)) {
-        requests.push({
-          saleMethodId: item.saleMethod[0].Id,
-          count: 1
-        })
+      });
+    } else {
+      let arr = this.handleTreeData(this.data.learn).filter((item) =>
+        this.resourceIsBuy(item)
+      );
+      let freeIds = arr.filter((item) => {
+        return item.saleMethod[0].Price == 0;
+      });
+      if (!freeIds.length)
+        return wx.showToast({
+          icon: "error",
+          title: "鏆傛棤鍏嶈垂璧勬簮",
+        });
+      child.changeReceive(true);
+      let requests = [];
+      freeIds.forEach((item, index) => {
+        if (this.resourceIsBuy(item)) {
+          requests.push({
+            saleMethodId: item.saleMethod[0].Id,
+            count: 1,
+          });
+        }
+      });
+      let query = {
+        remarks: "浜戝涔�",
+        requests,
+      };
+      try {
+        const initOrderRes = await app.MG.store.initOrder(query);
+        let parameter = {
+          orderNum: initOrderRes.orderNumber,
+        };
+        // 纭璁㈠崟
+        const confirmOrderRes = await app.MG.store.confirmOrder(parameter);
+        if (confirmOrderRes.orderNumber) {
+          child.changeReceive(false);
+          wx.showToast({
+            title: "棰嗗彇鎴愬姛",
+          });
+          this.getBookInfo(this.data.bookId);
+        }
+      } catch (error) {
+        console.log(error);
       }
-    })
-
-    let query = {
-      remarks: '浜戝涔�',
-      requests,
-    }
-    try {
-      const initOrderRes = await app.MG.store.initOrder(query)
-      let parameter = {
-        orderNum: initOrderRes.orderNumber
-      }
-      // 纭璁㈠崟
-      const confirmOrderRes = await app.MG.store.confirmOrder(parameter)
-      if (confirmOrderRes.orderNumber) {
-        child.changeReceive(false)
-        wx.showToast({
-          title: '棰嗗彇鎴愬姛',
-        })
-        this.getBookInfo(this.data.bookId)
-      }
-    } catch (error) {
-      console.log(error)
     }
   },
   // 浜戝涔犱竴閿喘涔�
   async allAddShoppiingCar() {
-    const child = this.selectComponent('#learn-resource')
-    const token = wx.getStorageSync('jsek-token')
+    const child = this.selectComponent("#learn-resource");
+    const token = wx.getStorageSync("jsek-token");
     if (!token) {
       return wx.getUserProfile({
-        desc: '鐢ㄦ埛鐧诲綍',
+        desc: "鐢ㄦ埛鐧诲綍",
         success: (res) => {
           console.log(res);
-        }
-      })
+        },
+      });
     }
-    let shopList = this.handleTreeData(this.data.learn).filter((item) => this.resourceIsBuy(item))
-    this.getShoppingCartProductGet()
-    if (!shopList.length) return wx.showToast({
-      icon: "error",
-      title: '宸插叏閮ㄨ喘涔�',
-    })
-    child.changeBuy(true)
-    let requests = []
+    let shopList = this.handleTreeData(this.data.learn).filter((item) =>
+      this.resourceIsBuy(item)
+    );
+    this.getShoppingCartProductGet();
+    if (!shopList.length)
+      return wx.showToast({
+        icon: "error",
+        title: "宸插叏閮ㄨ喘涔�",
+      });
+    child.changeBuy(true);
+    let requests = [];
     shopList.forEach((item) => {
       requests.push({
         saleMethodId: item.saleMethod[0].Id,
         count: 1,
-      })
-    })
+      });
+    });
     let query = {
-      remarks: '浜戝涔�',
+      remarks: "浜戝涔�",
       requests,
-    }
-    const initOrderRes = await app.MG.store.initOrder(query)
-    child.changeBuy(false)
+    };
+    const initOrderRes = await app.MG.store.initOrder(query);
+    child.changeBuy(false);
     // 妫�鏌ヨ鍗曞彿鏄惁瀛樺湪
     if (initOrderRes.orderNumber) {
       // bookService: orderNumber.value,  灏戜紶杩欎釜 锛屾殏鏃朵笉鐭ラ亾鏈変粈涔堢敤
       wx.navigateTo({
         url: `/pages/cart/paymentPage/index?&bookId=${this.data.bookDetail.id}&bookName=${this.data.bookDetail.name}&orderNumber=${initOrderRes.orderNumber}`,
-      })
+      });
     } else {
       // 璁㈠崟鍙蜂笉瀛樺湪锛屾樉绀鸿鍛婃秷鎭�
       wx.showToast({
         icon: "error",
-        title: '璇烽噸璇�',
-      })
+        title: "璇烽噸璇�",
+      });
     }
   },
   // 鍙樹负鎵�鏈塩heck   true
@@ -1276,145 +1555,221 @@
   // 缁勫嵎鏍煎紡鍖栨棩鏈熸樉绀�
   DateFormat(date, fmt) {
     if (date && fmt) {
-      let _date = new Date(date)
+      let _date = new Date(date);
       var o = {
-        'M+': _date.getMonth() + 1, //鏈堜唤
-        'd+': _date.getDate(), //鏃�
-        'h+': _date.getHours(), //灏忔椂
-        'm+': _date.getMinutes(), //鍒�
-        's+': _date.getSeconds(), //绉�
-        'q+': Math.floor((_date.getMonth() + 3) / 3), //瀛e害
-        S: _date.getMilliseconds() //姣
-      }
+        "M+": _date.getMonth() + 1, //鏈堜唤
+        "d+": _date.getDate(), //鏃�
+        "h+": _date.getHours(), //灏忔椂
+        "m+": _date.getMinutes(), //鍒�
+        "s+": _date.getSeconds(), //绉�
+        "q+": Math.floor((_date.getMonth() + 3) / 3), //瀛e害
+        S: _date.getMilliseconds(), //姣
+      };
       if (/(y+)/.test(fmt)) {
-        fmt = fmt.replace(RegExp.$1, (_date.getFullYear() + '').substr(4 - RegExp.$1.length))
+        fmt = fmt.replace(
+          RegExp.$1,
+          (_date.getFullYear() + "").substr(4 - RegExp.$1.length)
+        );
       }
       for (var k in o) {
-        if (new RegExp('(' + k + ')').test(fmt)) {
+        if (new RegExp("(" + k + ")").test(fmt)) {
           fmt = fmt.replace(
             RegExp.$1,
-            RegExp.$1.length == 1
-              ? (o)[k]
-              : ('00' + (o)[k]).substr(('' + (o)[k]).length)
-          )
+            RegExp.$1.length == 1 ?
+            o[k] :
+            ("00" + o[k]).substr(("" + o[k]).length)
+          );
         }
       }
-      return fmt
+      return fmt;
     } else {
-      return ''
+      return "";
     }
   },
   // 鑾峰彇缁勫嵎绛旈鏁版嵁
   getMockData() {
+    // const child = this.selectComponent("#test-resource");
+    // if (child) child.changeTestLoaidng(true);
     this.setData({
-      'mockData.useCount': 0,
-      'mockData.mockList': []
-    })
+      "mockData.useCount": 0,
+      "mockData.mockList": [],
+    });
     app.MG.identity
       .getUserKey({
-        domain: 'mockData',
-        keys: [this.data.bookId]
+        domain: "mockData",
+        keys: [this.data.bookId],
       })
       .then((res) => {
         if (res && res.length) {
-          const mock = JSON.parse(res[0].value)
-          mock.forEach(item => {
-            item.createDate = this.DateFormat(item.createDate, 'yyyy-MM-dd')
-          })
+          const mock = JSON.parse(res[0].value);
+          mock.forEach((item) => {
+            item.createDate = this.DateFormat(item.createDate, "yyyy-MM-dd");
+          });
           this.setData({
-            'mockData.mockList': mock
-          })
+            "mockData.mockList": mock,
+          });
           // 缁勫嵎宸蹭娇鐢ㄦ鏁�
           res.forEach((item) => {
             // 宸茬粡鏈夌瓟棰樺垎鏁扮瓑鏁版嵁锛岃瘉鏄庣粍鍗峰凡缁忎娇鐢ㄥ畬姣�
             if (item.resultData) {
               this.setData({
-                'mockData.useCount': this.data.mockData.useCount + 1
-              })
+                "mockData.useCount": this.data.mockData.useCount + 1,
+              });
             }
-          })
+          });
         }
-      })
+      });
   },
   // 璐拱缁勫嵎
   async buyMock() {
-    let res
-    if (!this.data.mockData.id) return wx.showToast({
-      icon: "error",
-      title: '鏆傛棤缁勫嵎',
-      mask: true
-    })
+    let res;
+    if (!this.data.mockData.id)
+      return wx.showToast({
+        icon: "error",
+        title: "鏆傛棤缁勫嵎",
+        mask: true,
+      });
     // 鏋勫缓璁㈠崟鏌ヨ瀵硅薄
     try {
       let query = {
-        remarks: '缁勫嵎',
-        requests: [
-          {
-            saleMethodId: this.data.mockData.id,
-            count: 1
-          }
-        ]
-      }
+        remarks: "缁勫嵎",
+        requests: [{
+          saleMethodId: this.data.mockData.id,
+          count: 1,
+        }, ],
+      };
       if (this.data.flag) {
         this.setData({
-          flag: false
-        })
-        res = await app.MG.store.initOrder(query)
+          flag: false,
+        });
+        res = await app.MG.store.initOrder(query);
       }
       if (res.orderNumber && this.data.mockData.price) {
         wx.navigateTo({
           url: `/pages/cart/paymentPage/index?orderNumber=${res.orderNumber}`,
-        })
+        });
       } else {
         // 0鍏冪洿鎺ラ鍙�
         // 纭璁㈠崟
-        const confirmOrderRes = await app.MG.store.confirmOrder({ orderNum: res.orderNumber })
+        const confirmOrderRes = await app.MG.store.confirmOrder({
+          orderNum: res.orderNumber,
+        });
         if (confirmOrderRes) {
           wx.showToast({
             icon: "success",
-            title: '棰嗗彇鎴愬姛',
-          })
+            title: "棰嗗彇鎴愬姛",
+          });
           this.setData({
-            flag: true
-          })
-          await this.recordBuyMock() // 璁板綍璐拱鏃堕棿
+            flag: true,
+          });
+          await this.recordBuyMock(); // 璁板綍璐拱鏃堕棿
         }
       }
     } catch (error) {
-      console.log(error)
+      console.log(error);
     }
   },
   // 璁板綍璐拱缁勫嵎鏃堕棿
   recordBuyMock() {
-    const num = this.data.mockData.mockList.length
-    const id = tool.uuid(8)
-    const createDate = new Date().getTime()
-    const mockList = this.data.mockData.mockList
-    mockList.push({ id, createDate, name: `绗�${num + 1}濂楄瘯鍗穈, state: '0' })
+    const num = this.data.mockData.mockList.length;
+    const id = tool.uuid(8);
+    const createDate = this.DateFormat(new Date().getTime(), "yyyy-MM-dd");
+    const mockList = this.data.mockData.mockList;
+    mockList.push({
+      id,
+      createDate,
+      name: `绗�${num + 1}濂楄瘯鍗穈,
+      state: "0",
+    });
     this.setData({
-      'mockData.mockList': mockList
-    })
+      "mockData.mockList": mockList,
+    });
     // 璁板綍璐拱鏃堕棿锛屽苟璁剧姸鎬乻tate涓�1锛岃〃绀哄垰璐拱瀹屾垚缁勫嵎
     app.MG.identity.setUserKey({
-      setKeyRequests: [
-        {
-          domain: 'mockData',
-          key: this.data.bookDetail.id + '',
-          value: JSON.stringify(this.data.mockData.mockList)
+      setKeyRequests: [{
+        domain: "mockData",
+        key: this.data.bookDetail.id + "",
+        value: JSON.stringify(this.data.mockData.mockList),
+      }, ],
+    });
+  },
+  // 鑾峰彇鐩稿叧鍥句功
+  getAboutBook(path) {
+    this.setData({
+      relatedBookLoading: true,
+      noRelatedBookData: false,
+    });
+    let query = {
+      path,
+      queryType: "*",
+      coverSize: {
+        height: 243,
+      },
+      paging: {
+        start: 0,
+        size: 99,
+      },
+      fields: {
+        author: [],
+        publicationDate: [],
+      },
+    };
+    app.MG.store.getProductList(query).then((res) => {
+      const Arr = res.datas.filter(
+        (item) => item.id != this.data.bookDetail.id
+      );
+      let bookArr = [];
+      if (Arr.length > 9) {
+        for (var i = 0; i < 9; i++) {
+          var _num = Math.floor(Math.random() * Arr.length);
+          var mm = Arr[_num];
+          Arr.splice(_num, 1);
+          bookArr.push(mm);
         }
-      ]
-    })
+      } else {
+        bookArr = Arr;
+      }
+      this.setData({
+        relatedBookData: bookArr,
+        relatedBookLoading: false,
+      });
+      if (!this.data.relatedBookData.length)
+        this.setData({
+          noRelatedBookData: true,
+        });
+    });
+  },
+  goBookDetails(e) {
+    this.setData({
+      tabValue: "brief",
+      pageLoading: true,
+    });
+    let bookPathList = wx.getStorageSync("bookPathList");
+    const bookPath = {
+      id: this.data.bookDetail.id,
+      name: this.data.bookDetail.name,
+    };
+    if (bookPathList) {
+      bookPathList = JSON.parse(bookPathList);
+      if (bookPathList.length > 8) bookPathList.shift();
+      bookPathList.push(bookPath);
+    } else {
+      bookPathList = [bookPath];
+    }
+
+    wx.setStorageSync("bookPathList", JSON.stringify(bookPathList));
+    this.onLoad({
+      id: e.detail.id,
+      name: e.detail.name,
+    });
   },
   // 搴曢儴璐拱鎸夐挳
   buyBtn() {
-    if (this.data.tabValue == 'brief') {
-      this.buyBook()
-    }
-    else if (this.data.tabValue == 'jsek_cloudLearning') {
-      const tree = this.selectComponent('#tree')
-      tree.onCloudShoppingCart()
-    } else if (this.data.tabValue == 'questionBank') {
-      this.buyMock()
+    if (this.data.tabValue == "brief" && !this.data.bookBuy) {
+      this.buyBook();
+    } else if (this.data.tabValue == "jsek_cloudLearning") {
+      const tree = this.selectComponent("#tree");
+      tree.onCloudShoppingCart();
     } else {
       console.log(this.data.tabValue);
     }
@@ -1423,304 +1778,345 @@
   goRead() {
     if (!this.data.noFile) {
       wx.showToast({
-        title: '鏆傛棤闃呰鏂囦欢',
-        icon: 'none',
-        duration: 2000
-      })
+        title: "鏆傛棤闃呰鏂囦欢",
+        icon: "none",
+        duration: 2000,
+      });
       return false;
     }
     wx.navigateTo({
-      url: '/packageBookService/pages/components/webView/index?md5=' + this.data.fileInfo.md5 + '&fileName=' + this.data.fileInfo.bookName + '&fileType=' + this.data.fileInfo.fileType + '&freePage=' + this.data.fileInfo.freePage
-    })
-
+      url: "/packageBookService/pages/components/webView/index?md5=" +
+        this.data.fileInfo.md5 +
+        "&fileName=" +
+        this.data.fileInfo.bookName +
+        "&fileType=" +
+        this.data.fileInfo.fileType +
+        "&freePage=" +
+        this.data.fileInfo.freePage +
+        "&bookBuy=" +
+        this.data.bookBuy +
+        "&bookId=" +
+        this.data.bookDetail.id,
+    });
   },
 
   //鏍蜂功鐢宠
-  //鐢宠鐢靛瓙鏍蜂功
-  appplyElectronicBook() {
-    console.log(this.data.bookDetail)
-    if (this.data.bookDetail.isApplyBook == 2 || this.data.bookDetail.isApplyBook == 4) {
-
-      let role = this.data.userInfo != null ? this.data.userInfo.role : null
-      if (role) {
-        if (role == 'Teacher') {
-          if (this.data.noFile) {
-            this.getSelectBookCount()
-          } else {
-            wx.showToast({
-              title: "鏆傛棤鐢靛瓙涔︽枃浠�,璇疯仈绯荤鐞嗗憳!",
-              icon: 'none',
-              duration: 1000,
-            })
+  //鑾峰彇宸茬敵璇风焊璐ㄦ牱涔�
+  getAlreadyPBookList() {
+    const data = {
+      start: 0,
+      size: 9999,
+      topicIdOrRefCode: "applyEntityBook",
+      appRefCode: app.config.appRefCode,
+      sort: {
+        type: "Desc",
+        field: "CreateDate",
+      },
+    };
+    app.MG.ugc.getTopicMessageList(data).then((res) => {
+      let list = [];
+      res.datas.map((item) => {
+        if (item.content) {
+          item.content = JSON.parse(item.content);
+        }
+        list.push(item);
+      });
+      this.setData({
+        alreadyPaperBookList: list,
+      });
+    });
+  },
+  //鑾峰彇宸茬敵璇风數瀛愭牱涔�
+  getAlreadyEBookList() {
+    const data = {
+      start: 0,
+      size: 9999,
+      topicIdOrRefCode: "applyBook",
+      appRefCode: app.config.appRefCode,
+      sort: {
+        type: "Desc",
+        field: "CreateDate",
+      },
+    };
+    app.MG.ugc.getTopicMessageList(data).then((res) => {
+      let list = [];
+      if (res.datas.length > 0) {
+        res.datas.map((item) => {
+          if (item.feedBack) {
+            item.feedBack = JSON.parse(item.feedBack);
+            if (item.feedBack.endDate) {
+              let times = new Date(
+                item.feedBack.endDate + " 23:59:59"
+              ).getTime();
+              let currentDate = new Date().getTime();
+              if (times < currentDate) {
+                item.isExpiry = true;
+              }
+            }
           }
-        } else {
-          wx.showModal({
-            title: '灏婃暚鐨勭敤鎴凤紝鎮ㄥソ锛�', //鎻愮ず鐨勬爣棰�
-            content: '璇峰厛杩涜鏁欏笀璁よ瘉锛�', //鎻愮ず鐨勫唴瀹�
-            success: function (res) {
-              if (res.confirm) {
-                wx.navigateTo({
-                  url: "/packageDomain/pages/teacherCertification/index",
-                });
-              } else if (res.cancel) {
-              }
-            }
-          })
-        }
+          if (item.content) {
+            item.content = JSON.parse(item.content);
+          }
+          if (item.state != "Reject") {
+            list.push(item);
+          }
+        });
+        this.setData({
+          alreadyElectronicBookList: list,
+        });
       }
-    } else {
-      wx.showToast({
-        title: "璇ヤ功涓嶈兘鐢宠鐢靛瓙鏍蜂功",
-        icon: 'none',
-        duration: 1000,
-      })
-    }
+    });
   },
-  //鐢宠绾歌川鏍蜂功
-  appplyPaperBook() {
-    if (this.data.bookDetail.isApplyBook == 3 || this.data.bookDetail.isApplyBook == 4) {
-      let role = this.data.userInfo != null ? this.data.userInfo.role : null
-      if (role) {
-        if (role == 'Teacher') {
-          this.getSelectPaperBookCount()
-        } else {
-          wx.showModal({
-            title: '灏婃暚鐨勭敤鎴凤紝鎮ㄥソ锛�', //鎻愮ず鐨勬爣棰�
-            content: '璇峰厛杩涜鏁欏笀璁よ瘉锛�', //鎻愮ず鐨勫唴瀹�
-            success: function (res) {
-              if (res.confirm) {
-                wx.navigateTo({
-                  url: "/packageDomain/pages/teacherCertification/index",
-                });
-              } else if (res.cancel) {
-              }
-            }
-          })
-        }
-      }
-    } else {
-      wx.showToast({
-        title: "璇ヤ功涓嶈兘鐢宠绾歌川鏍蜂功",
-        icon: 'none',
-        duration: 1000,
-      })
-    }
-  },
+
   //鑾峰彇褰撳墠宸茬敵璇锋鏁帮紙绾歌川锛�
   getSelectPaperBookCount() {
     app.MG.app
       .getTicketResult({
-        ticketRefCodeOrGuid: 'paperSampleBookapplyNum',
-        roleId: this.data.userInfo.roleId
+        ticketRefCodeOrGuid: "paperSampleBookapplyNum",
+        roleId: this.data.userInfo.roleId,
       })
       .then((res) => {
         this.setData({
-          paperBookCount: res.totalCount - res.usedCount
-        })
-        this.getAlreadyBookList(this.data.bookDetail, 'pBook')
-      })
+          paperBookCount: res.totalCount - res.usedCount,
+        });
+      });
   },
   //鑾峰彇褰撳墠宸茬敵璇锋鏁帮紙鐢靛瓙锛�
   getSelectBookCount() {
     app.MG.app
       .getTicketResult({
-        ticketRefCodeOrGuid: 'electronicSampleBookapplyNum',
-        roleId: this.data.userInfo.roleId
+        ticketRefCodeOrGuid: "electronicSampleBookapplyNum",
+        roleId: this.data.userInfo.roleId,
       })
       .then((res) => {
         this.setData({
-          ebookCount: res.totalCount - res.usedCount
-        })
-        this.getAlreadyBookList(this.data.bookDetail, 'eBook')
-      })
+          ebookCount: res.totalCount - res.usedCount,
+        });
+      });
   },
-  //鑾峰彇宸茬敵璇风殑鏍蜂功鍒楄〃
-  getAlreadyBookList(item, type) {
-    let topicIdOrRefCode = null
-    if (type == 'eBook') {
-      topicIdOrRefCode = 'applyBook'
+
+  //鐢宠鐢靛瓙鏍蜂功
+  appplyElectronicBook() {
+    if (
+      this.data.bookDetail.isApplyBook == 2 ||
+      this.data.bookDetail.isApplyBook == 4
+    ) {
+      let role = this.data.userInfo != null ? this.data.userInfo.role : null;
+      if (role && role == "Teacher") {
+        if (!this.data.noFile) {
+          wx.showToast({
+            title: "鏆傛棤鐢靛瓙涔︽枃浠�,璇疯仈绯荤鐞嗗憳!",
+            icon: "none",
+            duration: 1000,
+          });
+          return;
+        }
+        if (this.data.ebookCount == 0) {
+          wx.showToast({
+            title: "鎮ㄧ殑鐢靛瓙鏍蜂功鐢宠娆℃暟宸茬敤灏斤紝鑻ヨ缁х画锛岃鑱旂郴绠$悊鍛橈紒",
+            icon: "none",
+            duration: 1000,
+          });
+          return false;
+        }
+
+        let isHas = this.data.electronicBookList.find(
+          (eitem) => eitem.id == this.data.bookDetail.id
+        );
+        if (isHas) {
+          wx.showToast({
+            title: "璇ヤ功宸插湪娓呭崟鍒楄〃涓�",
+            icon: "none",
+            duration: 1000,
+          });
+          return false;
+        }
+        let isApply = this.data.alreadyElectronicBookList.find(
+          (eitem) => eitem.id == this.data.bookDetail.id
+        );
+        if (isApply) {
+          wx.showToast({
+            title: "璇ヤ功宸茬敵璇凤紒",
+            icon: "none",
+            duration: 1000,
+          });
+          return false;
+        }
+        if (this.data.electronicBookList.length >= 2) {
+          wx.showToast({
+            title: "姣忔鏈�澶氬彧鍙敵璇�2鏈牱涔�",
+            icon: "none",
+            duration: 1000,
+          });
+          return false;
+        }
+        this.addBookFun(this.data.bookDetail, "eBook");
+      } else {
+        wx.showModal({
+          title: "灏婃暚鐨勭敤鎴凤紝鎮ㄥソ锛�", //鎻愮ず鐨勬爣棰�
+          content: "璇峰厛杩涜鏁欏笀璁よ瘉锛�", //鎻愮ず鐨勫唴瀹�
+          confirmColor: "#ff6c00",
+          cancelColor: "#949494",
+          success: function (res) {
+            if (res.confirm) {
+              wx.navigateTo({
+                url: "/packageDomain/pages/teacherCertification/index",
+              });
+            } else if (res.cancel) {}
+          },
+        });
+      }
     } else {
-      topicIdOrRefCode = 'applyEntityBook'
+      wx.showToast({
+        title: "璇ヤ功涓嶈兘鐢宠鐢靛瓙鏍蜂功",
+        icon: "none",
+        duration: 1000,
+      });
     }
-    const data = {
-      start: 0,
-      size: 9999,
-      topicIdOrRefCode,
-      appRefCode: app.config.appRefCode,
-      sort: {
-        type: 'Desc',
-        field: 'CreateDate'
-      }
-    }
-    app.MG.ugc.getTopicMessageList(data).then((res) => {
-      let itemAttr = null
-      let isHas = false
-      itemAttr = {
-        id: item.id,
-        title: item.name || '--',
-        icon: item.icon,
-        checked: false,
-        defaultSaleMethodId: item.defaultSaleMethodId,
-        md5: item.datas.Icon,
-        author: item.author || '--',
-        price: item.price || '--',
-        isbn: item.isbn || '--',
-        publicationDate: item.publicationDate
-      }
-      res.datas.map((item) => {
-        if (item.feedBack) {
-          item.feedBack = JSON.parse(item.feedBack)
-          if (item.feedBack.endDate) {
-            const currentDate = new Date()
-            let times = new Date(item.feedBack.endDate + ' 23:59:59').getTime()
-            if (times < currentDate.getTime()) {
-              item.isExpiry = true
-            }
-          }
-        }
-        if (item.content) {
-          item.content = JSON.parse(item.content)
-          item.content.map((e) => (item.productId = e.id))
-        }
-      })
-      let objVal = null
-      if (type != 'eBook') {
-        objVal = res.datas.find(
-          (i) => i.productId == item.id && i.state != 'Reject' && i.state == 'WaitAudit'
-        )
-      } else {
-        objVal = res.datas.find((i) => i.productId == item.id && i.state != 'Reject')
-      }
-      if (objVal && !objVal.isExpiry && type == 'eBook') {
-        wx.showToast({
-          title: "鎮ㄥ凡鐢宠璇ユ牱涔�",
-          icon: 'none',
-          duration: 1000,
-        })
-      } else if (objVal && type != 'eBook') {
-        wx.showToast({
-          title: "鎮ㄥ凡鐢宠璇ユ牱涔�",
-          icon: 'none',
-          duration: 1000,
-        })
-      } else {
-        if (type == 'eBook') {
-          if (this.data.ebookCount > 0) {
-            const eBookData = this.data.electronicBookList
-            if (eBookData.length == 2) {
-              wx.showToast({
-                title: "姣忔鏈�澶氬彧鍙敵璇�2鏈牱涔�",
-                icon: 'none',
-                duration: 1000,
-              })
-              return false
-            }
-            if (eBookData.length > 0) {
-              for (let i = 0; i < eBookData.length; i++) {
-                if (eBookData[i].id == item.id) {
-                  isHas = true
-                }
-              }
-              if (!isHas) {
-                wx.showToast({
-                  title: "娣诲姞鎴愬姛锛屽湪鏍蜂功鐢宠鍗曠瓑鎮ㄥ摝~",
-                  icon: "none",
-                  duration: 1000,
-                })
-                this.setData({
-                  electronicBookList: [...this.data.electronicBookList, ...[itemAttr]],
-                  num: this.data.electronicBookList.length + this.data.paperBookList.length
-                })
-                wx.setStorageSync("electronicBookList", this.data.electronicBookList);
-              } else {
-                wx.showToast({
-                  title: "璇ヤ功宸插湪娓呭崟鍒楄〃涓�",
-                  icon: "none",
-                  duration: 1000,
-                })
-              }
-            } else {
-              wx.showToast({
-                title: "娣诲姞鎴愬姛锛屽湪鏍蜂功鐢宠鍗曠瓑鎮ㄥ摝~",
-                icon: "none",
-                duration: 1000,
-              })
-              this.setData({
-                electronicBookList: [itemAttr],
-                num: 1 + this.data.paperBookList.length
-              })
-              wx.setStorageSync("electronicBookList", [itemAttr]);
-            }
-          } else {
-            wx.showToast({
-              title: "鎮ㄧ殑鐢靛瓙鏍蜂功鐢宠娆℃暟宸茬敤灏斤紝鑻ヨ缁х画锛岃鑱旂郴绠$悊鍛橈紒",
-              icon: "none",
-              duration: 1000,
-            })
-          }
-        } else {
-          if (this.data.paperBookCount > 0) {
-            const pBookData = this.data.paperBookList
-            if (pBookData.length == 2) {
-              wx.showToast({
-                title: "姣忔鏈�澶氬彧鍙敵璇�2鏈牱涔�",
-                icon: 'none',
-                duration: 1000,
-              })
-              return false
-            }
-            if (pBookData.length > 0) {
-              for (let i = 0; i < pBookData.length; i++) {
-                if (pBookData[i].id == item.id) {
-                  isHas = true
-                }
-              }
-              if (!isHas) {
-                wx.showToast({
-                  title: "娣诲姞鎴愬姛锛屽湪鏍蜂功鐢宠鍗曠瓑鎮ㄥ摝~",
-                  icon: 'none',
-                  duration: 1000,
-                })
-                this.setData({
-                  paperBookList: [...this.data.paperBookList, ...[itemAttr]],
-                  num: this.data.paperBookList.lenght + this.data.electronicBookList.length
-                })
-                wx.setStorageSync("paperBookList", this.data.paperBookList);
-              } else {
-                wx.showToast({
-                  title: "璇ヤ功宸插湪娓呭崟鍒楄〃涓�",
-                  icon: "none",
-                  duration: 1000,
-                })
-              }
-            } else {
-              wx.showToast({
-                title: "娣诲姞鎴愬姛锛屽湪鏍蜂功鐢宠鍗曠瓑鎮ㄥ摝~",
-                icon: 'none',
-                duration: 1000,
-              })
-              this.setData({
-                paperBookList: [itemAttr],
-                num: 1 + this.data.electronicBookList.length
-              })
-              wx.setStorageSync("paperBookList", [itemAttr]);
-            }
-          } else {
-            wx.showToast({
-              title: "鎮ㄧ殑绾歌川鏍蜂功鐢宠娆℃暟宸茬敤灏斤紝鑻ヨ缁х画锛岃鑱旂郴绠$悊鍛橈紒",
-              icon: 'none',
-              duration: 1000,
-            })
-          }
-        }
-      }
-    })
   },
+  //鐢宠绾歌川鏍蜂功
+  appplyPaperBook() {
+    if (
+      this.data.bookDetail.isApplyBook == 3 ||
+      this.data.bookDetail.isApplyBook == 4
+    ) {
+      let role = this.data.userInfo != null ? this.data.userInfo.role : null;
+      if (role && role == "Teacher") {
+        // 鐐瑰嚮閫変腑
+        if (this.data.paperBookCount == 0) {
+          wx.showToast({
+            title: "鎮ㄧ殑绾歌川鏍蜂功鐢宠娆℃暟宸茬敤灏斤紝鑻ヨ缁х画锛岃鑱旂郴绠$悊鍛橈紒",
+            icon: "none",
+            duration: 1000,
+          });
+          return false;
+        }
+        let isApply = this.data.alreadyPaperBookList.find(
+          (pitem) => pitem.id == this.data.bookDetail.id
+        );
+        if (isApply) {
+          wx.showToast({
+            title: "璇ヤ功宸茬敵璇凤紒",
+            icon: "none",
+            duration: 1000,
+          });
+          return false;
+        }
+
+        let isHas = this.data.paperBookList.find(
+          (pitem) => pitem.id == this.data.bookDetail.id
+        );
+        if (isHas) {
+          wx.showToast({
+            title: "璇ヤ功宸插湪娓呭崟鍒楄〃涓�",
+            icon: "none",
+            duration: 1000,
+          });
+          return false;
+        }
+        if (this.data.paperBookList.length >= 2) {
+          wx.showToast({
+            title: "姣忔鏈�澶氬彧鍙敵璇�2鏈牱涔�",
+            icon: "none",
+            duration: 1000,
+          });
+          return false;
+        }
+        this.addBookFun(this.data.bookDetail, "pBook");
+      } else {
+        wx.showModal({
+          title: "灏婃暚鐨勭敤鎴凤紝鎮ㄥソ锛�", //鎻愮ず鐨勬爣棰�
+          content: "璇峰厛杩涜鏁欏笀璁よ瘉锛�", //鎻愮ず鐨勫唴瀹�
+          confirmColor: "#ff6c00",
+          cancelColor: "#949494",
+          success: function (res) {
+            if (res.confirm) {
+              wx.navigateTo({
+                url: "/packageDomain/pages/teacherCertification/index",
+              });
+            } else if (res.cancel) {}
+          },
+        });
+      }
+    } else {
+      wx.showToast({
+        title: "璇ヤ功涓嶈兘鐢宠绾歌川鏍蜂功",
+        icon: "none",
+        duration: 1000,
+      });
+    }
+  },
+  //  娣诲姞鏍蜂功
+  addBookFun(item, type) {
+    let itemAttr = null;
+    const eList = this.data.electronicBookList;
+    const pList = this.data.paperBookList;
+    itemAttr = {
+      id: item.id,
+      title: item.name || "-",
+      icon: item.icon,
+      checked: false,
+      defaultSaleMethodId: item.defaultSaleMethodId,
+      md5: item.datas.Icon,
+      author: item.author || "-",
+      price: item.price || "-",
+      isbn: item.isbn || "-",
+      publicationDate: item.publicationDate,
+    };
+    if (type == "eBook") {
+      eList.push(itemAttr);
+      this.setData({
+        electronicBookList: eList,
+      });
+      wx.setStorageSync("electronicBookList", eList);
+    } else {
+      pList.push(itemAttr);
+      this.setData({
+        paperBookList: pList,
+      });
+      wx.setStorageSync("paperBookList", pList);
+    }
+    this.setData({
+      num: this.data.num + 1,
+    });
+    wx.showToast({
+      title: "娣诲姞鎴愬姛锛屽湪鏍蜂功鐢宠鍗曠瓑鎮ㄥ摝~",
+      icon: "none",
+      duration: 1000,
+    });
+  },
+
   //鍘绘牱涔︾敵璇峰崟
   goApply() {
     wx.navigateTo({
       url: "/packageDomain/pages/sampleBookList/applicationForm/index",
     });
   },
-
-})
+  handleTree() {
+    // const child = this.selectComponent('#teach-tree')
+    let tree;
+    // let openIds = child.data.openIds
+    if (this.data.tabValue == "jsek_teachingResources") {
+      tree = this.data.teach;
+    } else {
+      tree = this.data.learn;
+    }
+    for (let index = 0; index < tree.length; index++) {
+      const item = tree[index];
+      if (item.children && item.children.length > 0) {
+        const num = this.data.openTeachids.findIndex(
+          (citem) => item.id == citem
+        );
+        if (num >= 0) {
+          item.open = true;
+        } else {
+          item.open = false;
+        }
+        this.handleTree(item.children);
+      }
+    }
+    this.setData({
+      teach: tree,
+    });
+  },
+});
\ No newline at end of file

--
Gitblit v1.9.1