闫增涛
2025-03-28 38cd76c5f05fd55855038e2d393074e27909c63d
剩余页面登录迁移
7个文件已修改
387 ■■■■■ 已修改文件
pages/digitalCourses/digitalCoursesDetails/components/note/note.js 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/digitalCourses/digitalCoursesDetails/components/question/question.js 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/digitalCourses/digitalCoursesDetails/components/testTree/index.js 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/digitalCourses/digitalCoursesDetails/components/tree/index.js 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/digitalCourses/digitalCoursesDetails/components/tree/index.wxml 129 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/digitalCourses/digitalCoursesDetails/index.js 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/digitalTextbooks/digitalTextbooksDetails/index.js 159 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/digitalCourses/digitalCoursesDetails/components/note/note.js
@@ -1,5 +1,8 @@
// pages/bookServices/detail/components/note/note.js
const app = getApp();
import {
  loginInfo
} from '../../../../../assets/js/login';
Component({
  /**
   * 组件的属性列表
@@ -15,8 +18,7 @@
   * 组件的初始数据
   */
  data: {
    inputStyle:
      "border: 2rpx solid rgba(220,220,220,1);border-radius: 12rpx; padding:16rpx",
    inputStyle: "border: 2rpx solid rgba(220,220,220,1);border-radius: 12rpx; padding:16rpx",
    placeholderstyle: "font-size:28rpx",
    flag: false, // 输入框是否显示
    submitType: "new", //  新建 or 编辑
@@ -64,10 +66,15 @@
      });
    },
    openDialog() {
      const token = wx.getStorageSync(app.config.tokenKey)
      if (token) {
      this.setData({
        submitTitle: this.properties.bookInfo.name,
        showNoteDialog: true,
      });
      } else {
        loginInfo(app, (data) => {})
      }
    },
    closeDialog() {
      this.setData({
@@ -144,6 +151,7 @@
    },
    // 获取笔记列表
    async getNoteList() {
      const getFun = async () => {
      if (!this.data.isMore) {
        this.setData({
          loading: true,
@@ -168,7 +176,6 @@
            });
          }
        });
      // loadings.value.bookResource = true
      let query = {
        start: 0,
        size: this.data.pageCount.page * 5,
@@ -201,6 +208,25 @@
          noList: false,
        });
      });
      }
      const token = wx.getStorageSync(app.config.tokenKey)
      if (!token) {
        loginInfo(app, (data) => {
          if (data) {
            getFun()
          } else {
            this.setData({
              loading: false,
              noList: true,
              noteList: [],
            });
          }
        })
      } else {
        getFun()
      }
    },
    // 新建笔记接口
    async makeNote() {
pages/digitalCourses/digitalCoursesDetails/components/question/question.js
@@ -1,5 +1,8 @@
// pages/bookServices/detail/components/note/note.js
const app = getApp();
import {
  loginInfo
} from '../../../../../assets/js/login';
import moment from 'moment'
Component({
  /**
@@ -67,10 +70,15 @@
      });
    },
    openDialog() {
      const token = wx.getStorageSync(app.config.tokenKey)
      if (token) {
      this.setData({
        submitTitle: this.properties.bookInfo.name,
        showNoteDialog: true,
      });
      } else {
        loginInfo(app, (data) => {})
      }
    },
    closeDialog() {
      this.setData({
pages/digitalCourses/digitalCoursesDetails/components/testTree/index.js
@@ -1,4 +1,7 @@
const app = getApp();
import {
  loginInfo
} from '../../../../../assets/js/login';
Component({
  properties: {
    treeList: {
@@ -43,20 +46,12 @@
        openIds: e.detail.value,
      });
    },
    async goTest(e) {
      console.log(e, 666)
    goTest(e) {
      const gotoPageFun = async () => {
      const value = e.currentTarget.dataset.item;
      const parent = e.currentTarget.dataset.parent;
      const isTry = e.currentTarget.dataset.istry;
      const token = wx.getStorageSync("jsek-token");
      if (!token) {
        return wx.getUserProfile({
          desc: "用户登录",
          success: (res) => {
            console.log(res);
          },
        });
      }
      if (!isTry && !this.data.isBuy) {
        return wx.showToast({
          icon: 'error',
@@ -103,6 +98,14 @@
            value.name
          }&answerType=${"option"}&storeInfo=${app.config.digitalCourses}`,
      });
      }
      const token = wx.getStorageSync(app.config.tokenKey)
      if (!token) {
        loginInfo(app, () => {})
      } else {
        gotoPageFun()
      }
    },
  },
});
pages/digitalCourses/digitalCoursesDetails/components/tree/index.js
@@ -1,4 +1,7 @@
const app = getApp();
import {
  loginInfo
} from '../../../../../assets/js/login';
Component({
  properties: {
    treeList: {
@@ -114,9 +117,9 @@
          url: `${url}?productLinkPath=${item.productLinkPath}&parentProductLinkPath=${parentProductLinkPath}&parentName=${parentName}&activeId=${item.id}&bookId=${this.properties.bookInfo.id}&bookName=${this.properties.bookInfo.name}&cmsId=${this.properties.bookInfo.rootCmsItemId}&formPath=jsek_cloudLearning&storeInfo=${app.config.digitalCourses}`,
        });
      } else {
        loginInfo(app, (data) => {})
      }
    },
  },
});
pages/digitalCourses/digitalCoursesDetails/components/tree/index.wxml
@@ -1,14 +1,37 @@
<view class="tree">
  <t-collapse default-value="{{openIds}}" catchchange="handleChange">
    <view wx:for="{{treeList}}" wx:for-item="item" wx:for-index="index" wx:key="id" wx:if="{{item.sysType== 'CmsItem' }}">
      <view class="listItems" wx:if="{{item.childrenFolderCount <= 0 && item.sysType == 'CmsItem'}}">
    <view
      wx:for="{{treeList}}"
      wx:for-item="item"
      wx:for-index="index"
      wx:key="id"
      wx:if="{{item.sysType== 'CmsItem' }}"
    >
      <view
        class="listItems"
        wx:if="{{item.childrenFolderCount <= 0 && item.sysType == 'CmsItem'}}"
      >
        <view class="itemsInfo">
          <view class="contentBox" >
            <!-- 云学习 图标 -->
            <view class="box-image fl-cn" style="width: 80%" bind:tap="goPlayer" data-item="{{item}}" data-parent="{{''}}">
            <view
              class="box-image fl-cn"
              style="width: 80%"
              bind:tap="goPlayer"
              data-item="{{item}}"
              data-parent="{{''}}"
            >
              <view class="teach-icon fl-cn">
                <image wx:if="{{item.selectType == 'audio' || item.learnSelectType == 'audio'}}" src="/static/images/bookService/detail/audioIcon.png" mode="aspectFill" />
                <image wx:elif="{{item.selectType == 'video' || item.learnSelectType == 'video'}}" src="/static/images/bookService/detail/video.png" mode="aspectFill" />
                <image
                  wx:if="{{item.selectType == 'audio' || item.learnSelectType == 'audio'}}"
                  src="/static/images/bookService/detail/audioIcon.png"
                  mode="aspectFill"
                />
                <image
                  wx:elif="{{item.selectType == 'video' || item.learnSelectType == 'video'}}"
                  src="/static/images/bookService/detail/video.png"
                  mode="aspectFill"
                />
                <image
                  wx:elif="{{item.selectType == 'pdf' || item.learnSelectType == 'pdf'}}"
                  src="/static/images/bookService/detail/pdf.png"
@@ -45,21 +68,43 @@
                  mode="aspectFill"
                />
                <!-- 资源无文件内容图标 -->
                <image wx:else src="/static/images/bookService/detail/word.png" mode="" />
                <image
                  wx:else
                  src="/static/images/bookService/detail/word.png"
                  mode=""
                />
              </view>
              <!-- 名称 -->
              <text class="name" style="width: 100%">{{item.name || '-'}}</text>
              <text>{{item.progress ? item.progress : 0}}%</text>
            </view>
            <view class="seeBox"  wx:if="{{!isBuy && citem.freeFile ? true : false}}" bind:tap="goPlayer" data-item="{{citem}}" data-parent="" data-isTry="{{true}}">
            <view
              class="seeBox"
              wx:if="{{!isBuy && citem.freeFile ? true : false}}"
              bind:tap="goPlayer"
              data-item="{{citem}}"
              data-parent=""
              data-isTry="{{true}}"
            >
              <!-- 云学习试看图标 -->
              <image src="/static/images/bookService/detail/shikan.png" class="testSee" wx:if="{{!isBuy && item.freeFile ? true : false}}"></image>
              <image
                src="/static/images/bookService/detail/shikan.png"
                class="testSee"
                wx:if="{{!isBuy && item.freeFile ? true : false}}"
              ></image>
            </view>
          </view>
        </view>
      </view>
    </view>
    <t-collapse-panel wx:for="{{treeList}}" wx:for-item="item" wx:for-index="index" wx:key="id" value="{{item.id}}" wx:if="{{item.sysType == 'CmsFolder' }}">
    <t-collapse-panel
      wx:for="{{treeList}}"
      wx:for-item="item"
      wx:for-index="index"
      wx:key="id"
      value="{{item.id}}"
      wx:if="{{item.sysType == 'CmsFolder' }}"
    >
      <view slot="header" class="header-title">
        <view class="title-checkBox" catchtap="catchTap">
          <!-- 章节名 -->
@@ -68,16 +113,38 @@
          </view>
        </view>
      </view>
      <view class="list" wx:for="{{item.children}}" wx:for-item="citem" wx:for-index="cindex" wx:key="cindex">
      <view
        class="list"
        wx:for="{{item.children}}"
        wx:for-item="citem"
        wx:for-index="cindex"
        wx:key="cindex"
      >
        <!-- // 判断 无子项 且为商品item 直接显示 -->
        <view class="listItems" wx:if="{{citem.childrenFolderCount <= 0 && citem.sysType == 'CmsItem'}}">
        <view
          class="listItems"
          wx:if="{{citem.childrenFolderCount <= 0 && citem.sysType == 'CmsItem'}}"
        >
          <view class="itemsInfo">
            <view class="contentBox" >
              <!-- 云学习 图标 -->
              <view class="box-image fl-cn" bind:tap="goPlayer" data-item="{{citem}}" data-parent="{{item}}">
              <view
                class="box-image fl-cn"
                bind:tap="goPlayer"
                data-item="{{citem}}"
                data-parent="{{item}}"
              >
                <view class="teach-icon fl-cn">
                  <image wx:if="{{citem.selectType == 'audio' || citem.learnSelectType == 'audio'}}" src="/static/images/bookService/detail/audioIcon.png" mode="aspectFill" />
                  <image wx:elif="{{citem.selectType == 'video' || citem.learnSelectType == 'video'}}" src="/static/images/bookService/detail/video.png" mode="aspectFill" />
                  <image
                    wx:if="{{citem.selectType == 'audio' || citem.learnSelectType == 'audio'}}"
                    src="/static/images/bookService/detail/audioIcon.png"
                    mode="aspectFill"
                  />
                  <image
                    wx:elif="{{citem.selectType == 'video' || citem.learnSelectType == 'video'}}"
                    src="/static/images/bookService/detail/video.png"
                    mode="aspectFill"
                  />
                  <image
                    wx:elif="{{citem.selectType == 'pdf' || citem.learnSelectType == 'pdf'}}"
                    src="/static/images/bookService/detail/pdf.png"
@@ -114,21 +181,45 @@
                    mode="aspectFill"
                  />
                  <!-- 资源无文件内容图标 -->
                  <image wx:else src="/static/images/bookService/detail/word.png" mode="" />
                  <text class="name" style="width:400rpx">{{citem.name || '-'}}</text>
                  <image
                    wx:else
                    src="/static/images/bookService/detail/word.png"
                    mode=""
                  />
                  <text class="name" style="width: 400rpx"
                    >{{citem.name || '-'}}</text
                  >
                </view>
                <!-- 名称 -->
                <text>{{citem.progress ? citem.progress : 0}}%</text>
              </view>
              <view class="seeBox" wx:if="{{!isBuy && citem.freeFile ? true : false}}" bind:tap="goPlayer" data-item="{{citem}}" data-parent="{{item}}" data-isTry="{{true}}">
              <view
                class="seeBox"
                wx:if="{{!isBuy && citem.freeFile ? true : false}}"
                bind:tap="goPlayer"
                data-item="{{citem}}"
                data-parent="{{item}}"
                data-isTry="{{true}}"
              >
                <!-- 云学习试看图标 -->
                <image src="/static/images/bookService/detail/shikan.png" class="testSee" ></image>
                <image
                  src="/static/images/bookService/detail/shikan.png"
                  class="testSee"
                ></image>
              </view>
            </view>
          </view>
        </view>
        <!-- // 判断 不是商品 有子项 递归组件 -->
        <tree wx:if="{{ citem.sysType == 'CmsFolder' }}" bookInfo="{{bookInfo}}" treeList="{{[citem]}}" learnList="{{learnList}}" itemId="{{itemId}}" openIds="{{openIds}}" isBuy="{{isBuy}}"></tree>
        <tree
          wx:if="{{ citem.sysType == 'CmsFolder' }}"
          bookInfo="{{bookInfo}}"
          treeList="{{[citem]}}"
          learnList="{{learnList}}"
          itemId="{{itemId}}"
          openIds="{{openIds}}"
          isBuy="{{isBuy}}"
        ></tree>
      </view>
      <!-- 暂无数据 -->
      <view wx:if="{{!item.children || !item.children.length}}" class="noData">
pages/digitalCourses/digitalCoursesDetails/index.js
@@ -167,8 +167,9 @@
      bookId: options.id,
      bookPath: parentPath.join('\\')
    })
    const token = wx.getStorageSync(app.config.tokenKey)
    this.digitalCoursesDetailsGet(options.id)
    this.getPlayerList()
    if (token) this.getPlayerList()
    this.getType()
  },
  logInFun(callback) {
@@ -193,7 +194,8 @@
   */
  onShow() {
    if (this.data.tabValue == 2 && this.data.selectActive == 'learn') {
      this.getPlayerList()
      const token = wx.getStorageSync(app.config.tokenKey)
      if (token) this.getPlayerList()
      this.getResource()
      this.getRelationBook()
    }
@@ -506,7 +508,8 @@
      pading: {
        start: 99,
        size: 0
      }
      },
    }
    app.MG.store.getProductDetail(query).then((res) => {
      let test = []
@@ -742,23 +745,23 @@
  },
  readTextBook() {
    const token = wx.getStorageSync(app.config.tokenKey)
    if (!token) {
      this.logInFun(() => {})
    } else {
    wx.navigateTo({
      url: '/pages/digitalCourses/digitalCoursesDetails/components/digitalRead/index?refCode=' + this.data.relationTextBook.refCode + '&tryPageCount=' + this.data.relationTextBook.probationPage + '&isTextBookBuy=' + this.data.isTextBookBuy
    })
    }
  },
  //在线测试我的收藏、我的错题
  goMycollect(e) {
    const answertype = e.currentTarget.dataset.answertype;
    const token = wx.getStorageSync("jsek-token");
    const token = wx.getStorageSync(app.config.tokenKey)
    if (!token) {
      return wx.getUserProfile({
        desc: "用户登录",
        success: (res) => {
          console.log(res);
        },
      });
    }
      this.logInFun(() => {})
    } else {
      const answertype = e.currentTarget.dataset.answertype;
    wx.navigateTo({
      url: `/packageBookService/pages/bookServices/examination/examination?bookId=${
        this.data.digitalsData.id
@@ -766,6 +769,8 @@
        answertype == "collectQuestion" ? "我的收藏" : "我的错题"
      }&answerType=${answertype}&storeInfo=${app.config.digitalCourses}`,
    });
    }
  },
  onCorrelationBook(e) {
pages/digitalTextbooks/digitalTextbooksDetails/index.js
@@ -88,21 +88,19 @@
    this.setData({
      digitalTextId: options.id
    })
    const token = wx.getStorageSync(app.config.tokenKey)
    if (!token) {
    this.digitalTextbooksDetailsGet(this.data.digitalTextId)
    this.getType()
    this.getCertificateList()
  },
  logInFun(callback) {
      loginInfo(app, (data) => {
        if (data) {
          this.digitalTextbooksDetailsGet(this.data.digitalTextId)
          this.getType()
          this.getCertificateList()
        } else {
        callback()
        }
      })
    }
    this.digitalTextbooksDetailsGet(this.data.digitalTextId)
    this.getType()
    this.getCertificateList()
  },
  // 格式化日期
  // 格式化日期
@@ -377,7 +375,8 @@
    })
  },
  // 图书添加购物车
  async addBookShopcCar() {
  addBookShopcCar() {
    const addFun = async () => {
    if (!this.data.expire) {
      const shoppingCartGetId = [];
      let query = {
@@ -419,6 +418,13 @@
        duration: 1000,
      });
    }
    }
    const token = wx.getStorageSync(app.config.tokenKey)
    if (!token) {
      this.logInFun(() => {})
    } else {
      addFun()
    }
  },
  showSuccessToast() {
    Toast({
@@ -432,7 +438,8 @@
  //购买按钮
  async buyBtn() {
  buyBtn() {
    const buyFun = async () => {
    if (!this.data.expire) {
      let bookOrdersId = "";
      let query = {
@@ -478,45 +485,31 @@
        duration: 1000,
      });
    }
    }
    const token = wx.getStorageSync(app.config.tokenKey)
    if (!token) {
      this.logInFun(() => {})
    } else {
      buyFun()
    }
  },
  goRead() {
    // 首页测试登录功能,后续注释
    // 检查登录状态
    const gotoPageFun = () => {
      const item = this.data.digitalsData
      wx.navigateTo({
        url: '/pages/digitalTextbooks/digitalTextbooksDetails/components/webView/index?refCode=' + item.refCode + "&tryPageCount=" + item.probationPage
      });
    }
    const token = wx.getStorageSync(app.config.tokenKey)
    if (!token) {
      loginInfo(app, (data) => {
        // 如果不是第一次登录,会执行回调
        if (data) {
          // 登录成功,自动记录token和用户信息,并返回true
          const item = this.data.digitalsData
          wx.navigateTo({
            url: '/pages/digitalTextbooks/digitalTextbooksDetails/components/webView/index?refCode=' + item.refCode + "&tryPageCount=" + item.probationPage
          });
      this.logInFun(() => {})
        } else {
          // 出现错误,返回false
      gotoPageFun()
        }
      })
    } else {
      // 如果是第一次登录,会跳转至绑定用户信息页面,填写完用户信息后进行登录并储存token和用户信息,结束后跳转回当前页面(携带页面参数)
      const item = this.data.digitalsData
      wx.navigateTo({
        url: '/pages/digitalTextbooks/digitalTextbooksDetails/components/webView/index?refCode=' + item.refCode + "&tryPageCount=" + item.probationPage
      });
    }
    // let token = wx.getStorageSync(app.config.tokenKey)
    // if (token) {
    // }
  },
  onTabClick(e) {
    let tab = e.currentTarget.dataset.tab;
    this.setData({
      type: tab,
@@ -606,63 +599,35 @@
    }).exec()
  },
  setCoolect() {
    // 首页测试登录功能,后续注释
    // 检查登录状态
    const collectFun = () => {
      if (this.data.digitalsData.isFavourite) {
        app.MG.store
          .delProductLink({
            productIds: [this.data.digitalsData.id],
            linkType: 'FavoriteTextBooks'
          })
          .then(() => {
            this.setData({
              "digitalsData.isFavourite": false
            })
          })
      } else {
        let params = {
          productIds: [this.data.digitalsData.id],
          linkType: 'FavoriteTextBooks'
        }
        app.MG.store.addProductLink(params).then((res) => {
          this.setData({
            "digitalsData.isFavourite": true
          })
        })
      }
    }
    const token = wx.getStorageSync(app.config.tokenKey)
    if (!token) {
      loginInfo(app, (data) => {
        // 如果不是第一次登录,会执行回调
        if (data) {
          if (this.data.digitalsData.isFavourite) {
            app.MG.store
              .delProductLink({
                productIds: [this.data.digitalsData.id],
                linkType: 'FavoriteTextBooks'
              })
              .then(() => {
                this.setData({
                  "digitalsData.isFavourite": false
                })
              })
      this.logInFun(() => {})
          } else {
            let params = {
              productIds: [this.data.digitalsData.id],
              linkType: 'FavoriteTextBooks'
            }
            app.MG.store.addProductLink(params).then((res) => {
              this.setData({
                "digitalsData.isFavourite": true
              })
            })
          }
        } else {
          // 出现错误,返回false
        }
      })
    } else {
      if (this.data.digitalsData.isFavourite) {
        app.MG.store
          .delProductLink({
            productIds: [this.data.digitalsData.id],
            linkType: 'FavoriteTextBooks'
          })
          .then(() => {
            this.setData({
              "digitalsData.isFavourite": false
            })
          })
      } else {
        let params = {
          productIds: [this.data.digitalsData.id],
          linkType: 'FavoriteTextBooks'
        }
        app.MG.store.addProductLink(params).then((res) => {
          this.setData({
            "digitalsData.isFavourite": true
          })
        })
      }
      collectFun()
    }
  },
  // 我要建议
@@ -712,6 +677,7 @@
  },
  onCertificate() {
    const cateFun = () => {
    if (!this.data.isBuy) {
      wx.showToast({
        title: "请先购买,体验完整服务",
@@ -746,6 +712,13 @@
      dialogBox: true,
      scrollJudge: ''
    })
    }
    const token = wx.getStorageSync(app.config.tokenKey)
    if (!token) {
      this.logInFun(() => {})
    } else {
      cateFun()
    }
  },
  closeDialog() {
    this.setData({