闫增涛
2024-07-12 4ff508548b71346c97ef563b3dd5ba9291afe342
教学资源接口去掉childcount参数
2个文件已修改
206 ■■■■■ 已修改文件
assets/js/middleGround/api/store.js 189 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
packageBookService/pages/bookServices/detail/index.js 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
assets/js/middleGround/api/store.js
@@ -333,7 +333,196 @@
        }
      })
  },
  // 获取商品详情(无 ChildrenCount ChildrenFolderCount ) 此接口为满足上述要求添加,不是中台原有
  getProductDetailNoChildren: ({
    path = '',
    storeInfo = goodsStore,
    channelInfo = '',
    favoriteTypes = '',
    queryType,
    subAccess = [],
    fields,
    productId,
    cmsPath,
    cmsType,
    coverSize,
    itemId,
    itemIds,
    itemFields,
    linkTypes,
    filterList,
    handelEBooK,
    sort,
    cmsSort,
    source
  }) => {
    const subQuery = {}
    if (cmsPath) {
      subQuery['QueryCms'] = {
        Path: cmsPath + '',
        Type: cmsType || '\\',
        Name: [],
        Icon: [],
        TypeId: [],
        RefCode: [],
        Description: [],
        // ChildrenCount: [],
        // ChildrenFolderCount: [],
        CreateDate: [],
        SysType: [],
        SaleMethod: [],
        PageQuery: {
          Start: 0,
          Size: 9999
        },
        SortQuery: cmsSort ? [cmsSort] : [{
          ProductLinkOrder: 'Asc'
        }],
        ProductLinkInfo: [],
        ...itemFields
      }
      if (itemId) subQuery['QueryCms']['Id='] = [`${itemId}`]
      if (itemIds) subQuery['QueryCms']['Id='] = itemIds
    } else {
      subQuery['QueryCms'] = {
        Path: '*',
        Type: '\\',
        Name: [],
        Icon: [],
        TypeId: [],
        RefCode: [],
        Description: [],
        ChildrenCount: [],
        ChildrenFolderCount: [],
        CreateDate: [],
        SysType: [],
        SaleMethod: [],
        PageQuery: {
          Start: 0,
          Size: 9999
        },
        ProductLinkInfo: []
      }
    }
    // 获取关联资源
    let linkFields = {}
    if (linkTypes && linkTypes.length) {
      for (let i = 0; i < linkTypes.length; i++) {
        const linkType = linkTypes[i]
        subQuery['QueryLink_' + linkType.linkType] = {
          Path: cmsPath + '',
          Type: '\\',
          Name: [],
          Icon: [],
          TypeId: [],
          RefCode: [],
          Description: [],
          LinkTypes: [linkType.linkType],
          PageQuery: {
            Start: 0,
            Size: 100
          },
          ProductLinkInfo: [],
          ...linkType.fields
        }
        linkFields = {
          ...linkFields,
          ...linkType.fields
        }
      }
    }
    const query = {
      AccessControl: {
        Path: path,
        StoreRefCode: storeInfo + '',
        ChannelRefCode: channelInfo + '',
        Type: queryType || '\\'
      },
      FavoriteTypes: favoriteTypes ? [favoriteTypes] : [],
      SubAccess: subAccess.length > 0 ? subAccess : [],
      PageQuery: {
        Start: '0',
        Size: '1'
      },
      'Id=': [`${productId}`],
      SortQuery: sort ? [sort] : [{
        LinkOrder: 'Desc'
      }],
      CreateDate: [],
      Description: [],
      Name: [],
      Icon: [],
      RefCode: [],
      Description: [],
      TypeId: [],
      SysType: [],
      State: [],
      Tag: [],
      BeginDate: [],
      EndDate: [],
      ProductLinkInfo: [],
      AllowDonate: [],
      DonatePriceList: [],
      StoreEvent: [],
      SaleMethod: [],
      SaleMethodValid: [],
      CmsItemValid: [],
      ProductCmsQuery: [subQuery],
      ...fields,
      ...filterList
    }
    if (productId) query['Id='] = [`${productId}`]
    const body = {
      query: JSON.stringify({
        Query: [{
          Q1: query
        }]
      })
    }
    let token = wx.getStorageSync(tokenKey) ? wx.getStorageSync(tokenKey) : '';
    let url = token ? '/store/api/ApiQueryProductByAppUser' : '/store/api/ApiQueryProduct'
    return request({
        url: url,
        method: 'post',
        data: body,
        cancelToken: source?.token
      })
      .then((resp) => {
        if (resp.length > 0) {
          const data = resp[0]
          if (data.datas.length) {
            data.datas[0].subDatas = data.datas[0].cmsDatas
            const datas = handleDetailQueryRequestData({
              item: data.datas[0],
              fields,
              itemFields: {
                ...itemFields,
                ...linkFields
              },
              path,
              coverSize,
              handelEBooK
            })
            return {
              datas,
              total: data.totalCount
            }
          } else {
            return {
              datas: [],
              total: 0
            }
          }
        }
        return {
          datas: [],
          total: 0
        }
      })
  },
  // 获取优惠券列表
  getChannelPromoteCodeList(data) {
    return request({
packageBookService/pages/bookServices/detail/index.js
@@ -190,7 +190,7 @@
    // this.getResourceClass(); // 获取资源所属分类
    const token = wx.getStorageSync(app.config.tokenKey);
    if (token) {
      this.getShoppingCartProductGet();
      this.getApplyInfo(options.id);
      this.getAlreadyPBookList();
      this.getAlreadyEBookList();
@@ -386,9 +386,6 @@
    };
    app.MG.store.getProductDetail(query).then(async (res) => {
      console.log(res.datas, 'res.datas');
      wx.setNavigationBarTitle({
        title: res.datas.name,
      })
      this.setData({
        bookDetail: res.datas,
        buyIdList: res.datas.purchasedSaleMethodIdList,
@@ -575,9 +572,6 @@
            expire: false,
          });
        }
      }
      if (!this.data.buy && this.data.bookDetail.isSell == '1') {
        this.getShoppingCartProductGet();
      }
    });
  },
@@ -899,14 +893,13 @@
        size: 999
      },
    }
    app.MG.store.getProductDetail(query).then((res) => {
    app.MG.store.getProductDetailNoChildren(query).then((res) => {
      if (!res.datas.cmsDatas[0].datas.length) {
        return this.setData({
          noResources: true,
          loading: false,
        });
      }
      console.log(res.datas.cmsDatas[0].datas, "资源")
      let list = []
      // 测试 6位// 正式 5位//  测试调用传20,内部7  正式调用传17 内部传6
      //教学资源 云学习
@@ -944,7 +937,7 @@
            })
          }
        }
        const addNum = query.cmsPath.length > 11 ? 7 : query.cmsPath.length > 13 ? 8 : 6
        const addNum = query.cmsPath.length > 12 ? 7 : query.cmsPath.length > 14 ? 8 : 6
        const num = query.cmsPath.length + addNum
        this.getTreeList(res.datas.cmsDatas[0].datas, num, list, '\\', addNum)
        list = this.ensureTreeConsistency(list)
@@ -1035,7 +1028,7 @@
            if (data.length > 0) {
              let list = []
              // 测试 6位// 正式 5位//  测试调用传20,内部7  正式调用传17 内部传6
              const addNum = query.cmsPath.length > 11 ? 7 : query.cmsPath.length > 13 ? 8 : 6
              const addNum = query.cmsPath.length > 12 ? 7 : query.cmsPath.length > 14 ? 8 : 6
              const num = query.cmsPath.length + addNum
              this.getTreeList(data, num, list, '\\', addNum)
              list = this.ensureTreeConsistency(list)
@@ -1150,7 +1143,7 @@
      for (let i = 0; i < data.length; i++) {
        if (index < 3) {
          const item = data[i]
          if (item.childrenFolderCount > 0) {
          if (item.children && item.children.length > 0) {
            result.push(item.id)
            if (item.children) {
              for (let j = 0; j < item.children.length; j++) {