litian
2024-03-29 4b5f1f7ed3460df9465e5071a59b8105cbc9146e
修改
1个文件已删除
26个文件已修改
5个文件已添加
806 ■■■■ 已修改文件
app.json 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
assets/js/config.js 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
assets/js/login.js 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
assets/js/middleGround/api/ugc.js 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
assets/js/middleGround/tool.js 22 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
packageBookService/pages/bookServices/detail/index.wxml 270 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
packageBookService/pages/bookServices/detail/index.wxss 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
packageDomain/pages/sampleBookList/applicationForm/index.js 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
packageDomain/pages/sampleBookList/index.js 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
packageDomain/pages/sampleBookList/index.wxml 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
packageDomain/pages/sampleBookList/index.wxss 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
packageDomain/pages/teacherCertification/index.js 42 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
packageDomain/pages/teacherCertification/index.wxml 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
packageDomain/pages/teacherCertification/index.wxss 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
packagePersonal/pages/myCollection/index.wxml 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
packagePersonal/pages/myOrder/index.js 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
packagePersonal/pages/myOrder/index.wxss 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/home/digitalRead/index.js 83 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/home/digitalRead/index.json 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/home/digitalRead/index.wxml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/home/digitalRead/index.wxss 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/home/home.js 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/home/home.wxml 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/home/home.wxss 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/home/readme 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/personalCenter/feedBackSubmit/index.js 126 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/personalCenter/index.js 23 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/student/index.js 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/student/index.wxml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/student/index.wxss 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
services/home/home.js 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
static/images/bookService/detail/shidu.png 补丁 | 查看 | 原始文档 | blame | 历史
app.json
@@ -1,6 +1,7 @@
{
  "pages": [
    "pages/home/home",
    "pages/home/digitalRead/index",
    "pages/retrievalPage/index",
    "pages/cart/paymentPage/index",
    "pages/student/index",
assets/js/config.js
@@ -1,7 +1,7 @@
export const requestCtx = "http://182.92.203.7:3001"; // 请求地址
export const appId = 27;
// export const requestCtx = "https://jsek.bnuic.com" // 请求地址
// export const appId = 3;
// export const requestCtx = "http://182.92.203.7:3001"; // 请求地址
// export const appId = 27;
export const requestCtx = "https://jsek.bnuic.com" // 请求地址
export const appId = 3;
// export const epubUrl = "http://182.92.203.7:3007/epubReadMobile/"; 
export const epubUrl = "http://jsysf.bnuic.com/epubReadMobile/#/";
export const requestTimeOut = 300000; // 请求超时时间
@@ -14,7 +14,7 @@
export const digitalCourses = "jsek_digitalCourses"; //数字课程
export const digitalTextbooks = "jsek_digitalTextbooks"; //数字教材
export const seminar = "jsek_seminar"; //专题研讨
// export const seminar ="jsek_seminar";//书展
export const digitalRead = "jsek_digitalReading"; //数字阅读
export const reg_tel =
  /^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/; // 电话号正则
@@ -31,6 +31,7 @@
  digitalCourses,
  digitalTextbooks,
  seminar,
  digitalRead,
  reg_tel,
  reg_telphone,
  epubUrl,
assets/js/login.js
@@ -84,12 +84,24 @@
    // 用户信息优先级:教师认证 > 微信 > 学生(注册时默认)
    if (res) {
      let defaultUser = {};
      let nickNameData = res.infoList.find((item) => item.type == 'nickName')
      let WeChatInfo = res.infoList.find((item) => item.type === "WeChat");
      let teacherRole = res.roleLinks.find((item) => item.role.refCode == 'teacher')
      let teacherInfos = res.infoList.find((item) => item.type == 'teacherInfo')
      let phoneNumber = res.secretList.find(i => i.type == 'MobilePhone')
      if (WeChatInfo) {
      if (teacherRole && teacherInfos) {
        defaultUser = {
          nickName: WeChatInfo.name,
          avatarUrl: WeChatInfo.icon,
          ...teacherInfos,
          nickName: nickNameData && JSON.parse(nickNameData.data).nickName ? JSON.parse(nickNameData.data).nickName : WeChatInfo.name,
          icon: nickNameData && JSON.parse(nickNameData.data).icon ? JSON.parse(nickNameData.data).icon : WeChatInfo.icon,
          userId: res.userId,
          role: 'Teacher',
          roleId: teacherRole.role.id,
        }
      } else if (WeChatInfo) {
        defaultUser = {
          nickName: nickNameData && JSON.parse(nickNameData.data).nickName ? JSON.parse(nickNameData.data).nickName : WeChatInfo.name,
          icon: nickNameData && JSON.parse(nickNameData.data).icon ? JSON.parse(nickNameData.data).icon : WeChatInfo.icon,
          weChatId: WeChatInfo.id,
          userId: res.userId,
        }
assets/js/middleGround/api/ugc.js
@@ -3,10 +3,10 @@
  tokenKey
} from "../../config";
import toolClass from "../../toolClass";
let token = wx.getStorageSync(tokenKey) ? wx.getStorageSync(tokenKey) : '';
const ugcApi = {
  // 获取商品点赞Topic
  getProductLikesTopic(data) {
    let token = wx.getStorageSync(tokenKey) ? wx.getStorageSync(tokenKey) : '';
    return request({
      url: token ?
        "/ugc/api/ApiAppUserGetProductLikesTopic" : "/ugc/api/ApiGetProductLikesTopic",
@@ -17,6 +17,7 @@
  // 获取商品评论Topic
  getProductCommentTopic(data) {
    let token = wx.getStorageSync(tokenKey) ? wx.getStorageSync(tokenKey) : '';
    return request({
      url: token ?
        "/ugc/api/ApiAppUserGetProductCommentTopic" : "/ugc/api/ApiGetProductCommentTopic",
@@ -27,6 +28,7 @@
  // 获取MessageList
  getTopicMessageList(data) {
    let token = wx.getStorageSync(tokenKey) ? wx.getStorageSync(tokenKey) : '';
    return request({
      url: token ?
        "/ugc/api/ApiAppUserGetTopicMessageList" : "/ugc/api/ApiGetTopicMessageList",
assets/js/middleGround/tool.js
@@ -1,4 +1,6 @@
import { requestCtx } from "../config";
import {
  requestCtx
} from "../config";
// import defaultImg from "../../../images/default-book-img.png" 
import moment from 'moment'
// 处理列表查询结果
@@ -257,12 +259,12 @@
        }
        if (subItem.productLinkInfo && subItem.productLinkInfo.length)
          subItem.productLinkPath =
            subItem.productLinkInfo[0].LinkPath +
            "\\" +
            subItem.productLinkInfo[0].CmsItemId;
          subItem.productLinkInfo[0].LinkPath +
          "\\" +
          subItem.productLinkInfo[0].CmsItemId;
        if (subItem.linkInfo && subItem.linkInfo.length)
          subItem.linkPath =
            subItem.linkInfo[0].LinkPath + "\\" + subItem.linkInfo[0].CmsItemId;
          subItem.linkInfo[0].LinkPath + "\\" + subItem.linkInfo[0].CmsItemId;
      }
      linkItemsMap[tag] = sdata.datas;
    }
@@ -314,10 +316,10 @@
  item.linkRepoId = item.datas.LinkRepository;
  item.childrenCount = parseInt(item.datas.ChildrenCount ?? "0");
  (item.childrenFolderCount = parseInt(item.datas.ChildrenFolderCount ?? "0")),
    (item.childrenChannelCount = parseInt(
      item.datas.ChildrenChannelCount ?? "0"
    )),
    (item.linkId = parseInt(item.datas.LinkId));
  (item.childrenChannelCount = parseInt(
    item.datas.ChildrenChannelCount ?? "0"
  )),
  (item.linkId = parseInt(item.datas.LinkId));
  item.linkOrg = JSON.parse(item.datas.LinkOrg ?? "[]")[0];
  item.linkDepartment = JSON.parse(item.datas.LinkDepartment ?? "[]")[0];
  item.linkInfo = JSON.parse(item.datas.LinkInfo ?? "[]");
@@ -425,4 +427,4 @@
  if (width) src += `&width=${width}`;
  if (height) src += `&height=${height}`;
  return src;
}
}
packageBookService/pages/bookServices/detail/index.wxml
@@ -4,55 +4,30 @@
  <view style="width: 100%; height: {{barHeight}}px; "></view>
  <view class="nacigationBar" style="width: 70%; height: {{navBarHeight}}px;">
    <view>
      <t-icon
        name="chevron-left"
        size="30"
        data-name="{{item}}"
        bind:click="goBack"
      />
      <t-icon name="chevron-left" size="30" data-name="{{item}}" bind:click="goBack" />
    </view>
    <view class="navbar-title">{{options.name}}</view>
  </view>
  <t-toast id="t-toast" />
  <scroll-view
    scroll-y="{{true}}"
    class="book"
    bindscrolltolower="onReachBottom"
  >
  <scroll-view scroll-y="{{true}}" class="book" bindscrolltolower="onReachBottom">
    <!-- 图书详情 -->
    <view class="book-box">
      <view class="book-detail">
        <view class="detail-left">
          <view class="book-img">
            <image
              loading=""
              src="{{bookDetail.icon ? bookDetail.icon : '/static/images/default-book-img.png'}}"
              mode="aspectFill"
              aria-label="{{bookDetail.name}}"
            />
            <image loading="" src="{{bookDetail.icon ? bookDetail.icon : '/static/images/default-book-img.png'}}" mode="aspectFill" aria-label="{{bookDetail.name}}" />
          </view>
          <view class="book-use">
            <view class="collect" bind:tap="setCollect">
              <view>
                <image
                  loading=""
                  src="/static/images/bookService/detail/collect.png"
                  wx:if="{{!bookDetail.isFavourite}}"
                />
                <image
                  loading=""
                  src="/static/images/bookService/detail/collecting.png"
                  wx:if="{{bookDetail.isFavourite}}"
                />
                <image loading="" src="/static/images/bookService/detail/collect.png" wx:if="{{!bookDetail.isFavourite}}" />
                <image loading="" src="/static/images/bookService/detail/collecting.png" wx:if="{{bookDetail.isFavourite}}" />
              </view>
              <view class="use-title">收藏</view>
            </view>
            <view class="suggest" bind:tap="suggestBtn">
              <view>
                <image
                  loading=""
                  src="/static/images/bookService/detail/suggest.png"
                />
                <image loading="" src="/static/images/bookService/detail/suggest.png" />
              </view>
              <view class="use-title">我要建议</view>
            </view>
@@ -74,24 +49,15 @@
              <view class="li-content">{{bookDetail.isbn}}</view>
            </view>
            <view class="message-li">
              <view class="li-title" wx:if="{{bookDetail.publicationDate}}"
                >出版时间:</view
              >
              <view class="li-title" wx:if="{{bookDetail.publicationDate}}">出版时间:</view>
              <view class="li-content">{{bookDetail.publicationDate}}</view>
            </view>
            <view
              class="message-li"
              wx:if="{{bookDetail.class}}"
              style="height: 80rpx"
            >
            <view class="message-li" wx:if="{{bookDetail.class}}" style="height: 80rpx">
              <view class="li-title">图书分类:</view>
              <view class="class-name showTow">{{bookDetail.class}}</view>
            </view>
          </view>
          <image
            src="/static/images/bookService/detail/square.png"
            class="right-background"
          />
          <image src="/static/images/bookService/detail/square.png" class="right-background" />
        </view>
      </view>
      <!-- 销售信息 -->
@@ -100,17 +66,12 @@
          <!-- 电子书售价 -->
          <view class="electron-price" wx:if="{{bookDetail.price}}">
            <view>
              <image
                src="/static/images/bookService/detail/electon-price.png"
              />
              <image src="/static/images/bookService/detail/electon-price.png" />
            </view>
            <view class="price">
              <view class="price-text"
                >{{bookDetail.price == '0.00' ? '免费' : '¥'+
                bookDetail.price}}</view
              >
              <view class="price-old" wx:if="{{bookDetail.oldPrice != '0.00'}}"
                >¥{{bookDetail.oldPrice}}
              <view class="price-text">{{bookDetail.price == '0.00' ? '免费' : '¥'+
                bookDetail.price}}</view>
              <view class="price-old" wx:if="{{bookDetail.oldPrice != '0.00'}}">¥{{bookDetail.oldPrice}}
              </view>
            </view>
            <view> </view>
@@ -120,66 +81,24 @@
            <view>
              <image src="/static/images/bookService/detail/paper-price.png" />
            </view>
            <view class="price"
              >{{bookDetail.paperPrice == '0.00' ? '免费' :
              '¥'+bookDetail.paperPrice}}</view
            >
            <view class="price">{{bookDetail.paperPrice == '0.00' ? '免费' :
              '¥'+bookDetail.paperPrice}}</view>
          </view>
        </view>
        <!-- 网店 -->
        <view class="book-web">
          <image
            src="/static/images/bookService/detail/jd.png"
            wx:if="{{bookDetail.JDLink}}"
            bind:tap="goShop"
            data-link="{{bookDetail.JDLink}}"
            data-type="jd"
          />
          <image
            class="tmall-image"
            src="/static/images/bookService/detail/tmall.png"
            bind:tap="goShop"
            data-link="{{bookDetail.tmallLink}}"
            wx:if="{{bookDetail.tmallLink}}"
          />
          <image
            src="/static/images/bookService/detail/dangdang.png"
            bind:tap="goShop"
            data-link="{{bookDetail.dangdangLink}}"
            wx:if="{{bookDetail.dangdangLink}}"
          />
          <image
            src="/static/images/bookService/detail/weidian.png"
            bind:tap="goShop"
            data-link="{{bookDetail.weidianLink}}"
            wx:if="{{bookDetail.weidianLink}}"
          />
          <image src="/static/images/bookService/detail/jd.png" wx:if="{{bookDetail.JDLink}}" bind:tap="goShop" data-link="{{bookDetail.JDLink}}" data-type="jd" />
          <image class="tmall-image" src="/static/images/bookService/detail/tmall.png" bind:tap="goShop" data-link="{{bookDetail.tmallLink}}" wx:if="{{bookDetail.tmallLink}}" />
          <image src="/static/images/bookService/detail/dangdang.png" bind:tap="goShop" data-link="{{bookDetail.dangdangLink}}" wx:if="{{bookDetail.dangdangLink}}" />
          <image src="/static/images/bookService/detail/weidian.png" bind:tap="goShop" data-link="{{bookDetail.weidianLink}}" wx:if="{{bookDetail.weidianLink}}" />
        </view>
      </view>
    </view>
    <view class="book-resource">
      <t-tabs
        defaultValue="{{tabValue}}"
        bind:change="onTabsChange"
        t-class="custom-tabs"
        t-class-content="custom-panel"
        class="tab-class"
      >
        <t-tab-panel
          label="图书简介"
          icon="{{ tabValue == 'brief' ? briefIconClick : briefIcon}}"
          value="brief"
          style="{{tabPanelstyle}}"
        >
          <book-brief
            content="{{bookDetail.content}}"
            authorIntroduction="{{bookDetail.authorIntroduction}}"
            wx:if="{{bookDetail.content || bookDetail.authorIntroduction}}"
          ></book-brief>
          <view
            wx:if="{{!bookDetail.content && !bookDetail.authorIntroduction}}"
            class="noData"
          >
      <t-tabs defaultValue="{{tabValue}}" bind:change="onTabsChange" t-class="custom-tabs" t-class-content="custom-panel" class="tab-class">
        <t-tab-panel label="图书简介" icon="{{ tabValue == 'brief' ? briefIconClick : briefIcon}}" value="brief" style="{{tabPanelstyle}}">
          <book-brief content="{{bookDetail.content}}" authorIntroduction="{{bookDetail.authorIntroduction}}" wx:if="{{bookDetail.content || bookDetail.authorIntroduction}}"></book-brief>
          <view wx:if="{{!bookDetail.content && !bookDetail.authorIntroduction}}" class="noData">
            <t-empty icon="folder-open" description="暂无数据" />
          </view>
        </t-tab-panel>
@@ -190,123 +109,44 @@
          style="{{tabPanelstyle}}"
        >
        </t-tab-panel> -->
        <t-tab-panel
          label="教学资源"
          icon="{{tabValue == 'jsek_teachingResources' ? teachResourcesClickIcon : teachResourcesIcon}}"
          value="jsek_teachingResources"
          class="{{loading ? 'loading': ''}}"
        >
          <view
            wx:if="{{!loading && teach.length && !noResources && applyState}}"
          >
            <teach-resource
              applyState="{{applyState}}"
              rejectCause="{{rejectCause}}"
              deadline="{{deadline}}"
              bind:applyResource="applyResource"
              applyResourceLoading="{{applyResourceLoading}}"
            ></teach-resource>
            <tree
              id="teach-tree"
              openIds="{{openTeachids}}"
              bookInfo="{{bookDetail}}"
              treeList="{{teach}}"
              tab="{{tabValue}}"
              applyState="{{applyState}}"
              bind:downloadTeach="downloadTeach"
              bind:handleTree="handleTree"
              openTeachids="{{openTeachids}}"
              wx:if="{{teach.length}}"
            ></tree>
        <t-tab-panel label="教学资源" icon="{{tabValue == 'jsek_teachingResources' ? teachResourcesClickIcon : teachResourcesIcon}}" value="jsek_teachingResources" class="{{loading ? 'loading': ''}}">
          <view wx:if="{{!loading && teach.length && !noResources && applyState}}">
            <teach-resource applyState="{{applyState}}" rejectCause="{{rejectCause}}" deadline="{{deadline}}" bind:applyResource="applyResource" applyResourceLoading="{{applyResourceLoading}}"></teach-resource>
            <tree id="teach-tree" openIds="{{openTeachids}}" bookInfo="{{bookDetail}}" treeList="{{teach}}" tab="{{tabValue}}" applyState="{{applyState}}" bind:downloadTeach="downloadTeach" bind:handleTree="handleTree" openTeachids="{{openTeachids}}" wx:if="{{teach.length}}"></tree>
          </view>
          <t-loading
            theme="circular"
            size="60rpx"
            class="loading"
            loading="{{loading }}"
          />
          <t-loading theme="circular" size="60rpx" class="loading" loading="{{loading }}" />
          <view wx:if="{{noResources}}" class="noData">
            <t-empty icon="folder-open" description="暂无数据" />
          </view>
        </t-tab-panel>
        <t-tab-panel
          label="云学习"
          icon="{{tabValue == 'jsek_cloudLearning' ? learnResourceClickIcon : learnResourceIcon}}"
          value="jsek_cloudLearning"
          style="{{tabPanelstyle}}"
        >
        <t-tab-panel label="云学习" icon="{{tabValue == 'jsek_cloudLearning' ? learnResourceClickIcon : learnResourceIcon}}" value="jsek_cloudLearning" style="{{tabPanelstyle}}">
          <view wx:if="{{!loading && learn.length}}">
            <learn-resource
              bind:getFreeResource="getFreeResource"
              bind:allAddShoppiingCar="allAddShoppiingCar"
              id="learn-resource"
              buyResourceData="{{buyResourceData}}"
              bookId="{{bookDetail.id}}"
            ></learn-resource>
            <tree
              id="tree"
              openIds="{{openLearnids}}"
              bookInfo="{{bookDetail}}"
              tab="{{tabValue}}"
              treeList="{{learn}}"
              buyIds="{{buyIdList}}"
              openLearnids="{{openLearnids}}"
            ></tree>
            <learn-resource bind:getFreeResource="getFreeResource" bind:allAddShoppiingCar="allAddShoppiingCar" id="learn-resource" buyResourceData="{{buyResourceData}}" bookId="{{bookDetail.id}}"></learn-resource>
            <tree id="tree" openIds="{{openLearnids}}" bookInfo="{{bookDetail}}" tab="{{tabValue}}" treeList="{{learn}}" buyIds="{{buyIdList}}" openLearnids="{{openLearnids}}"></tree>
          </view>
          <view wx:if="{{noResources}}" class="noData">
            <t-empty icon="folder-open" description="暂无数据" />
          </view>
        </t-tab-panel>
        <t-tab-panel
          label="云测试"
          icon="{{tabValue == 'questionBank' ? testResourceClickIocn : testResourceIocn}}"
          value="questionBank"
          style="{{tabPanelstyle}}"
        >
        <t-tab-panel label="云测试" icon="{{tabValue == 'questionBank' ? testResourceClickIocn : testResourceIocn}}" value="questionBank" style="{{tabPanelstyle}}">
          <view wx:if="{{!loading}}">
            <test-resource
              list="{{test}}"
              bookInfo="{{bookDetail}}"
              mockData="{{mockData}}"
              bind:buyMock="buyMock"
            ></test-resource>
            <test-resource list="{{test}}" bookInfo="{{bookDetail}}" mockData="{{mockData}}" bind:buyMock="buyMock"></test-resource>
          </view>
        </t-tab-panel>
        <t-tab-panel
          label="云笔记"
          icon="{{tabValue == 'jsek_note' ? noteClickIcon: noteIcon}}"
          value="jsek_note"
          style="{{tabPanelstyle}}"
        >
        <t-tab-panel label="云笔记" icon="{{tabValue == 'jsek_note' ? noteClickIcon: noteIcon}}" value="jsek_note" style="{{tabPanelstyle}}">
          <note bookInfo="{{bookDetail}}" id="note" class="note-list"></note>
        </t-tab-panel>
      </t-tabs>
    </view>
  </scroll-view>
  <!-- 我要建议弹窗 -->
  <suggest
    class="suggest-component"
    id="suggest-component"
    bookIcon="{{bookDetail.icon}}"
    bookName="{{bookDetail.name}}"
  ></suggest>
  <suggest class="suggest-component" id="suggest-component" bookIcon="{{bookDetail.icon}}" bookName="{{bookDetail.name}}"></suggest>
  <!-- 教学资源下载提示弹窗 -->
  <t-dialog
    class="teachDownloadDialog"
    visible="{{isShowTeachDownload}}"
    title="提示"
    content="请前往PC端下载"
    confirm-btn="{{ confirmBtn }}"
    bind:confirm="closeTeachDownload"
  />
  <t-dialog class="teachDownloadDialog" visible="{{isShowTeachDownload}}" title="提示" content="请前往PC端下载" confirm-btn="{{ confirmBtn }}" bind:confirm="closeTeachDownload" />
  <view class="applyBox" bindtap="goApply">
    <view class="box">
      <t-image
        src="/static/images/home/yangshuForm1.png"
        mode="heightFix"
        class="img"
      />
      <t-image src="/static/images/home/yangshuForm1.png" mode="heightFix" class="img" />
      <view class="num" wx:if="{{num > 0}}">{{num}}</view>
    </view>
  </view>
@@ -314,41 +154,29 @@
  <view class="box-bottom">
    <view class="bottom-btn" bind:tap="appplyElectronicBook">
      <view>
        <t-image
          loading=""
          src="/static/images/bookService/detail/ebook.png"
        ></t-image>
        <t-image loading="" src="/static/images/bookService/detail/ebook.png"></t-image>
      </view>
      <view class="btn-text">电子样书申请</view>
    </view>
    <view class="bottom-btn" bind:tap="appplyPaperBook">
      <view>
        <t-image
          src="/static/images/bookService/detail/paper-book.png"
        ></t-image>
        <t-image src="/static/images/bookService/detail/paper-book.png"></t-image>
      </view>
      <view class="btn-text">纸质样书申请</view>
    </view>
    <view class="bottom-btn tryRead" bind:tap="goRead" wx:if="{{!bookBuy}}">
      <view>
        <t-image src="/static/images/bookService/detail/shidu.png"></t-image>
      </view>
      <view class="btn-text">试读</view>
    </view>
    <view class="shopCar shopCarColor" bind:tap="addBookShopcCar"
      >加入购物车</view
    >
    <view class="buy buyColor" bind:tap="buyBtn">立即购买</view>
    <view
      class="buy shopCarColor"
      bind:tap="goRead"
      wx:if="{{tabValue == 'brief' && bookBuy}}"
      >立即查看</view
    >
    <view
      class="buy shopCarColor"
      bind:tap="goRead"
      wx:if="{{tabValue == 'brief' && !bookBuy}}"
      >在线试读</view
    >
    <view class="shopCar shopCarColor" bind:tap="addBookShopcCar" wx:if="{{!bookBuy}}">加入购物车</view>
    <view class="buy buyColor" bind:tap="buyBtn" wx:if="{{!bookBuy}}">立即购买</view>
    <view class="buy read" bind:tap="goRead" wx:if="{{bookBuy}}">立即查看</view>
  </view>
</view>
<view class="loading" wx:if="{{pageLoading}}">
  <t-loading loading="{{pageLoading}}" size="40"></t-loading>
</view>
</view>
packageBookService/pages/bookServices/detail/index.wxss
@@ -249,6 +249,10 @@
  box-sizing: border-box;
}
.tryRead {
  width: 120rpx;
}
.btn-text {
  font-size: 24rpx;
  color: #010101;
@@ -258,7 +262,8 @@
  margin-bottom: 6rpx;
}
.bottom-btn:nth-child(1) {
.bottom-btn:nth-child(1),
.bottom-btn:nth-child(2) {
  border-right: 1px solid #DDD;
}
packageDomain/pages/sampleBookList/applicationForm/index.js
@@ -66,6 +66,9 @@
  tabClick(item) {
    let that = this;
    that.setData({
      bookList: []
    })
    if (item.detail.value == '1') {
      that.setData({
        active: item.detail.value,
@@ -231,13 +234,13 @@
                electronicBookList: [],
                bookList: [],
              })
              wx.setStorageSync("electronicBookList", that.data.electronicBookList);
              wx.setStorageSync("electronicBookList", []);
            } else {
              that.setData({
                paperBookList: [],
                bookList: [],
              })
              wx.setStorageSync("paperBookList", that.data.paperBookList);
              wx.setStorageSync("paperBookList", []);
            }
            wx.showModal({
              title: '提示!', //提示的标题
packageDomain/pages/sampleBookList/index.js
@@ -493,9 +493,7 @@
  //高级分类选择
  onChangeIcon(e) {
    this.setData({
      assortCheck: {
        code: e.detail.value,
      },
      'assortCheck.code': e.detail.value,
      stairCode: '',
      secondCode: '',
      path: `${e.detail.value}`,
packageDomain/pages/sampleBookList/index.wxml
@@ -14,13 +14,13 @@
        <view class="srcolbox">
          <t-dropdown-menu>
            <t-dropdown-item label="总分类" options="{{iconList.options}}" value="{{iconList.value}}" optionsColumns="2" bindchange="onChangeIcon" />
            <t-dropdown-item label="一级" options="{{stairList.options}}" value="{{stairList.value}}" optionsColumns="2" bindchange="onChangeStair" />
            <t-dropdown-item label="二级" options="{{secondList.options}}" optionsColumns="2" multiple value="{{secondList.value}}" bind:confirm="onConfirmSecond" bind:change="onChangeSecond" />
            <t-dropdown-item label="一级" options="{{stairList.options}}" value="{{stairList.value}}" optionsColumns="2" bindchange="onChangeStair" disabled="{{assortCheck.code == ''}}" />
            <t-dropdown-item label=" 二级" options="{{secondList.options}}" optionsColumns="2" multiple value="{{secondList.value}}" bind:confirm="onConfirmSecond" bind:change="onChangeSecond" disabled="{{stairCode == '' || assortCheck.code == ''}}" />
          </t-dropdown-menu>
        </view>
        <!-- </scroll-view> -->
      </view>
      <view class="header-sort" bind:tap="sortClick">
      <view class=" header-sort" bind:tap="sortClick">
        <view class="sort-name">排序</view>
        <view class="sort-icon">
          <t-icon name="swap-left" size="24rpx" class="icon-right" color="{{sort == 'Asc' ? '#ff6c00' : ''}}" />
@@ -40,7 +40,7 @@
        <view class="title">
          <view class="line"></view>
          <view class="icon">
            <t-image src="/static/images/home/yangshuliebiao.png" mode="aspectFit" class="iconImage" />
            <image src="/static/images/home/yangshuliebiao.png" mode="aspectFit" class="iconImage" />
          </view>
        </view>
        <view class="book-list" wx:if="{{bookList.length > 0 && !skeletonLoding}}">
packageDomain/pages/sampleBookList/index.wxss
@@ -97,6 +97,10 @@
  /* border-radius: 40rpx 40rpx 0 0; */
}
.t-button--primary::after {
  border: none !important;
}
.t-radio__title {
  font-size: 28rpx !important;
}
packageDomain/pages/teacherCertification/index.js
@@ -109,8 +109,8 @@
        if (teacherRole && teacherInfos) {
          defaultUser = {
            ...teacherInfos,
            nickName: nickNameData ? JSON.parse(nickNameData.data).nickName : teacherInfos.name,
            icon: nickNameData ? JSON.parse(nickNameData.data).icon : WeChatInfo ? WeChatInfo.icon : '',
            nickName: nickNameData && JSON.parse(nickNameData.data).nickName ? JSON.parse(nickNameData.data).nickName : WeChatInfo.name,
            icon: nickNameData && JSON.parse(nickNameData.data).icon ? JSON.parse(nickNameData.data).icon : WeChatInfo.icon,
            userId: res.userId,
            role: 'Teacher',
            roleId: teacherRole.role.id,
@@ -119,11 +119,10 @@
        } else if (WeChatInfo) {
          defaultUser = {
            ...WeChatInfo,
            nickName: nickNameData ? JSON.parse(nickNameData.data).nickName : WeChatInfo.name,
            icon: nickNameData ? JSON.parse(nickNameData.data).icon : WeChatInfo.icon,
            nickName: nickNameData && JSON.parse(nickNameData.data).nickName ? JSON.parse(nickNameData.data).nickName : WeChatInfo.name,
            icon: nickNameData && JSON.parse(nickNameData.data).icon ? JSON.parse(nickNameData.data).icon : WeChatInfo.icon,
            userId: res.userId,
          }
        }
        wx.setStorageSync(app.config.userInfoKey, JSON.stringify(defaultUser));
      }
@@ -134,15 +133,16 @@
    app.MG.resource.getCmsTypeByRefCode({
      refCodes: ['jsek_teacherCertification']
    }).then((res) => {
      console.log(res)
      this.setData({
        worksInfo: res[0].cmsTypeLinks[0].children,
      })
      this.newGetTeacherInfo()
    })
  },
  //获取教师状态
  newGetTeacherInfo() {
    let that = this;
    const data = {
      start: 0,
      size: 10,
@@ -155,22 +155,22 @@
    }
    app.MG.ugc.getTopicMessageList(data).then((res) => {
      try {
        this.setData({
        that.setData({
          imgPics: [],
        })
        const resData = res.datas.find((i) => i.appUserCreator.userId === this.data.userId)
        const resData = res.datas.find((i) => i.appUserCreator.userId === that.data.userId)
        if (resData) {
          if (resData.state == 'WaitAudit') {
            this.setData({
            that.setData({
              editState: false,
            })
          } else {
            this.setData({
            that.setData({
              editState: true,
            })
          }
          let info = getTopicMsgCmsItemFile(this.data.worksInfo, resData.cmsItemDataList)
          this.setData({
          let info = getTopicMsgCmsItemFile(that.data.worksInfo, resData.cmsItemDataList)
          that.setData({
            'teacherInfo.fullName': info.fullName,
            'teacherInfo.schoolName': info.schoolName,
            'teacherInfo.positionalTitle': info.positionalTitle,
@@ -187,14 +187,14 @@
            teachText: info.positionalTitle,
          })
          if (resData.feedBack != null) {
            this.setData({
            that.setData({
              reasonTxt: JSON.parse(resData.feedBack).reason,
            })
          }
          if (this.data.teacherInfo.relevantCertificates.length > 0) {
          if (that.data.teacherInfo.relevantCertificates.length > 0) {
            let arr = [];
            if (typeof this.data.teacherInfo.relevantCertificates == 'object') {
              this.data.teacherInfo.relevantCertificates.forEach((ele) => {
            if (typeof that.data.teacherInfo.relevantCertificates == 'object') {
              that.data.teacherInfo.relevantCertificates.forEach((ele) => {
                let imgObj = {
                  md5: ele.file.md5,
                  linkType: 'LinkFile',
@@ -203,20 +203,20 @@
                  imgUrl: ele.file.imgUrl
                }
                arr.push(imgObj);
                this.setData({
                that.setData({
                  imgPics: arr,
                });
              })
            } else {
              let imgObj = {
                md5: this.data.teacherInfo.relevantCertificates,
                md5: that.data.teacherInfo.relevantCertificates,
                linkType: 'LinkFile',
                linkProtectType: 'Public',
                url: app.config.requestCtx + `/file/GetPreViewImage?md5=` + this.data.teacherInfo.relevantCertificates,
                imgUrl: app.config.requestCtx + `/file/GetPreViewImage?md5=` + this.data.teacherInfo.relevantCertificates,
                url: app.config.requestCtx + `/file/GetPreViewImage?md5=` + that.data.teacherInfo.relevantCertificates,
                imgUrl: app.config.requestCtx + `/file/GetPreViewImage?md5=` + that.data.teacherInfo.relevantCertificates,
              }
              arr.push(imgObj);
              this.setData({
              that.setData({
                imgPics: arr,
              });
            }
packageDomain/pages/teacherCertification/index.wxml
@@ -108,6 +108,9 @@
    </t-popup>
    <t-popup visible="{{reasonTxtShow}}" bind:visible-change="onVisibleChange" placement="center">
      <view class="reasonBlock">
        <view class="blick-header">
          驳回原因
        </view>
        <view class="reasonBox">
          {{reasonTxt}}
        </view>
packageDomain/pages/teacherCertification/index.wxss
@@ -133,6 +133,7 @@
.imageBox {
  border: 2rpx solid #D9D9D9;
  padding: 20rpx;
  min-height: 160rpx;
}
.fileTip {
@@ -168,19 +169,20 @@
  position: relative;
  width: 600rpx;
  height: 820rpx;
  padding: 20rpx 0;
  background: #fff;
  border-radius: 16rpx;
}
.protocol {
  padding: 20rpx;
  padding: 0 20rpx;
  height: 800rpx !important;
  overflow: auto !important;
}
.reasonBox {
  height: 400rpx !important;
  height: 260rpx !important;
  overflow: auto !important;
  font-size: 28rpx;
  line-height: 48rpx;
@@ -190,11 +192,19 @@
.reasonBlock {
  position: relative;
  width: 500rpx;
  height: 400rpx;
  height: 380rpx;
  background: #fff;
  border-radius: 16rpx;
}
.blick-header {
  padding: 20rpx;
  border-bottom: 2rpx solid #F2F3F8;
  font-size: 28rpx;
  font-weight: bold;
  text-align: center;
}
.close-btn {
  position: absolute;
  left: 50%;
packagePersonal/pages/myCollection/index.wxml
@@ -13,7 +13,8 @@
        <view wx:if="{{activeName == 'FavoriteBookCity'}}" class="listBox">
          <view class="content-item" wx:for="{{list}}" wx:for-item="item" wx:for-index="index" wx:key="index">
            <view class="icon" data-book="{{item}}" bindtap="goBookDetails">
              <t-image src="{{item.icon}}" mode="" class="img" />
              <t-image src="{{item.icon}}" mode="aspectFit" class="img" wx:if="{{item.icon}}" />
              <t-image src="/static/images/default-book-img.png" mode="aspectFit" class="img" wx:else />
            </view>
            <view class="body-info" data-book="{{item}}" bindtap="goBookDetails">
              <view class="name">{{item.name}}</view>
packagePersonal/pages/myOrder/index.js
@@ -155,7 +155,7 @@
          })
        } else {
          this.setData({
            list: false,
            list: [],
            skeletonLoding: false,
            loading: false
          })
@@ -222,6 +222,7 @@
  },
  onCancel(e) {
    let that = this;
    let {
      orderNum
    } = e.currentTarget.dataset
@@ -232,13 +233,16 @@
        if (res.confirm) {
          app.MG.store.cancelOrder({
            orderNum: orderNum
          }).then(() => {
            wx.showToast({
              title: "订单已取消",
              icon: 'success',
              duration: 1000
            })
            this.getDataList(false)
          }).then((res) => {
            if (res) {
              wx.showToast({
                title: "订单已取消",
                icon: 'success',
                duration: 1000
              })
              that.getDataList(false)
            }
          })
        } else if (res.cancel) {
          console.log('用户点击了取消')
packagePersonal/pages/myOrder/index.wxss
@@ -131,7 +131,7 @@
}
.order-centent .flex {
  width: 100%;
  width: calc(100% - 40rpx);
  box-shadow: none;
  text-align: left;
  margin-right: 0;
pages/home/digitalRead/index.js
New file
@@ -0,0 +1,83 @@
// pages/home/digitalRead/index.js
const app = getApp()
Page({
  /**
   * 页面的初始数据
   */
  data: {
    src: "",
    link: false,
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    console.log(options)
    if (options && options.link) {
      this.setData({
        src: decodeURIComponent(options.link),
        link: options.link ? true : false,
      })
    } else if (options && options.productId) {
      this.setData({
        src: 'http://jsysf.bnuic.com/bookshelf/#/bookDetail?productId=' +
          options.productId
      })
    } else {
      this.setData({
        src: 'http://jsysf.bnuic.com/bookshelf/#/index'
      })
    }
  },
  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {
  },
  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {
  },
  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {
  },
  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {
  },
  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {
  },
  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {
  },
  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {
  }
})
pages/home/digitalRead/index.json
New file
@@ -0,0 +1,4 @@
{
  "navigationBarTitleText": "数字阅读",
  "usingComponents": {}
}
pages/home/digitalRead/index.wxml
New file
@@ -0,0 +1,4 @@
<!--pages/home/digitalRead/index.wxml-->
<view class="page-body">
  <web-view bind:message="drawBack" binderror="onError" bindload="onLoadWeb" src="{{src}}"></web-view>
</view>
pages/home/digitalRead/index.wxss
New file
@@ -0,0 +1,6 @@
/* pages/home/digitalRead/index.wxss */
.page-body {
  width: 100vw;
  height: calc(100vh - env(safe-area-inset-bottom));
  overflow: hidden;
}
pages/home/home.js
@@ -16,7 +16,7 @@
    tabList: [], //目录
    current: 1, //轮播图参数
    autoplay: true, //轮播图参数
    duration: '500', //轮播图参数
    duration: '500', //轮播图参数
    interval: 5000, //轮播图参数
    navigation: {
      type: 'dots'
@@ -303,8 +303,8 @@
  //数字阅读
  getReadBookList() {
    const obj = {
      storeInfo: app.config.digitalTextbooks,
      path: 'jsek_homepageDigitalTextbooks',
      storeInfo: app.config.digitalRead,
      path: 'jsek_homepageDigitalReading',
      coverSize: {
        width: 150
      },
@@ -412,11 +412,9 @@
    const {
      book
    } = e.currentTarget.dataset;
    wx.showToast({
      title: "建设中",
      icon: 'none',
      duration: 1000
    })
    wx.navigateTo({
      url: '/pages/home/digitalRead/index?productId=' + book.id,
    });
  },
  goTextBookDetail(e) {
    const {
@@ -505,6 +503,10 @@
      wx.navigateTo({
        url: '/packageBookService/pages/bookServices/list/index?assorName=' + this.data.bookTypeData.name
      })
    } else if (type == "shuziyuedu") {
      wx.navigateTo({
        url: '/pages/home/digitalRead/index'
      })
    } else {
      wx.showToast({
        title: "建设中",
@@ -519,7 +521,7 @@
  // 监听滚动条
  onScroll(e) {
    this.setData({
      isWhite: e.detail.scrollTop > 10 ? true : false
      isWhite: e.detail.scrollTop > 20 ? true : false
    })
  },
  onRetrievalPage() {
pages/home/home.wxml
@@ -13,7 +13,17 @@
        </t-search>
      </view>
      <view class="swiper-wrap">
        <t-swiper wx:if="{{bannerList.length > 0}}" list="{{bannerList}}" autoplay="{{autoplay}}" duration="{{duration}}" interval="{{interval}}" navigation="{{navigation}}" height="380rpx" bind:click="navToActivityDetail" />
        <!-- <t-swiper wx:if="{{bannerList.length > 0}}" list="{{bannerList}}" autoplay="{{autoplay}}" duration="{{duration}}" interval="{{interval}}" navigation="{{ { type: 'dots' } }}" height="380rpx" bind:click="navToActivityDetail" /> -->
        <swiper interval="5000" indicator-dots="true" autoplay="true" circular="true" class="swiper" wx:if="{{bannerList.length > 0}}">
          <swiper-item wx:for="{{bannerList}}" wx:for-index="index" wx:key="index" data-info="{{item}}" bindtap="navToActivityDetail">
            <view class="swiperItem">
              <image src="{{item.value}}" mode="aspectFill" class="img" />
            </view>
          </swiper-item>
        </swiper>
        <view class="body-loading" wx:else="">
          <t-loading theme="circular" size="40rpx" class="wrapper" />
        </view>
      </view>
    </view>
    <view class="home-page-menu">
pages/home/home.wxss
@@ -58,7 +58,39 @@
.home-page-header .swiper-wrap {
  margin-top: 30rpx;
  margin-bottom: 10rpx;
  height: 380rpx;
  width: 100%;
  border-radius: 18rpx;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}
.swiper {
  height: 380rpx;
  width: 100%;
}
.swiperItem {
  position: relative;
  height: 380rpx;
  width: 100%;
}
.swiper .img {
  width: auto !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: 100% !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  margin: auto !important;
}
.home-page-menu .t-grid--card {
  margin: 0;
@@ -149,7 +181,7 @@
  justify-content: space-between;
}
.listBox .listItemBox {
.listBox .listItemBox {
  width: 49%;
  margin-bottom: 30rpx;
}
pages/home/readme
File was deleted
pages/personalCenter/feedBackSubmit/index.js
@@ -30,8 +30,7 @@
  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {
  },
  onShow() {},
  /**
   * 生命周期函数--监听页面隐藏
@@ -66,7 +65,9 @@
    });
  },
  onPhoneInput(e) {
    const { phoneError } = this.data;
    const {
      phoneError
    } = this.data;
    const isPhoneNumber = /^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/.test(e.detail.value);
    if (phoneError === isPhoneNumber) {
      this.setData({
@@ -84,72 +85,73 @@
  submit() {
    if (this.data.lock) {
      this.data.lock = false;
      if (this.data.userName.replace(/^\s*|\s*$/g, "")) {
        if (this.data.mannder.replace(/^\s*|\s*$/g, "")) {
          if (!this.data.phoneError) {
            if (this.data.content.replace(/^\s*|\s*$/g, "")) {
              let submitData = {
                content: this.data.content.replace(/^\s*|\s*$/g, ""),
                name: this.data.userName.replace(/^\s*|\s*$/g, ""),
                email: "",
                phone: this.data.mannder.replace(/^\s*|\s*$/g, "")
              };
              var data = {
                topicIdOrRefCode: "feedback",
                name: "意见反馈",
                content: JSON.stringify(submitData),
                type: "opinionFeedback",
                state: "WaitAudit",
                cmsTypeRefCode: "",
                newDataListRequest: []
              };
              app.MG.ugc.newTopicMessage(data).then(res => {
                this.data.lock = true;
                if (res) {
                  wx.showToast({
                    title: "提交成功",
                    icon: 'success',
                    duration: 1000,
                    success: function () {
                      setTimeout(function () {
                        wx.navigateBack();
                      }, 1000) //延迟时间
                    }
                  })
                }
              });
            } else {
              this.data.lock = true;
              wx.showToast({
                title: "反馈内容不能为空",
                icon: 'none',
                duration: 1000
              })
            }
          } else {
            this.data.lock = true;
            wx.showToast({
              title: "联系方式格式不正确",
              icon: 'none',
              duration: 1000
            })
          }
        } else {
          this.data.lock = true;
          wx.showToast({
            title: "联系方式不能为空",
            icon: 'none',
            duration: 1000
          })
        }
      } else {
      if (this.data.userName.replace(/^\s*|\s*$/g, "") == '') {
        this.data.lock = true;
        wx.showToast({
          title: "联系人不能为空",
          icon: 'none',
          duration: 1000
        })
        return
      }
      if (this.data.mannder.replace(/^\s*|\s*$/g, "") == '') {
        this.data.lock = true;
        wx.showToast({
          title: "反馈内容不能为空",
          icon: 'none',
          duration: 1000
        })
        return
      }
      if (this.data.phoneError) {
        this.data.lock = true;
        wx.showToast({
          title: "联系方式格式不正确",
          icon: 'none',
          duration: 1000
        })
        return
      }
      if (this.data.content.replace(/^\s*|\s*$/g, "") == '') {
        this.data.lock = true;
        wx.showToast({
          title: "反馈内容不能为空",
          icon: 'none',
          duration: 1000
        })
        return
      }
      let submitData = {
        content: this.data.content.replace(/^\s*|\s*$/g, ""),
        name: this.data.userName.replace(/^\s*|\s*$/g, ""),
        email: "",
        phone: this.data.mannder.replace(/^\s*|\s*$/g, "")
      };
      var data = {
        topicIdOrRefCode: "feedback",
        name: "意见反馈",
        content: JSON.stringify(submitData),
        type: "opinionFeedback",
        state: "WaitAudit",
        cmsTypeRefCode: "",
        newDataListRequest: []
      };
      app.MG.ugc.newTopicMessage(data).then(res => {
        this.data.lock = true;
        if (res) {
          wx.showToast({
            title: "提交成功",
            icon: 'success',
            duration: 1000,
            success: function () {
              setTimeout(function () {
                wx.navigateBack();
              }, 1000) //延迟时间
            }
          })
        }
      });
    }
  }
})
pages/personalCenter/index.js
@@ -135,6 +135,14 @@
      barHeight: systInfo.statusBarHeight,
      navBarHeight: navBarHeight,
    });
  },
  onShow() {
    if (typeof this.getTabBar === 'function' && this.getTabBar()) {
      this.getTabBar().setData({
        active: 4
      })
    }
    // 检查登录状态
    const token = wx.getStorageSync(app.config.tokenKey)
    if (!token) {
@@ -151,13 +159,6 @@
        currAuthStep: 1,
      });
      this.getUserInfo()
    }
  },
  onShow() {
    if (typeof this.getTabBar === 'function' && this.getTabBar()) {
      this.getTabBar().setData({
        active: 4
      })
    }
  },
  /**
@@ -197,8 +198,8 @@
        if (teacherRole && teacherInfos) {
          defaultUser = {
            ...teacherInfos,
            nickName: teacherInfos.name,
            icon: nickNameData ? JSON.parse(nickNameData.data).icon : WeChatInfo ? WeChatInfo.icon : '',
            nickName: nickNameData && JSON.parse(nickNameData.data).nickName ? JSON.parse(nickNameData.data).nickName : WeChatInfo.name,
            icon: nickNameData && JSON.parse(nickNameData.data).icon ? JSON.parse(nickNameData.data).icon : WeChatInfo.icon,
            userId: res.userId,
            role: 'Teacher',
            roleId: teacherRole.role.id,
@@ -211,8 +212,8 @@
        } else if (WeChatInfo) {
          defaultUser = {
            ...WeChatInfo,
            nickName: nickNameData ? JSON.parse(nickNameData.data).nickName : WeChatInfo.name,
            icon: nickNameData ? JSON.parse(nickNameData.data).icon : WeChatInfo.icon,
            nickName: nickNameData && JSON.parse(nickNameData.data).nickName ? JSON.parse(nickNameData.data).nickName : WeChatInfo.name,
            icon: nickNameData && JSON.parse(nickNameData.data).icon ? JSON.parse(nickNameData.data).icon : WeChatInfo.icon,
            userId: res.userId,
            userType: type,
            role: 'Student',
pages/student/index.js
@@ -1,5 +1,7 @@
const app = getApp();
import { getPublicImage } from "../../assets/js/middleGround/tool.js";
import {
  getPublicImage
} from "../../assets/js/middleGround/tool.js";
Page({
  /**
@@ -23,7 +25,6 @@
    isBackTop: false,
    setScrollValue: 0,
    skeletonLoding: true,
  },
  /**
@@ -74,12 +75,10 @@
    } else if (this.data.active == '2') {
      keywords = "jsek_digitalTextbooks";
    }
    let searchData = [
      {
        keywords: keywords,
        field: "ProductType",
      },
    ];
    let searchData = [{
      keywords: keywords,
      field: "ProductType",
    }, ];
    let data = {
      Size: this.data.limit,
      Start: this.data.page * this.data.limit - this.data.limit,
@@ -120,6 +119,15 @@
      }
    })
  },
  goBookDetails(e) {
    const {
      book
    } = e.currentTarget.dataset;
    wx.navigateTo({
      url: `/packageBookService/pages/bookServices/detail/index?id=${book.product.id}&name=${book.product.name}`,
    });
  },
  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
pages/student/index.wxml
@@ -13,7 +13,7 @@
  </view>
  <view class="tabOne">
    <t-tabs t-class="t-tabs" value="{{active}}" split="{{false}}" bind:change="tabClick">
      <t-tab-panel label="{{titleBook}}" value="0" />
      <t-tab-panel label="{{titleBook}}" value="0" class="{{active == '2' ? 'oneBorder' : ''}}" />
      <t-tab-panel label="{{titleCourse}}" value="1" />
      <t-tab-panel label="{{titleTextBook}}" value="2" />
    </t-tabs>
pages/student/index.wxss
@@ -56,7 +56,7 @@
}
.t-tabs__nav :nth-child(1) {
  border-radius: 30rpx 30rpx 0 0rpx;
  border-radius: 30rpx 30rpx 0 0rpx !important;
}
.t-tabs__nav :nth-child(2) {
@@ -85,6 +85,10 @@
  border-radius: 0 30rpx 0 30rpx !important;
}
.t-tabs__item--active+.t-tabs__item+.t-tabs__item {
  border-radius: 30rpx 30rpx 0rpx 0rpx !important;
}
.refresh-container {
  margin: 0 auto;
}
services/home/home.js
@@ -1,11 +1,11 @@
/** 获取首页数据 */
function mockFetchHome() {
  const { delay } = require('../_utils/delay');
  const {
    delay
  } = require('../_utils/delay');
  return delay().then(() => {
    return {
      tabList: [
        {
      tabList: [{
          text: '图书服务',
          key: 0,
          icon: '/static/images/home/zhutichuban@2x.png',
@@ -15,7 +15,7 @@
          text: '数字阅读',
          key: 1,
          icon: '/static/images/home/shuziyuedu@2x.png',
          url: '',
          url: '/pages/home/digitalRead/index',
        },
        {
          text: '数字课程',
@@ -73,4 +73,4 @@
/** 获取首页数据 */
export function fetchHome() {
  return mockFetchHome();
}
}
static/images/bookService/detail/shidu.png