| | |
| | | } |
| | | }) |
| | | }, |
| | | // 获取商品详情(无 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({ |
| | |
| | | // this.getResourceClass(); // 获取资源所属分类 |
| | | const token = wx.getStorageSync(app.config.tokenKey); |
| | | if (token) { |
| | | |
| | | this.getShoppingCartProductGet(); |
| | | this.getApplyInfo(options.id); |
| | | this.getAlreadyPBookList(); |
| | | this.getAlreadyEBookList(); |
| | |
| | | }; |
| | | 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, |
| | |
| | | expire: false, |
| | | }); |
| | | } |
| | | } |
| | | if (!this.data.buy && this.data.bookDetail.isSell == '1') { |
| | | this.getShoppingCartProductGet(); |
| | | } |
| | | }); |
| | | }, |
| | |
| | | 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 |
| | | //教学资源 云学习 |
| | |
| | | }) |
| | | } |
| | | } |
| | | 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) |
| | |
| | | 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) |
| | |
| | | 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++) { |