From ef37c59e055a990ce247b265b27d3fcef430a243 Mon Sep 17 00:00:00 2001 From: 杨磊 <505174330@qq.com> Date: 星期五, 15 八月 2025 10:19:18 +0800 Subject: [PATCH] first submit --- src/assets/js/middleGround/api/store.js | 534 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 534 insertions(+), 0 deletions(-) diff --git a/src/assets/js/middleGround/api/store.js b/src/assets/js/middleGround/api/store.js new file mode 100644 index 0000000..63e1432 --- /dev/null +++ b/src/assets/js/middleGround/api/store.js @@ -0,0 +1,534 @@ +import request from "@/plugin/axios"; +import { tokenKey, goodsStore } from "@/assets/js/config"; +import toolClass from "@/assets/js/toolClass"; +import { + handleQueryResourceListData, + handleDetailQueryRequestData +} from "../tool"; +const storeApi = { + /* + **鑾峰彇鍟嗗搧鍒楄〃** + path: 鏁版嵁璺緞 + storeInfo: 浠撳偍 + channelInfo: 棰戦亾 + subAccess: + queryType: 妫�绱㈢被鍨� + paging: 鍒嗛〉 + sort: 鎺掑簭 + fields: 鑷畾涔夊瓧娈� + */ + getProductList: ({ + path = "", + storeInfo = goodsStore, + storeEventIdOrRefCode = "", + queryType, + linkType, + subAccess = [], + paging = {}, + sort, + fields, + filterList, + coverSize, + mainProductId + }) => { + const query = { + AccessControl: { + Path: path, + StoreRefCode: storeInfo + "", + Type: queryType || "\\", + LinkType: linkType || "" + }, + SubAccess: subAccess.length > 0 ? subAccess : [], + PageQuery: { + Start: paging.start || "0", + Size: paging.size || "10" + }, + SortQuery: + sort?.length == 0 + ? [] + : sort + ? [sort] + : [ + { + LinkOrder: "Desc" + } + ], + CreateDate: [], + Description: [], + Name: [], + Icon: [], + RefCode: [], + TypeId: [], + SysType: [], + State: [], + Tag: [], + BeginDate: [], + EndDate: [], + ProductLinkInfo: [], + AllowDonate: [], + // DonatePriceList: [], + StoreEvent: [], + SubProductCount: [], + SaleMethod: [], + SaleMethodValid: [], + StoreEventIdOrRefCode: storeEventIdOrRefCode, + ...fields, + ...filterList + }; + if (mainProductId) { + query.AccessControl.MainProductId = mainProductId; + } + const body = { + query: JSON.stringify({ + Query: [ + { + Q1: query + } + ] + }) + }; + let token = toolClass.getCookie(tokenKey); + let url = token + ? "/store/api/ApiQueryProductByAppUser" + : "/store/api/ApiQueryProduct"; + return request({ + url: url, + method: "post", + data: body + }).then((resp) => { + if (resp.length > 0) { + const data = resp[0]; + const datas = handleQueryResourceListData({ + datas: data.datas, + fields, + path, + storeInfo, + coverSize + }); + return { + datas, + total: data.totalCount, + extraInfos: data.extraInfos?.StoreEvent + }; + } + return { + datas: [], + total: 0 + }; + }); + }, + /* + **鑾峰彇鍟嗗搧璇︽儏** + path: 鏁版嵁璺緞 + storeInfo: 浠撳偍 + channelInfo: 棰戦亾 + subAccess: + fields: 鑷畾涔夊瓧娈� + productId: 鍟嗗搧ID + cmsPath锛歝msPath + */ + getProductDetail: ({ + path = "", + storeInfo = goodsStore, + channelInfo = "", + queryType, + subAccess = [], + fields, + productId, + cmsPath, + coverSize, + itemId, + itemFields, + linkTypes + }) => { + const subQuery = {}; + if (cmsPath) { + subQuery["QueryCms"] = { + Path: cmsPath + "", + Type: "\\", + Name: [], + Icon: [], + TypeId: [], + PageQuery: { + Start: 0, + Size: 100 + }, + ProductLinkInfo: [], + ...itemFields + }; + if (itemId) subQuery["QueryCms"]["Id="] = [`${itemId}`]; + } + // 鑾峰彇鍏宠仈璧勬簮 + 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: [], + 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 || "\\" + }, + SubAccess: subAccess.length > 0 ? subAccess : [], + PageQuery: { + Start: "0", + Size: "1" + }, + "Id=": [`${productId}`], + SortQuery: [], + CreateDate: [], + Description: [], + Name: [], + Icon: [], + RefCode: [], + TypeId: [], + SysType: [], + State: [], + Tag: [], + BeginDate: [], + EndDate: [], + ProductLinkInfo: [], + AllowDonate: [], + DonatePriceList: [], + StoreEvent: [], + SaleMethod: [], + SaleMethodValid: [], + ProductCmsQuery: [subQuery], + ...fields + }; + if (productId) query["Id="] = [`${productId}`]; + + const body = { + query: JSON.stringify({ + Query: [ + { + Q1: query + } + ] + }) + }; + let token = toolClass.getCookie(tokenKey); + let url = token + ? "/store/api/ApiQueryProductByAppUser" + : "/store/api/ApiQueryProduct"; + return request({ + url: url, + method: "post", + data: body + }).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 + }); + return { + datas, + total: data.totalCount + }; + } else { + return { + datas: [], + total: 0 + }; + } + } + return { + datas: [], + total: 0 + }; + }); + }, + + // 鑾峰彇浼樻儬鍒稿垪琛� + getChannelPromoteCodeList(data) { + return request({ + url: "/store/api/ApiGetChannelPromoteCodeList", + method: "post", + data + }); + }, + + // 鑾峰彇鐢ㄦ埛宸查鍙栫殑浼樻儬鍒稿垪琛� + getPromoteCodeList(data) { + return request({ + url: "/store/api/ApiGetPromoteCodeList", + method: "post", + data + }); + }, + + // 鑾峰彇鐢ㄦ埛娴忚鎺掕 + getProductViewRank(data) { + return request({ + url: "/store/api/ApiGetProductViewRank", + method: "post", + data + }); + }, + + // 鑾峰彇鐢ㄦ埛閿�鍞帓琛� + getProductSaleRank(data) { + return request({ + url: "/store/api/ApiGetProductSaleRank", + method: "post", + data + }); + }, + + // 鑾峰彇鍟嗗搧鍙敤浼樻儬鍒� + getProductPromoteCodeList(data) { + return request({ + url: "/store/api/ApiGetProductPromoteCodeList", + method: "post", + data + }); + }, + + // 鑾峰彇璁㈠崟鍙敤浼樻儬鍒� + getOrderPromoteCodeList(data) { + return request({ + url: "/store/api/GetOrderPromoteCodeList", + method: "post", + data + }); + }, + + // 鑾峰彇閿�鍞柟寮忓彲鐢ㄤ紭鎯犲埜 + getSaleMethodPromoteCodeList(data) { + return request({ + url: "/store/api/GetSaleMethodPromoteCodeList", + method: "post", + data + }); + }, + + // 棰嗗彇浼樻儬鍗� + getPromoteCode(data) { + return request({ + url: "/store/api/ApiGetPromoteCode", + method: "post", + data + }); + }, + + // 涓鸿鍗曚娇鐢ㄤ紭鎯犲埜 + updateOrderPromoteCode(data) { + return request({ + url: "/store/api/UpdateOrderPromoteCode", + method: "post", + data + }); + }, + + // 涓洪攢鍞柟寮忎娇鐢ㄤ紭鎯犲埜 + updateSaleMethodPromoteCode(data) { + return request({ + url: "/store/api/UpdateSaleMethodPromoteCode", + method: "post", + data + }); + }, + + // 閫氳繃璁㈠崟鍙疯幏鍙栬鍗� + getOrderByOrderNum(data) { + return request({ + url: "/store/api/GetOrderByOrderNum", + method: "post", + data + }); + }, + + // 鍒涘缓璁㈠崟 + initOrder(data) { + return request({ + url: "/store/api/InitOrder", + method: "post", + data + }); + }, + + // 纭璁㈠崟 + confirmOrder(data) { + return request({ + url: "/store/api/ConfirmOrder", + method: "post", + data + }); + }, + + // 鍙栨秷璁㈠崟 + cancelOrder(data) { + return request({ + url: "/store/api/CancelOrder", + method: "post", + data + }); + }, + + // 璧炶祻 + CreateDonateOrder(data) { + return request({ + url: "/store/api/CreateDonateOrder", + method: "post", + data + }); + }, + + //鑾峰彇鐢ㄦ埛璁㈠崟鍒楄〃 + getUserOrderList(data) { + return request({ + url: "/store/api/GetUserOrderList", + method: "post", + data + }); + }, + + //鑾峰彇棰戦亾涓嬬殑鍒楄〃 + getStoreChannelList(data) { + return request({ + url: "/store/api/ApiGetStoreChannelList", + method: "post", + data + }); + }, + + //鑾峰彇璐墿杞� + getShoppingCartProductList(data) { + return request({ + url: "/store/api/ApiGetShoppingCartProductList", + method: "post", + data + }); + }, + + //娣诲姞鍒拌喘鐗╄溅 + addShoppingCart(data) { + return request({ + url: "/store/api/ApiAddShoppingCart", + method: "post", + data + }); + }, + + //璐墿杞﹀垹闄ゅ晢鍝� + delShoppingCart(data) { + return request({ + url: "/store/api/ApiDelShoppingCart", + method: "post", + data + }); + }, + + //浠庤喘鐗╄溅鍒涘缓璁㈠崟 + shoppingCartCreateOrder(data) { + return request({ + url: "/store/api/ApiShoppingCartCreateOrder", + method: "post", + data + }); + }, + + //鑾峰彇宸茶喘涔扮殑鍟嗗搧鍒楄〃 + getPurchasedProductList(data) { + return request({ + url: "/store/api/ApiGetPurchasedProductList", + method: "post", + data + }); + }, + + //璋冨彇寰俊鏀粯 + makeWeChatPay(data) { + return request({ + url: "/store/api/MakeWeChatPay", + method: "post", + data + }); + }, + + //璋冨彇寰俊浜岀淮鐮佹敮浠� + makeWeChatQrPay(data) { + return request({ + url: "/store/api/MakeWeChatQrPay", + method: "post", + data + }); + }, + + // 鑾峰彇婵�娲荤爜璇︽儏 + getActiveCode(data) { + return request({ + url: "/store/api/ApiGetActiveCode", + method: "post", + data + }); + }, + + // 浣跨敤婵�娲荤爜 + userActiveCode(data) { + return request({ + url: "/store/api/ApiUseActiveCode", + method: "post", + data + }); + }, + + // 鍟嗗搧鏌ヨ绫诲瀷瀛楁鎺ュ彛 + getProductTypeField(data) { + return request({ + url: "/store/api/ApiGetProductTypeField", + method: "post", + data + }); + }, + + // 鍙栨秷鏀惰棌鎴栫Щ闄や功鏋� + delProductLink(data) { + return request({ + url: "/store/api/ApiDelProductLink", + method: "post", + data + }); + }, + + //鏀惰棌鍟嗗搧 + productLink(data) { + return request({ + url: "/store/api/ApiAddProductLink", + method: "post", + data + }); + } +}; + +export default storeApi; -- Gitblit v1.9.1