From aff8d054df4a638f399dc8f15d98c19b9c9aa785 Mon Sep 17 00:00:00 2001
From: litian <C21AF165>
Date: 星期二, 29 四月 2025 10:11:25 +0800
Subject: [PATCH] 扫码视频播放

---
 assets/js/middleGround/api/store.js |  329 ++++++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 265 insertions(+), 64 deletions(-)

diff --git a/assets/js/middleGround/api/store.js b/assets/js/middleGround/api/store.js
index a2c791e..472b10a 100644
--- a/assets/js/middleGround/api/store.js
+++ b/assets/js/middleGround/api/store.js
@@ -1,6 +1,12 @@
 import request from "../../../request/index";
-import { tokenKey, goodsStore } from '../../config'
-import { handleQueryResourceListData, handleDetailQueryRequestData } from '../tool'
+import {
+  tokenKey,
+  goodsStore
+} from '../../config'
+import {
+  handleQueryResourceListData,
+  handleDetailQueryRequestData
+} from '../tool'
 const storeApi = {
   /*
     **鑾峰彇鍟嗗搧鍒楄〃**
@@ -42,16 +48,9 @@
         Start: paging.start || '0',
         Size: paging.size || '10'
       },
-      SortQuery:
-        sort?.length == 0
-          ? []
-          : sort
-            ? [sort]
-            : [
-              {
-                LinkOrder: 'Desc'
-              }
-            ],
+      SortQuery: sort?.length == 0 ? [] : sort ? [sort] : [{
+        LinkOrder: 'Desc'
+      }],
       CreateDate: [],
       Description: [],
       Name: [],
@@ -78,36 +77,32 @@
       query.AccessControl.MainProductId = mainProductId
     }
     if (handelEBooK) {
-      query.ProductCmsQuery = [
-        {
-          QueryCms: {
-            Path: '*',
-            Type: '\\',
-            Name: [],
-            Icon: [],
-            TypeId: [],
-            RefCode: [],
-            ChildrenCount: [],
-            ChildrenFolderCount: [],
-            CreateDate: [],
-            SysType: [],
-            SaleMethod: [],
-            PageQuery: {
-              Start: 0,
-              Size: 9999
-            },
-            ProductLinkInfo: []
-          }
+      query.ProductCmsQuery = [{
+        QueryCms: {
+          Path: '*',
+          Type: '\\',
+          Name: [],
+          Icon: [],
+          TypeId: [],
+          RefCode: [],
+          ChildrenCount: [],
+          ChildrenFolderCount: [],
+          CreateDate: [],
+          SysType: [],
+          SaleMethod: [],
+          PageQuery: {
+            Start: 0,
+            Size: 9999
+          },
+          ProductLinkInfo: []
         }
-      ]
+      }]
     }
     const body = {
       query: JSON.stringify({
-        Query: [
-          {
-            Q1: query
-          }
-        ]
+        Query: [{
+          Q1: query
+        }]
       })
     }
     let token = wx.getStorageSync(tokenKey) ? wx.getStorageSync(tokenKey) : '';
@@ -180,6 +175,7 @@
         Icon: [],
         TypeId: [],
         RefCode: [],
+        Description: [],
         ChildrenCount: [],
         ChildrenFolderCount: [],
         CreateDate: [],
@@ -189,13 +185,9 @@
           Start: 0,
           Size: 9999
         },
-        SortQuery: cmsSort
-          ? [cmsSort]
-          : [
-            {
-              ProductLinkOrder: 'Asc'
-            }
-          ],
+        SortQuery: cmsSort ? [cmsSort] : [{
+          ProductLinkOrder: 'Asc'
+        }],
         ProductLinkInfo: [],
         ...itemFields
       }
@@ -209,6 +201,7 @@
         Icon: [],
         TypeId: [],
         RefCode: [],
+        Description: [],
         ChildrenCount: [],
         ChildrenFolderCount: [],
         CreateDate: [],
@@ -233,6 +226,7 @@
           Icon: [],
           TypeId: [],
           RefCode: [],
+          Description: [],
           LinkTypes: [linkType.linkType],
           PageQuery: {
             Start: 0,
@@ -261,18 +255,15 @@
         Size: '1'
       },
       'Id=': [`${productId}`],
-      SortQuery: sort
-        ? [sort]
-        : [
-          {
-            LinkOrder: 'Desc'
-          }
-        ],
+      SortQuery: sort ? [sort] : [{
+        LinkOrder: 'Desc'
+      }],
       CreateDate: [],
       Description: [],
       Name: [],
       Icon: [],
       RefCode: [],
+      Description: [],
       TypeId: [],
       SysType: [],
       State: [],
@@ -294,27 +285,28 @@
 
     const body = {
       query: JSON.stringify({
-        Query: [
-          {
-            Q1: query
-          }
-        ]
+        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
-    })
+        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({
+              productId,
               item: data.datas[0],
               fields,
               itemFields: {
@@ -342,7 +334,192 @@
         }
       })
   },
+  // 鑾峰彇鍟嗗搧璇︽儏(鏃� ChildrenCount ChildrenFolderCount ) 姝ゆ帴鍙d负婊¤冻涓婅堪瑕佹眰娣诲姞锛屼笉鏄腑鍙板師鏈�
+  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: [],
+        TypeId: [],
+        RefCode: [],
+        // Description: [],
+        // ChildrenCount: [],
+        // ChildrenFolderCount: [],
+        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({
+            productId,
+            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({
@@ -661,7 +838,31 @@
       method: 'post',
       data
     })
-  }
+  },
+  //鏍规嵁閿�鍞柟寮忔煡璇㈠晢鍝佷俊鎭�
+  getProductBySaleMethod(data) {
+    return request({
+      url: '/store/api/ApiGetProductBySaleMethod',
+      method: 'post',
+      data
+    })
+  },
+  // 绉垎鍏戞崲
+  newOrderPay(data) {
+    return request({
+      url: '/store/api/NewOrderPay',
+      method: 'post',
+      data
+    })
+  },
+  // 鍒犻櫎绉垎璁㈠崟
+  delOrderPay(data) {
+    return request({
+      url: '/store/api/DelOrderPay',
+      method: 'post',
+      data
+    })
+  },
 }
 
-export default storeApi
+export default storeApi
\ No newline at end of file

--
Gitblit v1.9.1