diff --git a/package.json b/package.json index 2566f28..604760d 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,5 @@ { - "name": "qmplaza", + "name": "iot-qmplaza", "version": "0.1.0", "private": true, "homepage": "./", @@ -29,7 +29,7 @@ }, "scripts": { "start": "react-scripts start", - "build": "react-scripts build && coscmd config -a AKIDjS6at7fjTAVgggDNCrogRiZTSL304DPR -s FPPGCXr4xgZRLKDC8tZGp7HTZXlqx0gU -b lg-cjdqwkbo-1256266248 -r ap-shanghai && coscmd delete qmplaza -f && coscmd upload -r build qmplaza", + "build": "react-scripts build && coscmd config -a AKIDjS6at7fjTAVgggDNCrogRiZTSL304DPR -s FPPGCXr4xgZRLKDC8tZGp7HTZXlqx0gU -b lg-cjdqwkbo-1256266248 -r ap-shanghai && coscmd delete iot-qmplaza -f && coscmd upload -r build iot-qmplaza", "test": "react-scripts test", "eject": "react-scripts eject" }, diff --git a/src/js/helpers/data-helper.js b/src/js/helpers/data-helper.js index 90ea32f..274c6ac 100644 --- a/src/js/helpers/data-helper.js +++ b/src/js/helpers/data-helper.js @@ -1,79 +1,87 @@ import axios from "axios"; import icons from "./image-helper"; let mallInfos = new Map(); -export const cdnUrl = "https://cdn.1000my.cn"; -export const code = "b4a45cf0-85ce-4123-99f0-e4ddce2731de"; -export const baseUrl = "https://test.ar.1000my.com"; +export const code = "project-k5chc3vt0vkodjbmhl8rua"; +export const baseUrl = "https://iot-dev.123.1000my.com"; export const post = async (url = "", data = {}) => { const response = await fetch(baseUrl + url, { method: "POST", headers: { "Content-Type": "application/json", + projectCode: code, }, body: JSON.stringify({ ...data, mallCode: code }), }); return response.json(); }; const getMallInfo = async ({ memberID }) => { - const { name, city, groundFloorOrder, floors, scale, offsetToNorth } = { - name: "千目广场", - city: "南京", + const { name, groundFloorOrder, scale, offsetToNorth } = { groundFloorOrder: 1, scale: 0.15, - floors: [ - { - name: "F1", - floorOrder: 0, - url: null, - }, - { - name: "F2", - floorOrder: 1, - url: true, - }, - ], offsetToNorth: 0, }; document.title = name; const mall = { baseUrl, - name, - city, code, groundFloorIndex: groundFloorOrder, needSpotLight: false, scale, - floors, isNew: true, cloud: "1000my", offsetToNorth, }; + const floorMap = { 1: true }; const config = { - mapDataUrl: `${cdnUrl}/test-projects/${code}/Aeditor/Aeditor.json?t=${new Date().getTime()}`, - shopInfoUrl: `${cdnUrl}/test-projects/${code}/QueryShopListForMap/QueryShopListForMap.json?t=${new Date().getTime()}`, + mapDataUrl: `${baseUrl}/api/guide/v1/web/getMallMapData/${code}/Aeditor`, + shopInfoUrl: `${baseUrl}/api/guide/v1/web/getMapInfo?projectCode=${code}`, }; + let cdnUrl; try { const { - data: { mapUrl, shopUrl }, - } = await axios.get( - `${cdnUrl}/test-projects/${code}/config.json?t=${new Date().getTime()}` - ); - if (mapUrl) config.mapDataUrl = mapUrl; - if (shopUrl) config.shopInfoUrl = shopUrl; + data: { data: uploadUrl }, + } = await axios.get(`${baseUrl}/api/info/v1/web/getUploadUrl`); + cdnUrl = uploadUrl; } catch (error) { - console.log("获取config失败"); + console.error(error); } + // try { + // const { + // data: { mapUrl, shopUrl }, + // } = await axios.get( + // `${cdnUrl}/test-projects/${code}/config.json?t=${new Date().getTime()}` + // ); + // if (mapUrl) config.mapDataUrl = mapUrl; + // if (shopUrl) config.shopInfoUrl = shopUrl; + // } catch (error) { + // console.log("获取config失败"); + // } + const [ + { cityName, projectName }, mapDataJSON, - serverShopInfo, + [buildingList, serverShopInfo], facs, activities, pois, menu, shopCouponMap, ] = await Promise.all([ + (async () => { + try { + const { + data: { data }, + } = await axios.get( + `${baseUrl}/api/guide/v1/web/getMallData?projectCode=${code}` + ); + return data; + } catch (error) { + console.error(error); + return {}; + } + })(), (async () => { try { const { @@ -90,9 +98,11 @@ const getMallInfo = async ({ memberID }) => { (async () => { try { const { - data: { data: serverShopInfo }, + data: { + data: { buildingList, shopList: serverShopInfo }, + }, } = await axios.get(config.shopInfoUrl); - return serverShopInfo; + return [buildingList, serverShopInfo]; } catch (error) { console.error(error); return {}; @@ -100,7 +110,11 @@ const getMallInfo = async ({ memberID }) => { })(), (async () => { try { - const { data: facs } = await post(`/Api/Cdn/FacilityInfo`); + const { + data: { data: facs }, + } = await axios.get( + `${baseUrl}/api/guide/v1/web/getProjectUsedIconList?projectCode=${code}` + ); return facs; } catch (error) { console.error(error); @@ -109,9 +123,12 @@ const getMallInfo = async ({ memberID }) => { })(), (async () => { try { - const { data: activities } = await post(`/Api/Operation/MallActList`, { - memberID, - }); + const { data: activities } = await post( + `/api/ar/v1/applet/MallActList`, + { + memberID, + } + ); return activities; } catch (error) { console.error(error); @@ -120,7 +137,7 @@ const getMallInfo = async ({ memberID }) => { })(), (async () => { try { - const { data: pois } = await post(`/api/Operation/GetPoiList`); + const { data: pois } = await post(`/api/ar/v1/applet/GetPoiList`); return pois; } catch (error) { console.error(error); @@ -129,7 +146,7 @@ const getMallInfo = async ({ memberID }) => { })(), (async () => { try { - const { data: menu } = await post(`/Api/AppModule/MallAppModules`); + const { data: menu } = await post(`/api/ar/v1/applet/MallAppModules`); return menu; } catch (error) { console.error(error); @@ -140,7 +157,7 @@ const getMallInfo = async ({ memberID }) => { try { const { data: { shopDetailShowCoupon }, - } = await post(`/Api/Operation/MiniproBasicData`, { + } = await post(`/api/ar/v1/applet/MiniproBasicData`, { memberID, }); const shopCouponMap = shopDetailShowCoupon.reduce( @@ -154,6 +171,9 @@ const getMallInfo = async ({ memberID }) => { } })(), ]); + mall.name = projectName; + document.title = projectName; + mall.city = cityName; const mapData = JSON.parse(mapDataJSON)[0]; mall.activities = activities; mall.pois = pois; @@ -165,7 +185,28 @@ const getMallInfo = async ({ memberID }) => { }), {} ); - const shopInfo = serverShopInfo; + mall.floors = buildingList[0].floorList.map(({ floor, floorOrder }) => ({ + name: floor, + floorOrder, + url: floorMap[floorOrder] ? true : null, + })); + const shopInfo = serverShopInfo + .filter(({ buildingOrder }) => buildingOrder === 0) + .map((iot) => ({ + ...iot, + name: iot.shopName, + houseNum: iot.houseNumber, + nameEn: iot.shopNameEn, + logoPath: cdnUrl + iot.logoUrl, + shopFormat: iot.industryFatherName, + intro: true, + })) + .reduce((acc, nxt) => { + if (!acc[nxt.floorOrder]) acc[nxt.floorOrder] = [nxt]; + else acc[nxt.floorOrder] = [...acc[nxt.floorOrder], nxt]; + return acc; + }, []) + .map((shopList, floorOrder) => ({ floorOrder, shopList })); shopInfo.forEach(({ shopList }) => shopList.forEach((shop) => { if (shopCouponMap[shop.code]) shop.hasCoupon = true; diff --git a/src/pages/Activities/Activities.js b/src/pages/Activities/Activities.js index edde4a0..09272ab 100644 --- a/src/pages/Activities/Activities.js +++ b/src/pages/Activities/Activities.js @@ -35,14 +35,17 @@ const Activities = ({ const receive = async (activity) => { setReceiving(true); try { - const { code, data, msg } = await post("/Api/Coupon/CouponReceive", { - activityCode: activity.code, - memberID, - }); + const { code, data, msg } = await post( + "/api/ar/v1/applet/CouponReceive", + { + activityCode: activity.code, + memberID, + } + ); window.weui.toast(msg, { className: "toast", }); - if (code === "200") { + if (code === 200) { activity.isReceived = true; } } catch (error) { diff --git a/src/pages/Car/Car.js b/src/pages/Car/Car.js index 50d305c..7ecb064 100644 --- a/src/pages/Car/Car.js +++ b/src/pages/Car/Car.js @@ -55,7 +55,7 @@ const Car = ({ lots, onLot = () => {}, plate, hasReverse }) => { const { data: { data, code, msg }, } = { data: { data: null, code: "201", msg: "123" } }; - if (code !== "200") + if (code !== 200) return window.weui.toast(msg, { className: "toast", }); diff --git a/src/pages/Coupons/ApplyModal/ApplyModal.js b/src/pages/Coupons/ApplyModal/ApplyModal.js index 1bc72cd..25d4236 100644 --- a/src/pages/Coupons/ApplyModal/ApplyModal.js +++ b/src/pages/Coupons/ApplyModal/ApplyModal.js @@ -19,7 +19,7 @@ const ApplyModal = ({ onBack, memberID }) => { if (!beginTime) return toast("请选择开始时间"); if (!endTime) return toast("请选择结束时间"); try { - const { code, msg } = await post("/api/coupon/ApplyCoupon", { + const { code, msg } = await post("/api/ar/v1/applet/ApplyCoupon", { title, totalCount, beginTime, @@ -27,7 +27,7 @@ const ApplyModal = ({ onBack, memberID }) => { memberID, couponRules, }); - if (code === "200") { + if (code === 200) { toast("已提交申请,审核中!"); onBack && onBack(); } else { diff --git a/src/pages/Coupons/CouponList/CouponList.js b/src/pages/Coupons/CouponList/CouponList.js index 13e948d..b493c8c 100644 --- a/src/pages/Coupons/CouponList/CouponList.js +++ b/src/pages/Coupons/CouponList/CouponList.js @@ -30,14 +30,17 @@ const CouponList = ({ memberID }) => { if (loading || nextPageIndex === null || !memberID) return; setLoading(true); try { - const { code, data, msg } = await post("/api/coupon/UserCouponList", { - paging: 1, - state, - pageIndex: nextPageIndex, - pageSize: 10, - memberID, - }); - if (code === "200") { + const { code, data, msg } = await post( + "/api/ar/v1/applet/UserCouponList", + { + paging: 1, + state, + pageIndex: nextPageIndex, + pageSize: 10, + memberID, + } + ); + if (code === 200) { setList([...list, ...data.list]); setNextPageIndex( nextPageIndex + 1 > data.allPage ? null : nextPageIndex + 1 diff --git a/src/pages/Coupons/ShopManager/ShopManager.js b/src/pages/Coupons/ShopManager/ShopManager.js index eb63e79..ede9336 100644 --- a/src/pages/Coupons/ShopManager/ShopManager.js +++ b/src/pages/Coupons/ShopManager/ShopManager.js @@ -30,13 +30,13 @@ const ShopManager = ({ memberID }) => { if (loading || nextPageIndex === null) return; setLoading(true); try { - const { code, data, msg } = await post("/api/coupon/ApplyedList", { + const { code, data, msg } = await post("/api/ar/v1/applet/ApplyedList", { paging: 1, pageIndex: nextPageIndex, pageSize: 10, memberID, }); - if (code === "200") { + if (code === 200) { setList([...list, ...data.list]); setNextPageIndex( nextPageIndex + 1 > data.allPage ? null : nextPageIndex + 1 diff --git a/src/pages/Coupons/WriteOffModal/WriteOffModal.js b/src/pages/Coupons/WriteOffModal/WriteOffModal.js index 87d37e1..6fd7cb9 100644 --- a/src/pages/Coupons/WriteOffModal/WriteOffModal.js +++ b/src/pages/Coupons/WriteOffModal/WriteOffModal.js @@ -22,14 +22,14 @@ const WriteOffModal = ({ onBack, memberID }) => { if (loading || nextPageIndex === null) return; setLoading(true); try { - const { code, data, msg } = await post("/api/Coupon/WriteOffHis", { + const { code, data, msg } = await post("/api/ar/v1/applet/WriteOffHis", { paging: 1, pageIndex: nextPageIndex, pageSize: 10, memberID, month, }); - if (code === "200") { + if (code === 200) { setList([...list, ...data.list]); setNextPageIndex( nextPageIndex + 1 > data.allPage ? null : nextPageIndex + 1 @@ -61,11 +61,11 @@ const WriteOffModal = ({ onBack, memberID }) => { }); const writeOff = async (orderNo) => { try { - const { code, msg } = await post("/api/coupon/writeoffcoupon", { + const { code, msg } = await post("/api/ar/v1/applet/writeoffcoupon", { orderNo, memberID, }); - if (code === "200") { + if (code === 200) { toast("核销成功"); return true; } else { diff --git a/src/pages/Index/Index.js b/src/pages/Index/Index.js index 52c3063..581ebf3 100644 --- a/src/pages/Index/Index.js +++ b/src/pages/Index/Index.js @@ -84,7 +84,9 @@ const Index = () => { const hasTab = mall && mall.menu.length > 1; const setStatistics = mall ? ({ userId, navType, pointType, objectCode, objectName, floorName }) => - axios.post(mall.baseUrl + "/Api/Statistics/AddGuideRecord", { + userId && + userId !== "null" && + axios.post(mall.baseUrl + "/api/ar/v1/applet/AddGuideRecord", { mallCode: mall.code, userId, navType, @@ -647,7 +649,7 @@ const Index = () => {