From a48591e5079823f3eba07a60c5b690066b67e696 Mon Sep 17 00:00:00 2001 From: jiannibang <271381693@qq.com> Date: Fri, 9 Dec 2022 14:57:20 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=95=B0=E6=8D=AE=E5=AF=B9=E6=8E=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 4 +- src/components/DefaultPopup/DefaultPopup.js | 2 +- src/components/HeadBar/HeadBar.scss | 4 +- src/components/NavBottom/NavBottom.js | 10 - src/components/Popup/Popup.js | 3 - src/js/helpers/data-helper.js | 217 ++++++-------- src/pages/Activities/Activities.js | 138 --------- src/pages/Activities/Activities.scss | 264 ----------------- src/pages/Activities/back.svg | 4 - src/pages/Activities/clock.svg | 3 - src/pages/Activities/close.png | Bin 1354 -> 0 bytes src/pages/Activities/detail.png | Bin 1646 -> 0 bytes src/pages/Coupons/ApplyModal/ApplyModal.js | 102 ------- src/pages/Coupons/ApplyModal/ApplyModal.scss | 118 -------- src/pages/Coupons/ApplyModal/back.svg | 4 - src/pages/Coupons/CouponList/CouponList.js | 163 ----------- src/pages/Coupons/CouponList/CouponList.scss | 268 ------------------ src/pages/Coupons/CouponList/bg0.svg | 34 --- src/pages/Coupons/CouponList/bg1.svg | 32 --- src/pages/Coupons/CouponList/bg2.svg | 32 --- src/pages/Coupons/CouponList/close.svg | 3 - src/pages/Coupons/CouponList/noData.png | Bin 48466 -> 0 bytes src/pages/Coupons/CouponList/tri.svg | 3 - src/pages/Coupons/Coupons.js | 55 ---- src/pages/Coupons/Coupons.scss | 69 ----- src/pages/Coupons/ListEnd/ListEnd.js | 4 - src/pages/Coupons/ListEnd/ListEnd.scss | 5 - src/pages/Coupons/ListEnd/bg.svg | 4 - src/pages/Coupons/Qrcode/Qrcode.js | 25 -- src/pages/Coupons/Qrcode/Qrcode.scss | 0 src/pages/Coupons/ScanModal/ScanModal.js | 59 ---- src/pages/Coupons/ScanModal/ScanModal.scss | 72 ----- src/pages/Coupons/ScanModal/back.svg | 4 - src/pages/Coupons/ScanModal/border.svg | 3 - src/pages/Coupons/ScanModal/close.svg | 4 - src/pages/Coupons/ScanModal/scaner.svg | 9 - src/pages/Coupons/ShopManager/ShopManager.js | 130 --------- .../Coupons/ShopManager/ShopManager.scss | 132 --------- src/pages/Coupons/ShopManager/noDataPic.png | Bin 42810 -> 0 bytes src/pages/Coupons/ShopTabs/ShopTabs.js | 26 -- src/pages/Coupons/ShopTabs/ShopTabs.scss | 32 --- src/pages/Coupons/ShopTabs/card.svg | 3 - src/pages/Coupons/ShopTabs/cardActive.svg | 3 - src/pages/Coupons/ShopTabs/ticket.svg | 3 - src/pages/Coupons/ShopTabs/ticketActive.svg | 3 - .../Coupons/WriteOffModal/WriteOffModal.js | 148 ---------- .../Coupons/WriteOffModal/WriteOffModal.scss | 162 ----------- src/pages/Coupons/WriteOffModal/back.svg | 4 - src/pages/Coupons/WriteOffModal/scan.svg | 5 - src/pages/Coupons/WriteOffModal/search.svg | 4 - src/pages/Coupons/notMember.png | Bin 63742 -> 0 bytes src/pages/Index/Index.js | 241 +--------------- src/pages/ShopCoupons/ShopCoupons.js | 121 -------- src/pages/ShopCoupons/ShopCoupons.scss | 144 ---------- src/pages/ShopCoupons/arrow.svg | 9 - src/pages/ShopCoupons/back.svg | 3 - 56 files changed, 93 insertions(+), 2801 deletions(-) delete mode 100644 src/pages/Activities/Activities.js delete mode 100644 src/pages/Activities/Activities.scss delete mode 100644 src/pages/Activities/back.svg delete mode 100644 src/pages/Activities/clock.svg delete mode 100644 src/pages/Activities/close.png delete mode 100644 src/pages/Activities/detail.png delete mode 100644 src/pages/Coupons/ApplyModal/ApplyModal.js delete mode 100644 src/pages/Coupons/ApplyModal/ApplyModal.scss delete mode 100644 src/pages/Coupons/ApplyModal/back.svg delete mode 100644 src/pages/Coupons/CouponList/CouponList.js delete mode 100644 src/pages/Coupons/CouponList/CouponList.scss delete mode 100644 src/pages/Coupons/CouponList/bg0.svg delete mode 100644 src/pages/Coupons/CouponList/bg1.svg delete mode 100644 src/pages/Coupons/CouponList/bg2.svg delete mode 100644 src/pages/Coupons/CouponList/close.svg delete mode 100644 src/pages/Coupons/CouponList/noData.png delete mode 100644 src/pages/Coupons/CouponList/tri.svg delete mode 100644 src/pages/Coupons/Coupons.js delete mode 100644 src/pages/Coupons/Coupons.scss delete mode 100644 src/pages/Coupons/ListEnd/ListEnd.js delete mode 100644 src/pages/Coupons/ListEnd/ListEnd.scss delete mode 100644 src/pages/Coupons/ListEnd/bg.svg delete mode 100644 src/pages/Coupons/Qrcode/Qrcode.js delete mode 100644 src/pages/Coupons/Qrcode/Qrcode.scss delete mode 100644 src/pages/Coupons/ScanModal/ScanModal.js delete mode 100644 src/pages/Coupons/ScanModal/ScanModal.scss delete mode 100644 src/pages/Coupons/ScanModal/back.svg delete mode 100644 src/pages/Coupons/ScanModal/border.svg delete mode 100644 src/pages/Coupons/ScanModal/close.svg delete mode 100644 src/pages/Coupons/ScanModal/scaner.svg delete mode 100644 src/pages/Coupons/ShopManager/ShopManager.js delete mode 100644 src/pages/Coupons/ShopManager/ShopManager.scss delete mode 100644 src/pages/Coupons/ShopManager/noDataPic.png delete mode 100644 src/pages/Coupons/ShopTabs/ShopTabs.js delete mode 100644 src/pages/Coupons/ShopTabs/ShopTabs.scss delete mode 100644 src/pages/Coupons/ShopTabs/card.svg delete mode 100644 src/pages/Coupons/ShopTabs/cardActive.svg delete mode 100644 src/pages/Coupons/ShopTabs/ticket.svg delete mode 100644 src/pages/Coupons/ShopTabs/ticketActive.svg delete mode 100644 src/pages/Coupons/WriteOffModal/WriteOffModal.js delete mode 100644 src/pages/Coupons/WriteOffModal/WriteOffModal.scss delete mode 100644 src/pages/Coupons/WriteOffModal/back.svg delete mode 100644 src/pages/Coupons/WriteOffModal/scan.svg delete mode 100644 src/pages/Coupons/WriteOffModal/search.svg delete mode 100644 src/pages/Coupons/notMember.png delete mode 100644 src/pages/ShopCoupons/ShopCoupons.js delete mode 100644 src/pages/ShopCoupons/ShopCoupons.scss delete mode 100644 src/pages/ShopCoupons/arrow.svg delete mode 100644 src/pages/ShopCoupons/back.svg diff --git a/package.json b/package.json index 2566f28..55c8240 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,5 @@ { - "name": "qmplaza", + "name": "qmgo", "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 qmgo -f && coscmd upload -r build qmgo", "test": "react-scripts test", "eject": "react-scripts eject" }, diff --git a/src/components/DefaultPopup/DefaultPopup.js b/src/components/DefaultPopup/DefaultPopup.js index f2e481b..b3dc99d 100644 --- a/src/components/DefaultPopup/DefaultPopup.js +++ b/src/components/DefaultPopup/DefaultPopup.js @@ -201,7 +201,7 @@ const DefaultPopup = ({ setState(STATES.init); onClick(e); }} - wingHeight="calc(100vh - 400px)" + wingHeight="calc(100vh - 310px)" > )} diff --git a/src/components/HeadBar/HeadBar.scss b/src/components/HeadBar/HeadBar.scss index d0d6437..420bdd9 100644 --- a/src/components/HeadBar/HeadBar.scss +++ b/src/components/HeadBar/HeadBar.scss @@ -127,8 +127,8 @@ .label { display: inline-block; - flex: 0 0 20px; - text-align: center; + flex: 0 0 30px; + text-align: right; margin-left: 8px; font-style: normal; font-weight: bold; diff --git a/src/components/NavBottom/NavBottom.js b/src/components/NavBottom/NavBottom.js index 726f337..c16ec4a 100644 --- a/src/components/NavBottom/NavBottom.js +++ b/src/components/NavBottom/NavBottom.js @@ -107,16 +107,6 @@ const NavBottom = ({ }} /> )} -
{ - !paused && puaseOrResume(); - handleAR(end); - }} - > - - AR导航 -
{showNav ? (
setEnd()}> 导航动画
-
handleAR(shop)}> - AR实时导航 -
)} diff --git a/src/js/helpers/data-helper.js b/src/js/helpers/data-helper.js index 90ea32f..8738f7a 100644 --- a/src/js/helpers/data-helper.js +++ b/src/js/helpers/data-helper.js @@ -1,10 +1,10 @@ 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 post = async (url = "", data = {}) => { + +export const code = "project-200"; +export const baseUrl = "https://project-iot.test.1000my.com"; +export const get = async (url = "", data = {}) => { const response = await fetch(baseUrl + url, { method: "POST", headers: { @@ -14,24 +14,12 @@ export const post = async (url = "", data = {}) => { }); return response.json(); }; -const getMallInfo = async ({ memberID }) => { - const { name, city, groundFloorOrder, floors, scale, offsetToNorth } = { - name: "千目广场", +const getMallInfo = async () => { + const { name, city, groundFloorOrder, scale, offsetToNorth } = { + name: "桥北万象", city: "南京", - groundFloorOrder: 1, + groundFloorOrder: 2, scale: 0.15, - floors: [ - { - name: "F1", - floorOrder: 0, - url: null, - }, - { - name: "F2", - floorOrder: 1, - url: true, - }, - ], offsetToNorth: 0, }; document.title = name; @@ -43,121 +31,74 @@ const getMallInfo = async ({ memberID }) => { groundFloorIndex: groundFloorOrder, needSpotLight: false, scale, - floors, isNew: true, cloud: "1000my", offsetToNorth, }; 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}`, }; - 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 [ - mapDataJSON, - serverShopInfo, - facs, - activities, - pois, - menu, - shopCouponMap, - ] = await Promise.all([ - (async () => { - try { - const { - data: { - data: { mapData: mapDataJSON }, - }, - } = await axios.get(config.mapDataUrl); - return mapDataJSON; - } catch (error) { - console.error(error); - return {}; - } - })(), - (async () => { - try { - const { - data: { data: serverShopInfo }, - } = await axios.get(config.shopInfoUrl); - return serverShopInfo; - } catch (error) { - console.error(error); - return {}; - } - })(), - (async () => { - try { - const { data: facs } = await post(`/Api/Cdn/FacilityInfo`); - return facs; - } catch (error) { - console.error(error); - return []; - } - })(), - (async () => { - try { - const { data: activities } = await post(`/Api/Operation/MallActList`, { - memberID, - }); - return activities; - } catch (error) { - console.error(error); - return []; - } - })(), - (async () => { - try { - const { data: pois } = await post(`/api/Operation/GetPoiList`); - return pois; - } catch (error) { - console.error(error); - return []; - } - })(), - (async () => { - try { - const { data: menu } = await post(`/Api/AppModule/MallAppModules`); - return menu; - } catch (error) { - console.error(error); - return []; - } - })(), - (async () => { - try { - const { - data: { shopDetailShowCoupon }, - } = await post(`/Api/Operation/MiniproBasicData`, { - memberID, - }); - const shopCouponMap = shopDetailShowCoupon.reduce( - (acc, nxt) => ({ ...acc, [nxt]: true }), - {} - ); - return shopCouponMap; - } catch (error) { - console.error(error); - return {}; - } - })(), - ]); + const [cdnUrl, mapDataJSON, [buildingList, serverShopInfo], facs] = + await Promise.all([ + (async () => { + try { + const { + data: { data: cdnUrl }, + } = await axios.get(`${baseUrl}/api/info/v1/web/getUploadUrl`); + return cdnUrl; + } catch (error) { + console.error(error); + return {}; + } + })(), + (async () => { + try { + const { + data: { + data: { mapData: mapDataJSON }, + }, + } = await axios.get(config.mapDataUrl); + return mapDataJSON; + } catch (error) { + console.error(error); + return {}; + } + })(), + (async () => { + try { + const { + data: { + data: { buildingList, shopList: serverShopInfo }, + }, + } = await axios.get(config.shopInfoUrl); + return [buildingList, serverShopInfo]; + } catch (error) { + console.error(error); + return {}; + } + })(), + (async () => { + try { + const { + data: { data: facs }, + } = await axios.get( + `${baseUrl}/api/guide/v1/web/getProjectUsedIconList?projectCode=${code}` + ); + return facs; + } catch (error) { + console.error(error); + return []; + } + })(), + ]); const mapData = JSON.parse(mapDataJSON)[0]; - mall.activities = activities; - mall.pois = pois; - const poiMap = pois.reduce((acc, nxt) => ({ ...acc, [nxt.code]: nxt }), {}); + mall.floors = buildingList[0].floorList.map(({ floor, floorOrder }) => ({ + name: floor, + floorOrder, + url: true, + })); mall.facilityTypeMap = facs.reduce( (acc, nxt) => ({ ...acc, @@ -165,11 +106,25 @@ const getMallInfo = async ({ memberID }) => { }), {} ); - const shopInfo = serverShopInfo; + 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, + })) + .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 })); + console.log(shopInfo); shopInfo.forEach(({ shopList }) => shopList.forEach((shop) => { - if (shopCouponMap[shop.code]) shop.hasCoupon = true; - else shop.hasCoupon = false; shop.initialsCn = shop.name .split(" ") .filter((t) => t) @@ -204,8 +159,6 @@ const getMallInfo = async ({ memberID }) => { acc[floorOrder] = [url, name]; return acc; }, new Array()), - poiMap, - menu, }); const mallInfo = { mall, shopInfo, images }; mallInfos.set(mall.code, mallInfo); diff --git a/src/pages/Activities/Activities.js b/src/pages/Activities/Activities.js deleted file mode 100644 index edde4a0..0000000 --- a/src/pages/Activities/Activities.js +++ /dev/null @@ -1,138 +0,0 @@ -import React, { useEffect, useState } from "react"; -import "./Activities.scss"; -import back from "./back.svg"; -import clock from "./clock.svg"; -import detail from "./detail.png"; -import { post } from "../../js/helpers/data-helper"; - -const Activities = ({ - initActivity, - setInitActivity, - onGo, - mall: { activities, pois }, - facilities, - memberID, -}) => { - const [activity, setActivity] = useState(null); - const [receiving, setReceiving] = useState(false); - const poiMap = pois.reduce((acc, nxt) => ({ ...acc, [nxt.code]: nxt }), {}); - const getFacByAct = (activity) => { - if (!activity) return null; - const poiCode = activity.poiList.find((code) => poiMap[code]); - const poi = poiCode ? poiMap[poiCode] : null; - if (!poi) return null; - const actFacs = facilities ? facilities["活动"] : []; - if (!actFacs) return null; - const actFac = actFacs.find(({ title }) => title === poi.name); - return actFac; - }; - - const reject = () => { - window.weui.toast("该活动即将上线,敬请期待!", { - className: "toast", - }); - }; - const receive = async (activity) => { - setReceiving(true); - try { - const { code, data, msg } = await post("/Api/Coupon/CouponReceive", { - activityCode: activity.code, - memberID, - }); - window.weui.toast(msg, { - className: "toast", - }); - if (code === "200") { - activity.isReceived = true; - } - } catch (error) { - console.warn(error); - } finally { - setReceiving(false); - } - }; - useEffect(() => { - if (initActivity) { - setActivity(initActivity); - setInitActivity(null); - } - }, [initActivity]); - - return ( -
-
活动
-
- {activities && - activities.map((act) => ( -
- -
-
setActivity(act)}> - 查看详情 -
-
{ - const fac = getFacByAct(act); - if (!fac) return reject(); - return onGo && onGo(fac); - }} - > - GO -
-
-
- ))} -
- {activity && ( -
- setActivity(null)} - src={back} - > - -
-
{activity.name}
-
- - {activity.beginTime.split(" ")[0]}至 - {activity.endTime.split(" ")[0]} -
-
-
活动介绍
- {activity.intro} -
{ - const fac = getFacByAct(activity); - if (!fac) return reject(); - return onGo && onGo(fac); - }} - > - 开始导航 -
- {activity.defaultAwardTitle && ( -
-
{activity.defaultAwardTitle}
-
活动奖励
-
- !activity.isReceived && !receiving && receive(activity) - } - className={`btn ${ - activity.isReceived || receiving ? "disabled" : "" - }`} - > - 领取奖励 -
-
- )} -
-
-
- )} -
- ); -}; -export default Activities; diff --git a/src/pages/Activities/Activities.scss b/src/pages/Activities/Activities.scss deleted file mode 100644 index 65d2aa0..0000000 --- a/src/pages/Activities/Activities.scss +++ /dev/null @@ -1,264 +0,0 @@ -.activities { - position: absolute; - left: 0; - right: 0; - top: 0; - bottom: 0; - display: flex; - flex-direction: column; - background: #f0f0f0; - - pointer-events: auto; - .header { - position: absolute; - height: 25px; - left: 24px; - top: 24px; - font-family: "PingFang SC"; - font-style: normal; - font-weight: 600; - font-size: 18px; - line-height: 25px; - display: flex; - align-items: center; - color: #353230; - } - .list-container { - position: absolute; - top: 64px; - left: 17px; - right: 17px; - bottom: 0; - overflow-x: hidden; - overflow-y: auto; - .card { - display: inline-flex; - flex-direction: column; - background: #ffffff; - border-radius: 10px; - overflow: hidden; - .card-header { - width: calc(100vw - 34px); - height: calc((100vw - 34px) / 321 * 180); - border-radius: 10px; - object-fit: cover; - } - .card-content { - display: flex; - height: 72px; - padding-left: 24px; - padding-right: 16px; - font-family: "PingFang SC"; - font-style: normal; - font-weight: 600; - font-size: 16px; - line-height: 22px; - color: #353230; - align-items: center; - justify-content: space-between; - .detail { - display: inline-flex; - align-items: center; - img { - width: 20px; - height: 20px; - margin-right: 8px; - } - } - .btn { - display: flex; - width: 80px; - height: 40px; - background: linear-gradient(180deg, #508af7 0%, #5ea5f9 100%); - box-shadow: 0px 6px 12px rgba(93, 172, 249, 0.2); - border-radius: 8px; - font-family: "HarmonyOS Sans SC"; - font-style: normal; - font-weight: 700; - font-size: 16px; - line-height: 19px; - text-align: right; - color: #ffffff; - justify-content: center; - align-items: center; - } - } - } - .card + .card { - margin-top: 16px; - } - } - .activity { - position: absolute; - top: 0; - bottom: -98px; - left: 0; - right: 0; - background: #f0f0f0; - z-index: 1; - border-radius: 18px; - .back { - position: absolute; - width: 40px; - height: 40px; - left: 16px; - top: 8px; - z-index: 2; - } - .r1 { - position: absolute; - top: 0; - left: 0; - right: 0; - height: 56vw; - width: 100vw; - z-index: 1; - border-radius: 10px 10px 0 0; - object-fit: cover; - } - .r2 { - position: absolute; - top: 192px; - left: 0; - right: 0; - bottom: 0; - z-index: 2; - background: linear-gradient( - 180.18deg, - #ffffff 17.3%, - rgba(255, 255, 255, 0) 99.84% - ); - border-radius: 16px 16px 0 0; - display: flex; - flex-direction: column; - .rr1 { - font-family: "PingFang SC"; - font-style: normal; - font-weight: 600; - font-size: 16px; - line-height: 22px; - margin-top: 16px; - margin-bottom: 8px; - color: #353230; - padding-left: 24px; - } - .rr2 { - display: inline-flex; - font-family: "PingFang SC"; - font-style: normal; - font-weight: 400; - font-size: 12px; - line-height: 17px; - color: #68655e; - align-items: center; - padding-left: 24px; - img { - width: 16px; - height: 16px; - margin-right: 8px; - } - } - .r3 { - position: absolute; - top: 97px; - left: 10px; - right: 10px; - bottom: 0; - font-family: "PingFang SC"; - font-style: normal; - font-weight: 400; - font-size: 14px; - line-height: 22px; - color: #9d988f; - overflow-x: hidden; - overflow-y: auto; - background: #f9f9fb; - border-radius: 16px 16px 0px 0px; - padding: 16px 14px; - .title { - font-family: "PingFang SC"; - font-style: normal; - font-weight: 600; - font-size: 14px; - line-height: 20px; - color: #353230; - margin-bottom: 4px; - } - } - .r4 { - display: flex; - position: absolute; - height: 56px; - left: 18px; - right: 18px; - bottom: 56px; - margin: auto; - background: linear-gradient(180deg, #508af7 0%, #5ea5f9 100%); - box-shadow: 0px 6px 12px rgba(93, 172, 249, 0.2); - border-radius: 16px; - font-family: "HarmonyOS Sans SC"; - font-style: normal; - font-weight: 600; - font-size: 16px; - line-height: 22px; - align-items: center; - justify-content: center; - color: #ffffff; - } - .r5 { - position: absolute; - bottom: 139px; - left: 14px; - right: 14px; - height: 80px; - background: rgba(255, 255, 255, 0.7); - box-shadow: 0px 12px 16px rgba(104, 110, 127, 0.08); - border-radius: 10px; - .t1 { - position: absolute; - top: 19px; - left: 20px; - font-weight: 600; - font-size: 17px; - line-height: 22px; - color: #437af7; - width: 174px; - overflow: hidden; - white-space: nowrap; - text-overflow: ellipsis; - } - .meta { - position: absolute; - top: 45px; - left: 20px; - font-weight: 600; - font-size: 12px; - line-height: 16px; - color: #a1a5b3; - } - .btn { - position: absolute; - display: flex; - width: 80px; - height: 40px; - top: 19px; - right: 12px; - background: #ffffff; - box-shadow: 0px 12px 16px rgba(104, 110, 127, 0.08); - border-radius: 10px; - font-weight: 600; - font-size: 15px; - line-height: 20px; - color: #437af7; - justify-content: center; - align-items: center; - border: 1px solid rgba(80, 138, 247, 0.6); - &.disabled { - color: #a1a5b3; - border: 1px solid #a1a5b3; - } - } - } - } - } -} diff --git a/src/pages/Activities/back.svg b/src/pages/Activities/back.svg deleted file mode 100644 index 604f25a..0000000 --- a/src/pages/Activities/back.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/src/pages/Activities/clock.svg b/src/pages/Activities/clock.svg deleted file mode 100644 index 7a90929..0000000 --- a/src/pages/Activities/clock.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/src/pages/Activities/close.png b/src/pages/Activities/close.png deleted file mode 100644 index 6ab2b1fcdb09571700eacb88d0f0d7b3060ac02c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1354 zcmV-Q1-1H#P)XWWDWr~21y9a_uf4v z7^Kt3>F@MI06hW`LlMM6?u5*QL?pmMg>NBy7E0L(`3i#I8+t+j4#5a}5b^|NlG=v|FRZxAZ~>k|Db#>56&Zn~?P2{DlQjTDtaGn<}L3eM>BDB(EkHiY{ysz(?g6ea7 zB#xOp1*;^oh(}4Df<~g5ykg!}F>l%)LMv_Ex;U71JXKdEf*S#msJb{W&<0v0gX`yY z1!n!k_Qr$R$U-^w=A-;)N&h&VU~WSMdO#lOv7&SrP8*O4MH&<03wfF@ zYi^FcI1ic-;}dzLPu}grd=|=j3w%bQT7rBdkMxa5hqTzD^oTP=c|{)SS|IQU@Bj@- z^ukMi;>{-lB`%QY%@l)D=m$*bhN%d*124iU{e1^L0*BRzF@>AbxeTb!cTOk) zFRfl<#W;ou1z?laYnV@QI_p#q1+4LSK6g_%Sz#Hxdc#Yr*Cs10gVlY@CO3!dfp*)R zMg(MgX4*V-epUL&fyG@5*LBiarTGpw3e0__*K>d-b}SAU*mbj^u}B68&3L+vuQB(& zrnf*Mn%roJTi4hDO=<47dEy2`Tf)>$RUa)-l z*x>q!*w^7>ni8suBe5QWHBx=|&h%dOTAyRSS4|ZIZx%u7Kwl4wq$17Vsw6T7Pk@;} zFJby6UX~WDK7{rOdO`(pUYC#)FmuYLy5cV0I_AeP^Yjns=on^W!0Pjyl~u|WVaE2Q zkfl`}#BH58S4Y9iX+T+&=h{#FDEPgQzjSS{&$}|~RY$+yL-kScYL5F&#IXa*=;LDq z>O%xEnEe=mT;H=5vK!sU2wAj9o2Pzu@=0}(z7R!IV_J@_1U}At@_FKH%9I+I1 zZ}>i0xZY$957*~W(Rl*(A~G;0!($`~Q2y732p5co>dn6oLL4<^BY?~djv3(Ir3y|A z@L2O{i-=~;!d^3?Nig^N5p&P*lqy=_DGBJFQv67(d}CZdczIUN=I0a6q{Yj#&~@Tz6(&)$8=K880I} zww3^z1Yw{-M1z;)M;r-${O-c^5?_|akS9R-(r~|oVsIt~=ig&eMuS?cGm#C(rr2f% z>!4#(08p_5*|{bN^)p2oMUj<3vqr|sy$9WJ(r9~BFpkF_zbY8#KKSQPHHL1TC?8)8} z_6BU?+++!ok^~9C*g+fu&ul+EQknt$8HQmbIVH9sM?ZmhJMON#1c7bYYxU1vg(L3*t%AVn4Ip;X0 zS2w0BjdsJO8(q?CRm*SX!RS;ZwHT$YLdhpR$Cir~$1HFz>#o zTs|K#D!k0A?&UOfWcP66P$1uG&o?$MxF~taul7e#C@=IuWm_vr^-(5BxWBXc(Hn>) z*)V4(gC-DN+v-~}^lg~E&qhU29yHoExgb#DFJ~)TF>#N7Iw7-042>>l!d8k<(<-f7=t$B zOBbhGZ;#F{Cw_QZvqqs&qqmGehA-(=ET-o(mw!zxpc z=2}$U(ChUCIICJK=-zHrI%&Q-^Ht)F8V&T??e|hgOJ(N-fsuJf+{~(iSHTl*lBG7_ zX^W+|nCT}L!$(NfQiKoQ{PD?rnr}Draj$z%P2)oYHV|U_!JHZ0+JulV4tW!!^Mj0u z&C$``*|wd~JA3JsB0hds-A!SdQU1)7tx}k31Jo7(Z52W1hv6=H^s04EpBW_NdK%-; z(tKq2?8)!J%9-gTSRyM#&_PbNo2l}~%a=NLtke|l@@8YabIHmUd??M1*fH-!&iAvu zn94ucLSlCFtVx0Z^Er&ukNB!m2()FIQJh%CiH!?VeJ<S%|09S7t}Po3rETn;Q>UMlHShjBm)9O4&~gU>jQk|B*v{m_`i%BwtU$ zbyB`a9tSV8cJuVqtHJ)W00)D(!6sO9p-eDpJN%k1*j(?4gh>P8LtHr~KL)PM*=E3Y zL+<=y=gKBK!(n_hi)YhFc { - const [title, setTitle] = useState(""); - const [totalCount, setTotalCount] = useState(""); - const [beginTime, setBeginTime] = useState(""); - const [endTime, setEndTime] = useState(""); - const [couponRules, setCouponRules] = useState(""); - const toast = (text) => - window.weui.toast(text, { - className: "toast", - }); - const submit = async () => { - if (!title) return toast("请输入礼券标题"); - if (!totalCount) return toast("请输入发放数量"); - if (!beginTime) return toast("请选择开始时间"); - if (!endTime) return toast("请选择结束时间"); - try { - const { code, msg } = await post("/api/coupon/ApplyCoupon", { - title, - totalCount, - beginTime, - endTime, - memberID, - couponRules, - }); - if (code === "200") { - toast("已提交申请,审核中!"); - onBack && onBack(); - } else { - toast(msg); - } - } catch (error) {} - }; - return ( - -
onBack && onBack()}>
-
申请发券
-
-
-
礼券标题
- setTitle(e.target.value)} - > -
-
-
发放数量
- setTotalCount(e.target.value)} - > -
-
-
使用期限
-
- setBeginTime(e.target.value)} - placeholder="请选择开始时间" - > -
- setEndTime(e.target.value)} - placeholder="请选择结束时间" - > -
-
-
-
礼券规则
- -
-
- 免费申请 -
-
-
- ); -}; -export default ApplyModal; diff --git a/src/pages/Coupons/ApplyModal/ApplyModal.scss b/src/pages/Coupons/ApplyModal/ApplyModal.scss deleted file mode 100644 index 14c7b80..0000000 --- a/src/pages/Coupons/ApplyModal/ApplyModal.scss +++ /dev/null @@ -1,118 +0,0 @@ -.ApplyModal { - position: absolute; - top: 0; - bottom: 0; - left: 0; - right: 0; - background: #f6f6f6; - overflow: hidden; - .back { - position: absolute; - top: 10px; - left: 10px; - width: 60px; - height: 60px; - background: center / cover no-repeat url(./back.svg); - } - .title { - position: absolute; - top: 28px; - right: 16px; - font-style: normal; - font-weight: 600; - font-size: 20px; - line-height: 25px; - color: #000000; - } - .content { - position: absolute; - top: 92px; - left: 10px; - right: 10px; - bottom: 34px; - background: #ffffff; - border-radius: 18px; - padding: 32px 24px; - .item { - height: 58px; - border-bottom: 1px solid rgba(218, 215, 209, 0.4); - .label { - font-weight: 600; - font-size: 17px; - line-height: 22px; - color: #353230; - margin-bottom: 8px; - } - .inputText { - font-weight: 400; - font-size: 15px; - line-height: 20px; - color: #68655e; - border: none; - outline: none; - opacity: 0.8; - &::placeholder { - color: #dad7d1; - } - } - .inputTextArea { - width: 100%; - background: #f9f9fb; - border-radius: 8px; - height: 152px; - padding: 16px; - border: none; - font-weight: 400; - font-size: 15px; - line-height: 20px; - outline: none; - color: #68655e; - &::placeholder { - color: #dad7d1; - } - } - .dates { - display: flex; - font-weight: 400; - font-size: 15px; - line-height: 20px; - color: #353230; - - input { - flex: 1; - font-weight: 400; - font-size: 15px; - line-height: 20px; - color: #68655e; - border: none; - outline: none; - opacity: 0.8; - overflow: hidden; - &::placeholder { - color: #dad7d1; - } - } - } - } - .item + .item { - margin-top: 24px; - } - .btn { - position: absolute; - left: 18px; - right: 18px; - bottom: 18px; - height: 56px; - background: linear-gradient(180deg, #508af7 0%, #5ea5f9 100%); - box-shadow: 0px 6px 12px rgba(93, 172, 249, 0.2); - border-radius: 10px; - font-weight: 600; - font-size: 16px; - line-height: 22px; - color: #ffffff; - display: flex; - align-items: center; - justify-content: center; - } - } -} diff --git a/src/pages/Coupons/ApplyModal/back.svg b/src/pages/Coupons/ApplyModal/back.svg deleted file mode 100644 index 3a2dcd6..0000000 --- a/src/pages/Coupons/ApplyModal/back.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/src/pages/Coupons/CouponList/CouponList.js b/src/pages/Coupons/CouponList/CouponList.js deleted file mode 100644 index 13e948d..0000000 --- a/src/pages/Coupons/CouponList/CouponList.js +++ /dev/null @@ -1,163 +0,0 @@ -import "./CouponList.scss"; -import { useState, useRef, useEffect, useCallback } from "react"; -import ListEnd from "../ListEnd/ListEnd"; -import noData from "./noData.png"; -import Qrcode from "../Qrcode/Qrcode"; -import Modal from "react-modal"; -import { post } from "../../../js/helpers/data-helper"; -import InfiniteScroll from "react-infinite-scroller"; - -const stateMap = { - 0: "未使用", - 1: "已使用", - 2: "已失效", -}; -const stateList = [0, 1, 2]; -const CouponList = ({ memberID }) => { - const [state, setState] = useState(stateList[0]); - const [list, setList] = useState([]); - const [nextPageIndex, setNextPageIndex] = useState(1); - const [loading, setLoading] = useState(false); - const hasMore = nextPageIndex !== null; - - const [modalCoupon, setModalCoupon] = useState(null); - const listRef = useRef(); - const showNoData = list !== null && list.length === 0; - const showListEnd = list !== null && list.length > 0; - const showCouponModal = !!modalCoupon; - - const loadMore = useCallback(async () => { - 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") { - setList([...list, ...data.list]); - setNextPageIndex( - nextPageIndex + 1 > data.allPage ? null : nextPageIndex + 1 - ); - } else { - setNextPageIndex(null); - window.weui.toast(msg, { - className: "toast", - }); - } - } catch (error) { - setNextPageIndex(null); - } finally { - setLoading(false); - } - }, [list, loading, nextPageIndex]); - - useEffect(() => { - if (listRef.current) listRef.current.scrollTop = 0; - setNextPageIndex(1); - setList([]); - }, [state]); - - return ( -
-
- {stateList.map((item) => ( -
setState(item)} - > - {stateMap[item]} -
- ))} -
-
- listRef && listRef.current} - > - {showNoData && ( -
- -
-
{}}> - 参加AR -
- 活动,可领取优惠券! -
-
- )} - {list !== null && - list.map((coupon) => ( -
setModalCoupon(coupon)} - > - {coupon.logoUrl ? ( - - ) : ( - - )} -
{coupon.title}
-
{coupon.showNo}
-
- 使用期限
- {coupon.beginTime}至{coupon.endTime} -
-
- ))} - - {showListEnd && } -
-
- {showCouponModal && ( - -
setModalCoupon(null)}>
- -
-
{modalCoupon.title}
-
{modalCoupon.showNo}
-
使用期限
-
- {modalCoupon.beginTime}至{modalCoupon.endTime} -
- {modalCoupon.couponRules && ( - <> -
礼券规则
-
{modalCoupon.couponRules}
- - )} -
-
- )} -
- ); -}; -export default CouponList; diff --git a/src/pages/Coupons/CouponList/CouponList.scss b/src/pages/Coupons/CouponList/CouponList.scss deleted file mode 100644 index c713a64..0000000 --- a/src/pages/Coupons/CouponList/CouponList.scss +++ /dev/null @@ -1,268 +0,0 @@ -.CouponList { - flex: 1; - display: flex; - flex-direction: column; - background: linear-gradient( - 180deg, - #f2f2f2 0%, - rgba(249, 249, 249, 0) 20.18% - ); - border-radius: 18px 18px 0 0; - padding-top: 10px; - width: 100vw; - align-items: center; - overflow: hidden; - .CouponTabs { - display: flex; - flex: 0 0 56px; - width: calc(100vw - 20px); - background: #ffffff; - border-radius: 10px; - - .tab { - position: relative; - display: flex; - flex: 1; - font-weight: 400; - font-size: 15px; - line-height: 20px; - color: #9d988f; - justify-content: center; - align-items: center; - &.active { - color: #508af7; - &::before { - content: ""; - position: absolute; - bottom: 10px; - left: 0; - right: 0; - margin: auto; - width: 4px; - height: 4px; - background: #508af7; - border-radius: 50%; - } - &::after { - content: ""; - position: absolute; - width: 30px; - height: 6px; - bottom: 0; - left: 0; - right: 0; - margin: auto; - background: center / cover no-repeat url(./tri.svg); - } - } - } - } - .list-container { - flex: 1; - overflow-x: hidden; - overflow-y: scroll; - padding-top: 16px; - text-align: center; - scroll-behavior: smooth; - - &::-webkit-scrollbar { - display: none; - } - .coupon { - position: relative; - width: calc(100vw - 20px); - height: calc((100vw - 20px) / 355 * 134); - &.bg0 { - background: center / cover no-repeat url(./bg0.svg); - } - &.bg1 { - background: center / cover no-repeat url(./bg1.svg); - } - &.bg2 { - background: center / cover no-repeat url(./bg2.svg); - } - .logo { - position: absolute; - top: 5.333vw; - left: 5.333vw; - border-radius: 4px; - object-fit: cover; - } - .title { - position: absolute; - top: 8vw; - left: 27.733vw; - right: 2.667vw; - font-weight: 600; - font-size: 4.533vw; - line-height: 5.867vw; - color: #353230; - overflow: hidden; - white-space: nowrap; - text-overflow: ellipsis; - text-align: left; - } - .meta { - position: absolute; - top: 14.933vw; - left: 27.733vw; - font-weight: 600; - font-size: 3.467vw; - line-height: 4.8vw; - color: #68655e; - opacity: 0.8; - } - .duration { - position: absolute; - bottom: 0; - left: 0; - right: 0; - height: 9.067vw; - font-weight: 400; - font-size: 3.2vw; - line-height: 4.267vw; - text-align: center; - color: #9d988f; - display: flex; - justify-content: center; - align-items: center; - .sep { - width: 0.267vw; - height: 2.667vw; - opacity: 0.3; - border-left: 0.267vw solid #68655e; - margin-left: 3.2vw; - margin-right: 3.2vw; - } - } - .time-left { - position: absolute; - height: 3.467vw; - top: 2.133vw; - right: 1.067vw; - font-weight: 600; - font-size: 2.933vw; - line-height: 3.467vw; - color: #c1a672; - opacity: 0.8; - } - .qrcode { - position: absolute; - top: 5.333vw; - left: 5.333vw; - } - } - .coupon + .coupon { - margin-top: 8px; - } - .noData { - display: flex; - flex-direction: column; - width: calc(100vw - 20px); - height: 396px; - border-radius: 18px; - background: #ffffff; - align-items: center; - .bg { - margin: auto; - width: 250px; - height: 250px; - margin-top: 16px; - } - .meta { - width: calc(100vw - 46px); - flex: 0 0 90px; - border-top: 1px solid #f5f5f5; - display: flex; - font-weight: 400; - font-size: 17px; - line-height: 22px; - color: #9d988f; - height: 90px; - justify-content: center; - align-items: center; - .btn { - color: #508af7; - } - } - } - } -} -.CouponModal { - position: absolute; - top: 0; - bottom: 0; - left: 0; - right: 0; - width: 326px; - height: 416px; - margin: auto; - background: #f9f9fb; - border-radius: 16px; - .close { - position: absolute; - top: 16px; - right: 16px; - width: 24px; - height: 24px; - background: center / cover no-repeat url(./close.svg); - } - .qrcode { - position: absolute; - top: 52px; - left: 0; - right: 0; - margin: auto; - } - .content { - position: absolute; - bottom: 8px; - left: 8px; - right: 8px; - background: #f3f4f8; - border-radius: 10px; - height: 192px; - display: flex; - justify-content: center; - align-items: flex-start; - flex-direction: column; - padding: 24px 16px 0 16px; - .title { - font-weight: 600; - font-size: 17px; - line-height: 22px; - color: #323337; - } - .coupon-code { - font-weight: 600; - font-size: 13px; - line-height: 18px; - color: #437af7; - opacity: 0.8; - margin-top: 4px; - padding-bottom: 8px; - border-bottom: 1px dashed #c9cbd1; - margin-bottom: 17px; - width: 100%; - } - .meta { - font-weight: 400; - font-size: 12px; - line-height: 16px; - color: #7a7e8d; - opacity: 0.8; - margin-bottom: 2px; - } - .value { - font-weight: 600; - font-size: 12px; - line-height: 16px; - color: #474a56; - opacity: 0.8; - margin-bottom: 8px; - min-height: 16px; - overflow: hidden; - text-overflow: ellipsis; - } - } -} diff --git a/src/pages/Coupons/CouponList/bg0.svg b/src/pages/Coupons/CouponList/bg0.svg deleted file mode 100644 index 113f3c2..0000000 --- a/src/pages/Coupons/CouponList/bg0.svg +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/pages/Coupons/CouponList/bg1.svg b/src/pages/Coupons/CouponList/bg1.svg deleted file mode 100644 index 4a71ccd..0000000 --- a/src/pages/Coupons/CouponList/bg1.svg +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/pages/Coupons/CouponList/bg2.svg b/src/pages/Coupons/CouponList/bg2.svg deleted file mode 100644 index dacd570..0000000 --- a/src/pages/Coupons/CouponList/bg2.svg +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/pages/Coupons/CouponList/close.svg b/src/pages/Coupons/CouponList/close.svg deleted file mode 100644 index 579a117..0000000 --- a/src/pages/Coupons/CouponList/close.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/src/pages/Coupons/CouponList/noData.png b/src/pages/Coupons/CouponList/noData.png deleted file mode 100644 index 54ebaaf25aafad7a0053bea5182b32a034205c57..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 48466 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 d+E&3MM)n4fc3p z4#1R)TR*JEj%<<1rnNAJNuD*SeItZ3n8CH9K&z-t3Br5BkXTurXr3a7v%9`&6&m^d`xEXXLQX259=MpWvKVFn)RaNO(SqDNVBZd#9(51zmBt7^@JQG z8xUbumM`5$cZyq^dEkOLes14aSSF7?LEp2VkI_T1HKIL>55XHj(%e2bSdUjPn@G&v zuXNove`{0_$Psoei30XJ5gb>cDZR@xZ)o$vb3waP{|Oot4X$hI)yg2IiblkpT81y( zj>*SnBO>FS+qr(*y^mS{qf2W~9`SNOl`nHReLV48dq5E*mT#)uLe0}kIl!swhSp44 zt~!sujbUY4RiNBE_8%O7h>?Pua)JIGn#h8Hx7vx7c|M}B9<@46YRbX6dJLjMwUJ^=6~f8uRdt%` z%X-wrfNr@O5@kFIwTf$wP(c*uaC~n%dVfo?{Gw2@p1K-{13$dqCF3M+o%NcXDWk;( z$5rw@1@lbZHVpnOYlHS7AV2dNzD_MTkcMgBqfGmreinatpr=%B?HHd1pRKHup0_yq zi}P5DzUI;?dnTj}146-xLP9B!_t3P5S`{ocxpAhAA#e0Fa2)SNAIUeW#o)n9J*iYv zQ{(MYcuSq)G80b!B$n>QYO!S|p}kL>sGHJ4_ed}k67LZwI6gDxy^&qm{ht27F zVR!vi-pc|9;?j{JIn%i7)=0JyLfn%_b-bCHFy848daj5op35(w`nT(xfwD> zmNbkJZCMvL3k%vkMR1{Bjou~{>Y*QFS`;&cK#+Bc5<0aj%h)|k zuZ{e&7@+iixBNj6w>&ld-tKT`$%G&u2clX}J#uhH^SDD(ZEK7F{-D^ct#LvMjf zz=AON)|V5y==)w_@5(2<(Lgx&O(?ymx^TO%?zi%Ds^l>wJo0$$@#J!Wwril@ZF;C*Y5fr z&*0K|GbHbJ27}ryH|J%bfWYi1vIQ&7?@xfZrF>U`#CUe?$O1*<>V!UMSMNuE=@zo{ zbH-UH?lIfXo)70QdFisj%V5p=bA`}kH}r9hAd6(mTQQ|);X53GT#S`Gc6P-%j(U(0 z-lszo!yW>HfWcKEJw=fvu}do(5r=P_%Bnrb{;AP8M%v^a!nWyr&kbR7TOM+?vk&rUJ#~5Bu~rs6Csl+YKH9 zWcPlJrU4WSSO377)RKK2jK}3 zAbOAf^K3zbySA7e*w9${(2?4-+i4z)>iBA3Oe9coK&$5qorHWqZiD+uqw8y{-t@_e zF@XFb3_?r&RDTEo;GX2OE^_`#H}j)Y)f%5#+bkZVze%_VKW9!cn;V%6O*wKyn(pd6 zyAu9z(%xWUj{FEtI(%ZsUc;fpV8y!12i}+;Ehg%@KqVlGN(@hRAy)R;!Z@zM6uslh zgDHs92R7bmga0tD>2S;WiI&z48nj5H^{L`7Cn7#|Cq_o>)VK7%;k=~-{ZtISI=am{^it~M--U6TBy<=}k;fmy zJ^5A|nLR_uu42w6LZhi*T~eK8;e@zQkLpS7#uI^H0LZDUD1=0o`}$ckrkOeUEz4H) z{}lu#Wy`y<`()je4UjZI`9Of7(}O1Nf+T%MH2iq!`^x^X{m=umd0VZc(|}?WD)NOW z#Stm++!H7}582w>wjUaV7ue$N)jN{7YR1v1or=`h!b4+VHwEkitM?FI{)-M*;an;x zu@V=d_L1@{sy6y=kK7|@iLMs6S&qM{oQZL-L1lG^mJ6nF+zc@kP8hUN3O*t5(3g=a z$Q*oG^aE!9j;csKp?FQ~5PpcqrAq0eJ$av!-_@BTClrg~oPPRu7cfFB{|0*7==|Ro zg=Bi>Q{%R_w4@_>hqNcKMz?e_`?>tL5Lyb0Vn{EiKh1 ztG5o(w;Rfry9&#pk9U!LKAYK}Gn1d7W!>$mt&YtX@Y{jX_tt>F0;IXnq~`Ys6l#m| z1-&VcJOv4At5k^Xl{SMa0|sleNxw`^_D4rT2u#YUaRBNDy69m%YWoLp;5DSXC%}yQ zzXz;&XIF(52fXygi|9!O-fI4>7Q%LAe)kuXukW8bk>sU+47n+;C~AoW5iU7VAslVJ z=k|_5`gop|=KlfEDEh)vh!EJ>>j3!$zgY%@MUE4BGIphd6co$m%@nnp6~zk4z?2f& zGT3X|GS7ESMwK#{@a|u?{$a@n@h)SZzif@N8CjV`t2Q8OB@Wk}@(OTR*o|s#r?6 z`?tY0@Dum0Lgz-K7Iy>|!%H4W?5GND21k7v7z{jPJDLNfcv<<$EHfLdO7n*1BvRY7 zn*WwNF+R0BX1f~=O-i5KZpbDJZSFa1Xr$~;*R>D`K&ba%w+u&1jy(Hi^6}X}jdDEB z+ie6pTHpycD71C%^Zx7fMuP9?tT03ZaXIv#2>?0=d_wUGewu=VE;$CTzR8k*HMD^u zR=$Hd%qGDeA>sz94Y|+^O`wI7@S8MOdH0*S-r{&YmLRzNO=uPsmg}YI!$WWv#>ms- zbfK+TTddsHkU+r0b3p45{ewautNSINV!zjh1N{58c}@G)c@33txqwz7^Xb&;D|V5d zF@UfdL|Fa&>^Y|X%nlZF3KC1M$1$IK_`AgeP35x z%+8V8zcHG=N2(HIH?S@F+yVce$L7KG-*Vi~Yuip&(@!-i*PQ$y0qgpnwRPih98>%q zdFX)_lFOD>OE!Qk1Kr=r4QK| z6Ks+1&7*Rs^L~b<$p-mGvehfzUHInczTNiAXRWOI&&kdZjZDf=Le{m=15?1h!biA^ z?MU`A_PQmzXbAusLap|&bjF(gS)>HJZ54cZgraqP0 zDh&1!8)>KCxUHVGe>!nl;il5xIV8_{M%LZM9S)XV-P(mZOTYX$`t?aVeg7QteQUj} z=3C5tpY&_l2JAR)dtz|{Mi_{E&S-mT#{z+zCZ$?}>NSjae)q{x=o#fY0*^u;MDAWMmeAHi_o0>Vj=Ky?fX)O?AB zjJDn8AT4Ap*3}_0lzHFT+L+j^r%OfdYDD-Le#>zW_ln?k4<;69hmd`Ls3V^h7(gMf zHrT{#TOc_W|5u&m?x4fvCl(?i>W2u54DkQNO`TfYB`cljCKOz%9*5Fh>eYMUwV@P= zA(E@#Q{TPx9IDDGolU3~UP20M2$AHzzq>Pdr()*o|C@86a0v{uRf}SiIm286O(n$e zKSK>ZxnjYJi@=0=lCSL8D}H?zjoCkxJUtS@Gd8(_*qgcgVZ9|Lm@7%k?;N|ffsckt zYXw_`51Eq?i6bc&e6FeC6aHX*R!vNTh1ACN&H#-Yb*s^lrmnTUqGQ&cl#w+S=+tW6 zAWgsb(^eA#nlK^M4iDXxk~h38E23dhr38LP_F#4pV*UO})9d2&JxNnz7`7pmTRC;g z%y1u60rWQT-UhBsE_}Wpd|h4b09B#>^vi45NG;fBmWiS9{Ry+;3KT=JJEn*k1{7s8Pwop4`xN(Hw}&l~lbf_pMqgIj^P zHkwZ*6TbfGxe&U@yUe?%>b*fkTd7Z;?;>mEdSDj;G$6x3Wz-f1cL{`_T%GFZYYOB;G9X*#sc$%REFYPWP#_F5qQiB=m;5ds_x>5C7e8#`I9}}6iQScCIEO%#X(pQ( zvhg{3hxk-m*l4e(d@zx4XKz9~xiQ3sA_4wt|8MS2>vh)4VASc6)1!Dy_YT%8(=NjK zO=-&RbIOwy^rqBW2QM$a4NbmjEUPP09b7!Vb*tN8{A;d1De4f`uL|9kc{oJy>Yh$K zc!Ap5rCga`*H`~d*=~rPAzl!EZ9ZqvS`JGzbY#hRa{pz ziSmqWQOQD;OTNvObi}J>?j>@D#XIJ!c$7+GhM?p6nhN>vq?<;=&m=Up%2(ox+Q=>< zhC+WD7Fo>SWlSzLB_ES>v$I+E&ELC^TEb>|=k8|y^lD|&Z&&cK+wDU7jfmnjpZZ*C zY1_#uQ*AHvn!R)|Kgn8Jg(=mZ3&l8*4f`E@2R6KI;whM0Tkx;P-tYeSDl7aM4|vvz zGNs7uD2%UXm$bfRzLE-6l@#>grkq&sH3Td7HPB*^AZ_%Ak?IcQNCl@s4F!&+OW$Bp zVHFGfFf@T_sJ#W$O7=Xgm)!P}BZ>F@z;{)OzJ!LTfeh#%@i6ar8-71XV8l?dY99u6 zXcqyxKH5r0n$~%!5dk8|3NwesMU78ZZJC)?sQg967D(Wk1Q<69-u%(_)pcDJY);%h z@&e>z86i7>%C4(Egp!L!5K|xYxxjtoFFmKeMMIo8gQbSd?5{r*bg3IiNYS%qGf@YIfGMcrHM4-S!rBS=`I4P#0_9!H7 zO6}N_HRHo=_U8Z%6k-2!S@orrrF*|j74ui9-`1(!9vvPDCWOaJ%Wrz|zi;dpU5~b> zdNWgN>T8;%{wh1@VyXyW{feX`F_q37Fw)ki1~v^48Vq26^vCYEfY=wS;yI;EU3%s{yiE>VG5r8t8asW40@A{t-6(zzg{_ zGkrmBHl9;3b4CyWt^`mdqT|o-de{R-_eBStSq>u`2`0Z#v)-VW4x_JgsO=74XRbKr zdDGaDunMe|mad~_*3CEv;*Xad!^OK*F-C`}c?I1|7rr^qJHlY(H0obd3rtyT>P z-=Kcx6H5N%nnd^xdwlXy#_*J7$n>pjDqJ-`S;s>6v?egJCJ5<`u~&+2)#u^}{hQd+ zMjlGkbBKfD?PROH-8e2g>4&NPh)_9JwDcG`-K@RLchh8FU0LL!g1BcVT5X$SseMUD zcOdA;>r-H*^)jm*)Ov;JUrk+xK`93MbK0fU7yEc9eI|}-f!@H5Qx)<94nv|f#t)vW z$(fi?b|j7B#9L^?#K|2|?64t0KH~tU^Pfz|@6(8opXhN&PueDV>YJu^RCPMiKo!G1 z-qL!TVCYw9k5>kCQ)l|kPqc|sT}Tjj0Ousm~nOj=J44;1m2k2hox9)ke=k{7_qTx=-3&ByeO`gZ&I_pQD&v_!Z(ZvxNv$x=_LlU)Zj5?S+pb;xp!`D zs^Gx8e@NxTA@(6!2r`GrgWc7zw%>@G=Ve1nZI;C=v)nD?L)G*+R^)%3A}k> z-OU46Z^kSRDmL#x0SzA@(L3Ss$B#QE=ZHd2qIo3D)9*u)ITt*r7xfbtCM|_LgJx*X z@@h-3=*tJ0sgiYVX(N=tk~H<5;uCKD=}k0NN6!Sk_Hn2%0Bzj-2SpX%f!=})pI$V- z1DM1_ zjXv8WL&(_9_(hNYj3H|^U+uz) zCuOby-ka(*H9wiyb z(Oai&`0hLCdaeC;vVndJS64J7!t!L-D3I0v^Z&vjA81UC}Ve;ayu-W#j#GwL3Ic z_!8?~S|V;eH;fwJoLn%34;ms%)YS^PAs$T@7QWy4OfZufbn3*zm@o{JB4Kow5UG~? zala8P7PXX&oStShY71z46G84u_PPD0?asy>E5oQ8f1>rZ9{ATJUP~I*G`VJnlA%bB zlsq|iX)=D61e2qoP~{W>j@L0YXh*a;an_N~^nTD$z|ClPk7LY+)euruq{kuI0Q zp>WKl-e`SL?8cSen(5HWDFWl|YR@p#>Iw zH<@9N*F(;#IXJ^+da)x0=o7pl$t-7iIHANtdzYJ-t2>Ap z+EA?4Csz_oBez?(duP1X2iI`AnI{I$piP;QC04%!pD4=Gi|+z0qau(&E0GI$kR|3Y zWww^8#LLAo)?56&(>4Wqa0AZZj`9_1S-$!mwT&QF@iU0sr|~ax%sU#4ZCotVS7Q02 zGU6yzoH1*<6bdZ#1ERI*Fc(Z+>glbI0UV5I&T=AzHKWazruYty$>s^-l+BJ$*CW!;)58644eg{r_$V*T7z1G2FqZ~$4 z9bQWpHgvonU4CSnmUFJr!zCsA#U{#KCuBZ?NR*%Rt_kFw%WveAhn{LdWuwAJU-v^b?zBc81%MVVf=&HQgfE(cQ$R8l;qE?l)_SY6H z?UrdAd#0LINqrTxkPi7N0}l&>o~*$@ihi68S^t=Ucnr%rW7@I_;#Gcj?Pwm@Z!IsD&O&IzoJhR&^M08>z^=p8!Tc0 zbyEb!9#6{%ez-eFTkMfe@NMlTK0&(K!p4+3`rA$OHJRD$gmnS2eVlAayS=Ws+)FLH za+KP6Qb|Y7ub+Jyt{yOz{$c#m%0FPLQBno9x#k+fQs443ehr$QHhj{spNx^?oUOaV zT#l~P4ze=;Zt&S4Pjo++DF-twbs_y?wFRTVH6ArJaBct`48A zh91R&W%3Gr3CVaCHpaEOWd0IC0GBzkB78gAsG^&8oK77%-@Jw~g-_5?RUx}lZrSE*G9>MOlb0^*k{BHEta2^xOF3U&sGF_e%JP`ttZI5gmdZ2-56bD?7^^*iP0 zh^|bG!E({D>p!J2pQkTMMv!uO7n7Y4jQ5!ll&k%6nzgu@T*)>M5v&4)7id3IRDQK6 zV$LY`RM-|%SS~It`%a$NXEb};%Vw;Yb>730Y~zP%txrDeA6S!>n=klo?5i_WsJ+|& zxiv?IPCi=q*iz@-f-L|P{%A>ElR>^#cV5@8j}b*Gw)lkvUu_hYdL*aQX8&hri+`Vt zqS()P!7a)B&WX_M(U_p^&mFEYHB4DpF24QiL{*t5fhcl&;3~X`g zJ)iN;caWM!Rh@E?ik3zb*{!y}7L4-d-qx9$`eCdLf=1Z6NJ6>lf=jA-otLr#z4Wk^ zm3IPP7O|i-dOg>-NE3Vd+{2M)VmY%;#p-*me&sKc+RmOcT6Y6}4z|@2&Kt{<+%Y!h71qHrrg3w$T z`{i;Ao1m7J^s*S4xb@ z_O4XdErHnKrhLU_>(c;{*qVC9vj$ z5UNyj^pGP<_@DO?#liZdwV$w$5()TSis5M1-m`x#5?cX)B$s9UBwXt&#r+zHc~PMj zCeZNq_r1RJdx=-i-jp@U1&Z5=)Dz(1m<{|fUX8G7@MaSwa4!o?36R-VMV+?F85H!&Cyd5|hzJ>*T#LCQUVx+Y4YMl-9$-<-bG-F4AFuG_}1>x-O z3Jl}HE*mkZMOfHaXQg`}t=ABeS!D&8$C$Z1Q+7T5f%0w$h~A<+!M`pbntWsNhP8NL zmL@8iNlN2uyWk&uOOW)@rSrkl6J9Wl> zk&rfQj<|6*{aViWRyS(k=!RE2z?yxz_w)rt*9Cp3c(1S~$H%`)Zr-vAWND{%Zy`mq zvGXj!yFyUXr%qjnP^R4Ba*} zC@f_}$sa+MaU=xNtu!@bGO9>%FxqqDkE9;=-n_Eem05A6Qz4ZY&rxxHkfwK+&h!$* z2}R#%$S%!HrFta%h8o&jhHpo@G>~UYJQ4+yb&49DK;1#4GwS(e@X{g;#l5SzdymNW z|04Uhfv3cgDIARp?qhZ`P6HFGLuG@Wem%RfPyW*g+V4HouZ!M(8EJUy<|=%Tk=8Hc z_XSE^OShmWPtecW-HSk3k#$(1A2`gTn%qf~m)>5Twf;JXml~B!AdBbb;`ozU;K@O| zx@=l`PAY+9#W)X$Q1uH{FjDV4!UgMa2Y7^Tbl(}b-Mj#Lo76*j)1;tAdP0Z-;zX!- zWo`~d-OFboEI_5fd31d~j>87J90oMi6jA$*dSJE?-++Zm0QElxW5EWdbbSw&d;?C7 z>2AyDOyZSa$ep{B#TjFuddyr#l<|s>^I@^0IkwXF5V-chWVM^weXk1;&$ROCtf*`z zO%z*5gE@?flmHt)G`&D6#r*ppP8TMUsUC+yOO5JHtK#$}JNva@6f{K%AiuE23}6PI znGALkIZxZ-55K!MrLm-R((o)H%Nrfn9}+DSV~ydC6o)b!phEl&*rBjOF>oC%ly-=Vd3HmTp0as6fG8#Mh-h~(|YG=1uqZgNQLs=7&DX zU#U}s2-U}as+Ljb4a?bhBc<^A`sp*74i+o6yi2w9uar-HD)JGmHRc@sbOaANXyR=dBnINoqi3=p#FJhpfTNatvNQ)W+>F5{^ z6wb;r!nyZ>*uAs@3Pcm6@NgNKMht!-A@zTS5{l}G^uBscg`;<_vZT}`1_@Ug@_)5k zPHS)w$Vi*%V^+kB*H6NThTK1S~FPv?0WMsDe6`)c8SKHVU_&;6`h1@@L38UJYUG z4ZZxg6q^$bwgS*T$j9(P$3}I9OsQPerKJKrA0WNm-+-Q!G12;;r1g0L3=UQrA}fi+ zOU~rtRn>($Q%APrt5l*1`Qva&n-Em{Pd^lHZj9=*VaW95`Rl9Mb;F`{e`cg74|DjZ zstpG8RW)Xx42)TG^1%qJ$iFgEMiA++_v0-fyP!Z7_2%Ypn}o>s&oWGXJNL)WX#)8= z)r8ZGOj1?=en_}vtD)jbHC$w;Satc|C0mR%K}`Stl!0w9*pHVc+XLz{fcZ~exp+~AyGNJ z^F?3nv@tCi$wa4wngU>=qeJ({?_NYT9|jxmZ~dKvy28B%&#KEr?kar0OQCkEaH1HZ|V zZo&ss1sJos2DTj2HqaKMESbiZ0}TShb}G);Wv{imZ4^%%{>ne@Xd0(~qs1d`*3l$P z%;IB^21sGbH~MqM1;!x%+1vStrJ)-ouU5J>lPK;5uZ3=o~r0>9cz)M zgG7W#SDEd)61|&%l4XcXRVE4v4DjX9!^BRE*c@3%EOcs1`C1H;%m>iPNid*5%CC4I z;|<@mFTCMJB$Lb=1foWLU()b`;+X}{*M|Lsd{uO=+aN2lEc8Atyr9ofhd@=huq27kxIcgmZX z6@dt!nx7ilcnpD<~NE1=4a%&UBW`=qVLoHN_LhQJxI5SUttJ z<@KVi;!Ec9HB8f2)GPLLf;k{Lzwu%%9YpqIQPsnseS9{CwiSGhNQ#6~icXra982elQuvS5DMTLiyqb3DdzQc))u(cLfQc8eL z^;BKi`NLmi>_9$8X>c^0g3zt|Ne4}HQrqN{-mw1Ed?6{pTl*3bz9#GjrVM}Cz&=4; z$z4U1wm5mNpXJAlreFx{1Ue*=U8=EKW!@HOo5ox5LXQ5TS}{v%Z%;EJ<18w~yfBf1 zf?1ik#IN>(@IGBr(&<@8Q+yZo-F{JXjS6FDlM0&BWw^ajg-@j^R#@jAMSf%dF}({n zbA8i6o=gr$_1$b?7MAFz=aU+B!7OkgBgeIypp=f)0kqw-l<)I z8#|%m=v=*nk&cmBcRY;V5r)M|cJO_iz{Hony0?1+8_}vT=4*}mv5v*$#ADK!-?qNJ zwx$h|&74Sz_Y+6+XKxw!WR8?IquLzc^gj-_?R>f748?K$-(I^XEGw?CPn~LP`&RqvzH_ApDzZ z!8R{@^ZZZ-&;QQkePyKqvULLe1z%O4vb;S8%RyxLL4NAQC4{G$-gciy2bM4^PhmSB zf|E>>p*5B>k+#LR#C#b-kK1wr&zcL?$Ngh*m_0GXTsR+4mY^`qlIuRTqZo>p)@D+q zil}~yIXKHyi|cA$wJ2v;kZYD$OOuzt(e3{MdmY|P@GT0|j95vGS9pnXw9)euUtTM?^wHdaHEauhN`T%^XDdrqYU zdtv$grsnt4=%D?Emo=~>h!27{VEr=9p)_4O&25~r)|G^f=wn5*c~w>2y1&Oh){iR! zf?fKwr7cpBX*J+VZESTd_t|sB=ue&N0o2+~vOHkUA0T3G`r*2{ye`F+t@%hwY8JOx zJ-z*1bms(#eR^Q0(KNe=>!A3NVv}0UMz3;RvKFzzA;ji`BGw+gwQ7u^-s)9TV zkzoEVw5t5eu*^2!GJ8Ykt{B?}o@LpslI#V^(uPzoc#v4P90z?>IpsQ-*f=|yI6Ktb zfxu!>U*IN*y`zSk?PL4yKr+iSMN<%AGT#PWvYcZo*%(-_W?Xj}jr~UvHz&+-+Z>Vr z-8k!hH@9+gR+zJVO~Yqw-?MOBW&HFYG7DnsM}rKf;qQY>&;x86S|YAf7bKmKt#u6p zG^O3}>M|Bv|MuxkF2Ft3s3;zc&kB2Iyx#=+fa~O@RGc!&gv|JfIhlneKyWGFdWL}D zM^$!hYU~lt%w)|Th7)$WigC>IwovGERtvPA|k`ZtZVyA@>AgcH=u(AJ=3@Q+G44K0WwxGW~tP||2RFIXmFVj zH?P=NItr+D;K_TGG+Q+NJKV*Z2Jq!M(-LM1D_z~!v*k2s<$F7etKG+2f80iJ%J^WU zU}F`jaa&dxkK@#3sC~Fp#EM7^LX6?xvLHwf6fXtls+hQbX?*QuVcK9S`!E8e2+n=e zv&Q~63D_-BR@;#?GC+69X1U{PX7LB~RL?x;a(d8@ndGZPAwws(n5nvwp+^f5!i=@F zOa$+8^vAXtdir%~p^A4I8McUIrc1j3D-BcHU9mG(U~0kn`NGAI126GTx;UpxQTkD@ zh|Ot^OxQf^ipP||nw9hw# z%#?FnOoy*u)GHvM$_SeMms^Y^-!wxa6{e*qCC?nng!Inc2q8!v9T`q`v5jo^>mDT9 zl}WS~!N)1U2QpR>D4B{EfB6rOw2bw)^;CS|Q^s=YQQl2JnUk;LWZr1C#38Yp@Dfo0 zgV+f_D*dC`zv+$C>d4)IXC)Gx%OqD$q<(EP~R^JNBj`tJmd zrvxhBe9onl307`)1+wJ;Ya@EYPnY!7P!fmN@oykR1uVdC8b&n)TKs8ZQH9YcDgrEN zYDvI{#6Xhxz+w50BVvT9i=XyzNh_Z!YxXcL?DDcX7xD69wi}-9{i8b!}d} zs5(7!#@v>(r^_XZHt&x%UFC9_6ONTJyU1Sji6k|8YiPs8JKQ6}ESJMpF?W7cXxHNF z4v~eIs+15+er4>F>V@BQl2X*uR=t7IT(tJ))G)I3&j6hgX%2y5?zQs`(D)1PMKV-TvtV6s#;%KTk*H6Ta5At(chbVNWdlyVW!@MbY)t=9EyE@39=%K8uyA}Te;Ut>*dw#6p?@|a zbQ(~t9~+g4(d!`C-o;YoN%j$V@voF^Ns57e-(J@0Bs$(IBtbW&IB&;#h6fJZQ^}u9 z4Wt2xI#mO2Ym$!r)cAnaInA_1FERGWA`BnX$Jn$dv20PS@3Kb}#MM_h#t?;7zKANr z2C=jDXW7L^jA2IWX)E&5d8Rrxh^_(`%#W{fY$u(ehcgURs8E-9Zsm$2BbbiYH}E+( z-5bR9Bd)#h%-X`O^OPBG>3f5`P?FGb1v61$CPtmGetGWc)QMnOTNa*DS>EA+)k96) z)I!lH+I6NYoi$uZ*+_QrUN*L7*0&0SnppJwMq8dd?HD$z9i|Lr;X#R?(xEu7FcmV6 zr6(PUHgbmxBWYTUeP()Z>=T0bzPU_7ZN)g|fX)GoOvBnE>B%v%NyRR<6(EECsC<}B zmb(RuRln6z+VwROgwp=Jz*Lx6#g-v&S#ir?`6j+v&_N0yZ5{13)wgQ@bM0M*w8-&dh@y zrbR_Rn->&JxmK-h?;jGKlNQ~f{dsTo+yC0vNx@+uDVc1p&w5|n>Bz-vNR#e{v=kIJ5OWU8R#-ME9PqtIF^yC$Wt>4dJ z0+6*SV z8-S(rE)d^H;GkQA%~6~M(aPHe@u7C9V&Bohr+n5^$au;D%zsl|*?{Hlt0(_~xinCo zk4gdfG|O0B!386e&MoiuW8__o_T^J}6~UfBJ=mYYei@_+qT|6gpGykNw0Gr5mrIcOkkZng!G$Zigax8B>CK}uB`!@$odQ_JCd5V&Y>#sx$yhl+=8to1Ij{(_KrEjlzBIh(?H}TcRu2*6xx3}ShGlcCnkCNVk&}GkNgO-dqvjlC%5_ETI#6w2faks zHf8QuvMArAHIB0#BE?7>m^~j}*4MFEF7BS8_lwmo1gIDiN@O!P--0$XbL-BihIodK zF22rYlf70nzX$kxxi0_xx$AO+fvhevCX~~?OTCcRFCbJ@(sXpxs*w{-l$Tekz=Tw?Z3oH)LPKh|8b=X zwzq zk9N7S(d52%H{968VtQDO6pvu$Jh~uoqUF-wypDG0r91m6arbAI^A_9};)N7Z&H zy_Z3VoJbYOdV3cPw3DFxQ@D^2@g+_8X2un-ukHG^56k)k*&FMDfF#$NGbUDOTAaI4 zAAOYD?e9v-Uio16N#{M)H0gO2{?4GT`4^LFHh zROF0;8qaW(zE!zX3l3`(f(UBy3o~H{v^7-aXKs8GOnSh*t~0&Z-xI#}x%R$&3&(uJ z$)NI#ZI97U$o!HEM6vV;+fZ72z8p`3Pdi!i~Ys-iW5IPgQG8Lb5iU_SVbYYm?fx>Yz-M zy7Th2b7XVnc`34mm2S9Uou7K2XJ#f`IVhLmmT@?WN0R+ojS#Z}fiISDAB9^|=GNUE z@5&%kXNZ=UwsU3vE9V`7aFq_mJ-`Vi^Z_;2>DfIOf67)zDIZy) z>$P9SFFScp1C9qSun*7TWD>z-{QUgg!Pc&)ziNX)tTy{xWWtLV6_F7`OEYBxCinMQ zYW{`YEvt2LEunqYQfld3ZRN2PV%1uffX<@l<-RmFY)_i3PedF6Gy>ckB04%c`3uK= znmsLBD?vp_f<2v$+a<1g5?)8Z>$EvqQr00LM-3Z$*Zs>(87DL}6rgofE?*4u^Eiqd zFf2iBQEs+3u%Jk5#6flTWQ3Xnk5{PuqJY(}zwMjFPR5+8py(KB3x~Osu^=_*i7)*ZNAt^{G?q`}qF1OMyAmt}OI?bTY(eBIUFzv27`2 z-d~H@)9<4Y40s0Gl1Wu{yOVnwar=F{U=l*U?z@Ajr;UK`OJxtNtg38T2VXB#1vmX_ z@2n5r9bktJMBdfP{Y7BoH8`abGm--e^v$R+V0)IOefzY|n1x=AyuXc{xsN>M1cE9X z5!i!jS?(z;J0QLI%~{BRM|1j1$=Q$3?3!Mn5_`4zkL@P@3`%}!f zUwsaTl0U<~wv6M62FxU>MtI#*{Jyy%csd8azDPP>lgw`9 z*5#xZbKW2MRkTAiuQgLE)z;m|9_n?&I4KXGdmZPH`d6T5cUVEF!V$jsZ`+(I*g5>M?sjOVG~Kv`EV%!zNUNnR(8z8wX9}j8AjBGW%)2$8}jVn3!2k4=OXGg zM7@EL@W1-Js!*~3{@Fn?pWtif?*;nyYP5bpu79n0U722)@I%`P>eK>F&lr}jTl+3G z?AMjZVr~*#9G?=GjD>@K>bXs@_^55(wYQ|dZWH!=c}7s43oQ>K=4Vlx9eaKezNw5W zs;WAMNlUL(bJFHBTJ1tQew$|$<(t*O`=?dB$GS?2t1eK&N5A%jM+AuP>$OWTe63L@ zN*M78D6~8*$KTHmHO$jEpkle|w?JgrmLITEZNuNcs3rUu>*2p2LyG**A1rjy2li|b zt>?t=(S)#TOM_Dv9k=aq+$A_n;`M$~-Vs#&Vsf3=eeA@>&gpdJKX+eQ$?q%_Y!PJL z))TzD_zP1Pn^UJ0PJjr52inttdT-Z0AB~HU-Kd>88u#2nO2%$Y+XMa9Li`I&A}xpF z`yivZWD@S^2zC#%BPqvI%9>3=K;r-J7m=LZ7ll2;ww(UlhFrNXa#A$6wDh039?qus zxyFI9-M)w|_(&t1SO(b`3G)>>a)+Q-IcOM zA^hZe=h-B38lc^-v!$r!Rc4oUtMzhOOc&|OFl8p5%^vyHQ-!j_K=*@JzU7K!yt$WK z$6Z~5Xz}IJj&Ye*5xBmivl4@xAd1CR2>zR$$Z*tXoYDT1Z&c^r5;*m`UDHJQwN(f!eds8J4{gV?l1VYTZI54lKBmPVFcgx=gDr9 z!vro~Qw84^9uRw`Rk^hi6wi^YW}t}?^T3MuF!1Et3?XURxGNit6k~X9+tY0|Vh1V> zDP{w^Hv8;=_%u7?2JOFs7uG5Ep((56rxh*3SkNRE(Kzk8l4 zZ{L=gyi>1WI2y$4Q|*EIi>P8k`y1~lY~2%v1Z<-?=DLQhNw{8b z7Bl8zKTtnPzs#e$96i@D{z!Qle>OuKhm;P7Dn649ozT_VEOCxi3zNaTN6tEaycdW$ zFkDwdE*DOt;OAQ;@r?IpB2_~#{`6NXuH7s(K4suoMs2v_n%%#B15 za}Co`-RW(!%Jtq97%6fFG{r*Iw8~_JOfVC| zS`ES$a!^+66*vYA|EoWu%$}7n{w%Khi*Z*`11$zIHhm9CV=SB-pb4xN)$oY@ZG^K= z{c>Y%I=Rrfw_V?Jky)FO2QyoHTlG@4A`-@$cfWfo0sXM-Z=JIZw--i<`(E7Yz*Sa# zH4OV(REepa^2(!~7i*C%O=Nv!!ZdZsu+0m}73 z$G=Z5)6Yr%e9*UCvRv0B`niZRfkWRc%%*v~tYpt$O>bsjX(?}F)Q;tYy{{giIm=7$ z>jL<0amWN2`c4!Ssr*2fc)4H&_aKQ-g6HOtE73Ogk*l%q#wc&4gYMpUd2C_uBkhU+ z=?7(ifI!z-TS( zpBAqfR>~#@icyH7v1ch)%~SlHX?J6%$l){lR`5wb(%f^x@$z$L%k*m$39_#Eb5g<+ z0!Ab;^q&yLmW4d+7{+((fTb7je^5pSPimb!K7YCTz$w<1*Iy^hZ|9vhFtG5Ysawf7 z=WmBnixRvk@5HoMd*pjn?bc;Mr5C$HVU~+rv8myj<5BmdtsgSH0D|sxTvSbqrH_@` zz8ca|t$cH8_oMXi&M}-v_5g7^cm>nqpRMBWC8EDDCoFO>jm=9Q$y&=X9{Hu##gEXV z_5iR`I1Syf8(xSNSmvB6W>WYaMLXIZDW6Y3nT^VNX*%M{o|w2+eBu%kX|+G{%cNtvgf zJYVTvQuPH1Vz`$^PB9L}`yrt=@?zYjGtcWzbI zvyXOaj_jBs(9{E;#y~c0LE(bxgJrG-KcleZQz?DqR}>>Q(F;SGiAL z#-3t=I;I>w*1SE{MkZ&0j%Y-hZBmF)!aYV5O<3alSu1%t7o>js5O?1bw=6euD`$p_ z7}Om9$fP@u03pz2U(-C;+-Nb8;Qhf%(I*0|ng>z|ul}vr*4dCEAC&DLHdN=Lz++wjPKqe4ZUE5; zeNC|;Rot@CM6p}$w0ALu9GYR(BQ?3{cJAx?q*$K>=e%y(dbo>u)omz1 zl^|PD92K)+egcyC*2BpGdRMmaYyR3GFIzV$3b6%!us%TI(`eFRu@;fB` zz&BJ;-UVuF;%UprALSkt?XtY>VR6G>A zDHKdmwSjjeB>Aq{&5ih99J-J1$@l*#JAo+YW5pqWkY~i#AHhgsx3OyL-Yd#xdPGD8 zl$uXa#46}*N4n0ly8d$T?s(jJZ78@f?rowLNY$*!{`x?;8fDhESA>^FprMX=;qQsn7=_xrE zS1XX78p?uRev_}nc2AlcZoJWQk&NvgepZdEPcfnrUUhY(> z-VHcB-}s!6=GcPWT=(; zrt1H&r0CBq71%<2FNBUc*0BP$)~=Qo3=}BdgB1I${=#5ezM|b z3&H?EK6)yVh^p6_1H4|_@?nJRNx!&PYy=$cP~J~%e1)o1QJxbwU0!b(DMQod60WN3 z$8Rsy{6-FonhX-OF>H!8Wl7M<6y4KKG=a#`3=He&q-nmPamW>J@TP2GB^J4gDv<6ACner9uurh~#UDz8@p{kpHc{6Qiv{&rXG>1G09a=pl{XHKJG8ikC>Me-+=tiOW7yZ!a)7 za%F)d@JNd?fEWWADyTqyCviS~JIZ(a*zbQ!c`qI?kIiixWGh}O=CEU?#rRQvh zS~o@hVYjR`#pZRNHk*b*Up7E_hS`+o>~TZ#_IWYW1K4(MUOc}1>dFEa)K?wF=hiaz z@h&|rA_^EO^o-!d;f@s|mZd9eM5}Nc?{CDX!yTTshPLrN$MB#1C@Y3FN;T3+9G7mT zs5#GG@N%e>^AH>B=@3S} zUDSzsK6@2UX7p?kC!2qrGBtR4+;|;+#9?b1MUXKmJUw5z6&t84jm*sm1g8^?fOs|ConsC+$_4fK!dO#%HsyDAL$=7) z&3SW6{N>ojJx@}vXlZyCK`Bs-d4QPwA92n8eMsu{FzEBGv(84v7d`BLU}N4D?G|!i zCK#dL{CC>s3FvVcQO#9iA>bO}(5HOe&JDODjyF;tm{(2-H!}4j{rK@^Gg_i^X8hLC zvyVa_$n+W$ypXE8G>PT>dfW8yvud@<raY1jQ7Pdr(y~1MmFIKs`6F$c9U!K2$oq9L^0;(r~EQwoWw`96wG%>dtfz3VR`n$Y;>;Lyq{S$TOmgnorA}FBqv`CBaoN=JnCx^$X{{?NfWm-`W8C z9M*o?&zoHRe=_h|?gAFyM{zq}{U*Q^)k7TdsS0Mre z3xU0P_u;Q+DJ?<6^Zh-DTv9zBTV1z)AL%qfkb`;??&9x9T31mEl_n>D96P4iTvIOf zXWp{7OO6fmGML|!_%$axVOg5^A;7Cs)Z#Bq?FtWCGee&eJ@ok-B|1}-84tmQTm3GmZ~TEgYzDnDTypXS<1H-hn$x%O|DOp?bR6%6{*R zxXQ1|Xm>e!dUDo16rz6Wt|`Psepwm-P*8nV=2+tOPH=91cwm%$w>@_A^v$9rkQUMa1a zx7Q&TkvEPNt17H;%p8>c=|%NCSBPwX0Fx!Tnzbc?rF$7O5UR-(!8#Gm=3aQ?wIa77H-=! z`@;mGO_3_UtfR=iD!QypXg|`ooD&$1VN6Jwl`IR)24LWQ8D{h4Zpsuvj16Nqy=J#a zW;eZcdgXQ;?(*$ve;-oNF?)${rcaaT+fMNCajwc?Sx!eR>Ywd!t{u#2&^NHIjQ`-H zR9l*6Sy*XqX0C(^lH!c^kdH1yBFkwEFPtXA@oU>F_F9BFCg;gjf=TP;$ss1!3HtY` z+i#NFBF@)Z>($r4w%*N83+o!7k4EV+?HIf)U)~~*RHdCIF=HH&q-M4YF-ZmtY54Om z!%Q?qRse*_x`)~aS`S40Pxng18!4+f2pIt>=3IMn_9t@WXiJ5I!#|O#y>qtpW&@w@nv>E%*lISB|Vh* zlwCyx5&b2u^6~Qrt_Xw+3OT|{o{ZfrNXTPo98xs+*_fBp!PJgc=C#RJ&!oRVg##G9 z`wbS0Fp=Jov6Gk@NKnn!xc~9Zwyjaq!Owe&9>8IaLR{%ga`&t%O+`6ia)WZ(XRgPB zCUL|1EF_Sep+p}T^(gPR@$ky_ys_UcPIePqw+rM5zA9=lf$Lx8lFEaBc{aI^%6o>~ z1iRcNJasr6cpg2RqxKXg&yNcoz1 zWoHcC0q|$GWc*WC)vvQDZjI6y%hE^DKCIX6nIp-K4OxFB!_v<1uj~w-U(3v`iBgSS zQS4r*_%wwJ#6!E5PcHR*Y0Ej13y@?(mLPP_%Qh`CKJe52*DtsrW^y@M?%SPzjA7kT zE}A9N=e6sO(GbIvT;rUTt;P{jE0k3}TL0cH`RYe;H&V1x2B}kC{vq;i*VF+saN2AB zr0?{f&W1@pt!9fgw)+P%#q@t>t4!3J<1W>m=Szl7ieS&5H}Nd2Fn%LL2WeYcEUu<=-~+w>9|a<5~+IQrsL6Xo@U z;o`&di6*-J7d`!25g1^D9NNv{HUxrw7)~W?aW2+h-DlMh)3J4#m+M^h@e?9`X1F#r z%!M$U|KUg{W==`{`Omp1wVzO1$RALD$UH*bc8t2W^ixCB%Ey3zUq-e+HV`5A&5 zc_!bo@zS@@I|Y3mSL-~a>u!5=NGCpIv?nU>2JfKGMS8Sk9kP;3j+ng{vNC^lp;59beLOF_HxB?y-3#lcIg@iFFO@$X zRXcOE!T6|bbWC|oiuf_+E?@Je!yw(yO8pbOULaYV=zEzX4v3D^@9U}CqMuy!Y++XZ z>+B24(?}4ciR+r!o6Va~plLAPlIGz($d=`ltXtu}l5UAA9k8IaP7Yb8kYi55qkVMv zxmx7WrQRanj(=MGL^0?e)~KP><0~-dfm9QMnZJ$`Y|7=P_#H2Mv{H}589Nb4A*;2V zzwnAWO7W2rqg4g)xKQZ=1Q#xT|F~Wb>52-3#**RsD{Jd?|B(ckt)G-KWTE5a+afBL z6lECY&)0__R+zksfd1PE4K9wbjr>Aqj9ADPbhI2SF(`@e!&s{F_5 zLsK0Vh7Jes+G?IeXN!=Z|CWeZuB3rAmZ{QLYA>)9vaZPpnVO_IjLNlSPg9R|=BX9c zsK9F4k@F*diY-0PtogPRlM?iNskZ(1@4+!O9iknxXI*{$1N$HFF+~FCiXRuenvh?Euq|i`#|yV5~?Sq5@WE z6+ptsL_GLd{<-m{|G*!Ny6~jFkDOOYL`AhWe9)&LL4g(2X#$$=$m&V(%q6P*!#l5C z^Q{V^cvD94=VR(LT2^iNIJ+ce8&`6-&KcimW$-??rf>9EdH!eYG;gXXl6-Xs0zcfq zNw03WatMZ368{&$n>*rmw0^x(hQ{vn_D;*4k2PwwTTaH}ud59AB6uKmwO*xRc2n@xH=8M zSi!E3r<72B1k}feB4lTEx&oS!Exjlu_5f1#LoHxV4o{8;#8X;zHHK&AALu!7Go8uO zTq9IRbZ%w0C!ATTdgvFNnEI&+>k!)AMlU|YN$ByTLsvMEkZ zJvEd*ySn{24#Qh)Q@F(4okA#%tDFkU@Hn$}^b6y)W3zO_xL|J4$L6Io?N>qHgMc=S z2Z|QHGX41?KPQxoRsU2xOwBGC^(PF?E~%W%NvB2%;pdyWo%MxJ-|V($Qf@t&z!W`Y z{l5-J8>|Z1*O`NTvS$s;Hsb5YFCU9nssl~kB|NSsn$qxN_R}_t^Wws;U$c5%MWPnE zu7bCQqt-7W$nR?VzgiZcKEL62;QB>(Q-bimvrml)NlrIXkb{m(WQFV9Y1uRFsoe5# z^Z~BTdtRfa-K-keW-kK{A47c)Bh8A@PZGvpdPVt@BEH>#599B2u7BAJ4N<1+wsJ13 z&LL@N?r}4GKx`G4B~~O~Df%e2zp###t$Y7zNUY}{WY@Q7@+V`w{J3ZqQ8FE1Pv{}n z&Xw3hKfp8S;P-8|PB2QlNn7W*PZ^;K%3}G(u6vvbx>F-*v)HMM^O&{`)2Qh3%adj* z*qqqgQ_^Mc-$~Z#sW|5RE4KY>?Gz?U_(Hnb{t)F|FERmekuZ4*YISNFe7azp?%$Pg zayI`0Ul{Xl6qAJJsbj}B3H}xCHmCjUGykaD*J679iaVwHMH#(z+N0O322V!w3x z>AJ0uNfmVgtUwpRFY6E`Hf5CNow4=f>)6Kv4*MF_25>%2&JS=FGhZ&A{ke6L+VXV5{{nBH3FDI5^MUh4gn+boILa$?cX$C)#%huDYuZ%bPxOe>KF>T{uw+J>M5)-J65XQQUfzff-$ zwR zg#jz*BZDD-gmZZVAS&&nk|S2IDrd1dMGw`vhAEoZZZktyMKkP-*JF?tuN@c6r)SFG z^}>Y;{`-Gg2LkSVdv*y_TXn7dm$nJU_&Voe{MV7UxA{_eds{NDYBQVnkALE8s$b;7 z1UK2>E+$JFV(T{(o$`Zbfeoh131!kQh~^J!oBC?jTJN>3tM~V1g-OT!hYG&!3DTH7 zKGw~^1fbE!g9h90w)W@iufZQJ5aK>Y@I0E&di#B#^G4lR_1@}bj(jy6ewB%#PG_)M zH^qT{nc<>mj|$vcszQhCNupR;6Z`s@aXQ+4iZhGVSQ47y_6gQ&O#oz!`JIUZKl!J( zF;$UXTe7B>((kFdLj3QI49`855Zpwc{Wc{ok3RpZZEJ}B>F2<9{pNkfHFdM3E(^?d zs4_QNG*2X}V5kqj9LCozM%>+z33M5+QqjF*^;8-Uze`%ECAu+ z6PKK30|FsI`tiRd1x?9n=TG;N2G7dpm@-#@Qna1z`OSN~GqBeKK+UM@R1?gut`~pK zX6^?)_6?*t=3e%M@<|)7GE=CZ(~Gk6!Xw#}O_qk5{(s*Mp$^@delj^{*!THcc=3B| zhx$Dasa)UudZQOC=>T0}2q#XKuqj#rpEIQH$toTYHq689esi=pVxyA6Gy3@p7?dL6 z>1ub@tzFr0=)S_+7P4%dAm^m}QoQ-~hbJn3U+8%}8<1Gflu-F-R?VmUrqy=-RAn(D z(pu_p!1BbTPi(j0jbeNv?o+|l$K@D~@o>3)Hb6|`mSG62^H@%vQ*`g&J*^>d#RO$H ztkFkoRkN}e!KlDK=qhj58hra(2L0Al=1XU|VN_$Bi8$s-t1 zb5Q+%bi_Vua&p!0L_2lx#=}HW^Ey0=H?y_`P1?&(?~J-KI`*GBvuQ&J;nkX zqFPkQuGJsR2TQvH?u9!a;wPD)O<2#SJaXzqlG`>NtP}IQlZ`Vx@bmXPl*olcFO1@x zw7e2BX8lBAV<9|abBjZQ`s?_{X4n(lQ{eZinBwpxZ^zu9)ZI;`SuYI8h};qmE+A}` zlDj(MSGSVN(X6(&r1XQAou3H+{dW0Eo2cD-B z{l@0e(Gpb+q;mbQN_BRWntZCw`}Vc(Rf|*{=Ug2JB^l=Kvj&I@5n|?D4gxEc=b9!%vje>9}RP;u|&Qr^Cj=*>FPD_`&l?&S4x~cjlRP!`3 zdQ`aAuB3kdN%VhgPS&KPOQOf<*bym(Tb(_hFO0lu4`f70=SzMzguAWA+aXX&6%U=| z@5)FNOLx^b3rwY$(iSyLB)8FPl2-4#8wDeh$is?u>JJj0E_8T}l|x?)eQEJUd5)P5 z3i)6h>(Q1UXj6-gtDL|fLxcA9tssI^lB~3xh=~ujVNX$~ceh1@;d5-Lpa^m0k!Sd~aEK9ANx=5>Xjw1)W z0|$$b5_YFh%53-FXCWNd+5Qs@mB?wc=B9lk&ZX@Xgx%bc(XlbpJ@i_gvcjGY*-s@R zmZ>M|JQDg``+MqpD}@*#lH{Ms9Y}e3yi{86a;H^Jtn{ThZA6}C`L&^f^?iT~ z_(3;9WhwjPCf+S*>_do*AMFh^PtsP*M^_o_bzv@_CVj5hUd0#XKaXFo>aP*4kTFCZ z_-;Ny^YX^-JC}zo=f32b?Ar*pfEU_tq%I3D?4*Q0oDCSeJN}ju$VeWyLfQ?4Bw%gM zrNmo@FI9oty>h%32IBEzDJ$Y^FcfJzUOsPx!0cIM%r8QHussaSHk@sA-kD^GBeNC& zaW56dZrxb|x9lyHCMfCraa4%KR#fah^yuFp5zfLy+-&Xa+`JXC52ZOLo+&{htx-!s zzlvu`gk~R^gGiP+x{U|Ap*DTrd{=8u<0@utcW~s#{xv0jX}+&M{d?DKU-i{W1oqmU ztFL$H${oLtNSj@#ze*mn#Vlw7A^~@`D`Df;uCss6{l(Uc`V!QSdPI$UEeP0lH-CGc z^zNajrXP8Cp1xDRZnM<=Q>`e`sck@Snf_p$WL&+rrX(?T|H;?KUHL2O%7!dJwzZ6-JT@ z*EFW8Hfw6x#yjcT@LtqoD^Qad&G32%B z4*^by<_5qEj=c}V%7t`X5r_PgRGW8Ay3<>Ue$Vg%KCbLOB#rrqh}yd25XSgjTg0hgN- z8m?kzmoyyV(q%+J+jxA8G=+3V%I^KT2kQ!$`#J14iKIW8iyU7ym;cehyg@JLa4S|( z2It2M@`^rjBeC1>sNWR-BwamXZysS)UfH7H@TjuwjE*pJ7ko20KtP9M?0m2XuijSY zjwF0u4YV7iM$P{FrfO%xEC{-6d_T!J*nwZ3>P|WP$+Gf0>Eg1&mz=2gWZ#SOEBE)D zg2t+1H#Ntjs0exxt18#`gJ;?;ZY7gPy_lKP>)dWbPX#MV*YRj8eVqUZyH&X=OV^dY zpm7JNH}P~E$9wj{*|XWNL{6>vHE;AZPBseaCDz)>uskz5!+#p~Aq$fkud2N5V~=kw z4ih^I%ZJ&*??X-SsI|!%IPihOfFgcTNqx&(`e$@7KL=Yd+ORU5D&#W{kW$RZKn}xkTN5 zmTH6Fh32{(^q_YlcxdZ43>j21pO5w&uD6CU?npp!o*Z;f<< z{OQ+*j%B$D0{w}!{^dTNgY%h)aQ5+7z&`E0<7Sh6?wv zpD)lyYCvVDFthIM8~XUw41zFQb39BQZHMEuGB{EU4i2Z!#|H~-z$2s5ry3)r7$}n-18V|J5qi@UhRedckBf z6aH3wbJ`pEDE*=n#)>|#w@U(y$pHeSx~gr2wTb83FKa4)A-wnZQpL(md^TK0Dbtx(TPrIiB(uL>BoU1tyz<%E(NIbP zZS*-bg5trfogWCRJPocj43;{BaZFfmTyxBhQy~2T`Hb%vj8l-#IVbPJ@KlI8WjIoX zIu)IuN7l+5&NSo-8<(B`us*v-|3>;n6*bP{1U0tAE!G2^gYp0oC^# zeugMP5kG_9>C5le{!A1wR+b(G27&OE5abAmP!l71-HHI(ODtp70*Tx7T5Np-z+Z;= z#%%8?M_L-sfQx!MaI~9+QWxKdpTl%VjTg?=3&qSjXDfSTe6dATuQ2ar+Vibdx;1?? zsWE`|LakA&d>4Dw!+O=DLSV)_pF3;GfWgeIc;GuyGtM-XL9A7?=yrFCAaigWAuvxz z@G6A2)eN+BuF`ukz4(-+_*RqfbLQS=pPH)nY)~WK!*%twS@cRn>vQKBZ{c_VFYfw= zK5{CNxkrRU>c=|Y3^7Vza=KxAC^N==QjK8EWPOXn| zl7e@gw2d|633ikM@Ku^&pfGTs*vp+cEzQ>EugdyH;v*jMF*IJ*rv4!zhS*6#qq}VMVky1$B9{cC1r8 zGb|K3Bk^_JH7}hr&bD;_Ql%bH7XgK4MOnPZAQtu3=!)1dT+4uF_BKaNiOhjkWw?o? zhW3NV5#W(%vff84v7klKl7$Kv{ALK+XgLxQfc(^#aQ?uK&b{6{wt$=oMJf!j1+A*C|S9kejFEDp2wsYL0sp z+4KIiA6!w3`X!ONu1LR40L%m{VQYbn($vtn2+uxu+`C@|IslrtdFQ_>w0$DVzh=!d zRe7VS=P;_sSP7hZ3M$$>-lb~JxAd8)INe!CuU#BFTfD}sUF3J~(lFPz=yG=$1rq zQ5wq*>b;eRua^qW@($I9F*VmM+MPF-2Z=+xuUK6*N=^vi==^v&)-xp(sZbsQPwSYwx~td&D7S7MU84oeQ;PE1s4w_~jvy01=<@kFni-iz>Qr>tiO71^t_%V$#C{xCw$t<&t zD`;qPmxfByM{4jc9_gbj*#}zSv_++->B@`*&em0?G4p6eY?fIs^Hsl zzKuqMt&5Ug3m1Rd^KFXXv4u7g=ZVf;6NNBOh$r-~3q}F(UyFHa{rbOETitgzp6Kx7 zQN>zRD-jbUmOAIPyUn#KANPnMyQyY)y8nUfbWgjUO~r|$9@gQ2aaSDGz3T{|%~E^` z2um5FJdh7ur01JE)Esw2Fny*cT9B-4J{(6b4iuBa{UhN&HaJXNwfn+2?vtlP7;vSw z{{&z&D=wnrPnPUz!8(9ybG;~9Jf5c7?S$|Yz)+N~>hh$Q6RA7u z?GVEQ&-P})Bb>+_8l9)zF{U!>nX%MLZIGwvFg?GfXAm?&!RqgZmU7Cs#kET`Xc@Rj z03RvkpzCUsvC^dSUNFBtnaO4U?%hq!Hp4@iul(0g_=tb~V$K&z!R8uW-*@z`MR+4B zB(a`4+onOw^vGRNdrY)Cly=*RRxrTzRB&415VFwF8xB4!ju0EW^}hop?{ zG?V1!7xk3OmepMQ^e$L78B=ShdQ->|sI^1#+aMKcSM%JEZ22~aGQBA8g0H>u23E$z zOn-E(QhAIxhZ^HwkbEikCZ~>P&BHY<_@mDk*c>A=_$Mfua(OfDi|GW~-YlG`N4X2} zge4A95(LymHbTupiK+ls7JNrFu8<=xd~{q7fapUaB046iKaM!do!0AV#)7OH&=z{0vZq;NvRU>-(SM6BF7(hjkh-0x z<Y=i0g6 zEl(J*$ZdSefXwaHNK%zb+1w=Z$}}(pAAG~xIb*BMLj0j#i%pik10E4Hm^-A2)?K+C z*aVoZeY2()M&TO>`3p`t=vT$FQqT%XSu{{yHTbQe&{PYgN%tK1-vJ+YfEL6yRnjOk}VEux*I__39Ne+PH{Cd?^8WOx!=h-$h89^0mL}#-w0=0g< z#weLvoXp!(@VVONjYXfj45-VB{yWJ!o@Q`|#-=s~=h+s#{o-$Dy>WwR7j;7IOpGhrm5J}y&ycjCi#JQkf&r1Fl)O{y}_!jp*7r^SR)vb+@-IK zhWzJ_Yi;muhU9o47Bxz@EeVy z!h`B59@eP~AB+V+L6U+^3)j03sFJ5f1l7B5XjMkk7<7v#KzOnKzcmvN0A+vFQ)$l# z`n8C^e`AiP=PEX9e+UM9QmBt{gNT}>N?IyKd7{V@amt6ah3nlP&A7ChR`MYS?N zRCK=+)|ZY~1ZlK~{we6g7e>qurpuA+`DXl=E$+czigIi1d3@a}fcJOhnl846df&P? zEV(kFyLgRQyD#^k%kwYNn`spuIlBU8!Nd1D3hSiz#00euC-X*`MZan>rsf*R_b6t4 zGiML+A|XRQ0vMO925)9)FGk^0F#k|tB@`3~TDFuau)p`Pc06Eq5PD-t3O4U(;iAdl299nH~g&b+_T&(5l4atni@ z^m%mpJfoS~qlgFgf~$hP+0n3=ZO+EOOB2G*^0sIHaEV?isP<9cuUAbTObw|r=bNZv z0(eW5mo3aO5ODUURa#ikl|8iO^P)F7JBpoOk9hu9tkBr^nsp&d84?5odiHXwvsF5M zHjTSdiCMinh}Py;Y5FXKQGr*hKxY77DTv1t-`XIsY{IwtH9nnZ+nKk=%x9>u!c$0J z*BizUzWF^#OcCKw!cr{;O0R`VGZ%H@+Un3=%`UZ9Y6ZE1W%mly2czQAl! z1HeR$oeyt|(L8{+KG~t3PGYo=)W~NkYN2N4a7$FAO!ZY3$+e-h+C|b;MSZz)aHQ57 zFu3x0p?t|Yc7bL8uA$r2z+87HSrEvtO}$+#p!-0au*hvnjA*V^)Ukpl&2~*{f_Wg3 zSrh9mzzO*mA8x;RIvQGGVxm1Vc?kj&vK94eLHrZj?1W?5@~a6FF-;#I;}>X`P;7Bc&+KDO%otgJ;yS7Cxvn=v*o5nS!N6zZtI*GL zno1S^(bMrfw}9VXF6e@)b7GXE@wKlarL2AA;r_7fgClG07nQh{)w_x`%!kYbC+Js9 z65>zga|2`1F!jjnmGBjp#a%G)pG;vMl*^4oWVn~EgV!q7IO zR@LX!Ymomg!ytGq9apXLC1b3;@G-@H98TD_A4)wwga7PC1B&$3%^pNTr@%*!_cT*_W@xw1vwlfeP zn@(<)Cue~`y_1Xy}b{RZ3RJk zxo?XJ4;5zC+z+cc*ckWWSq z=3=B{v=eNu%#&8NOsHL&GVf)`S+i<Jq%X%ABvt{JhJo}{j9WvJ~uj^k? zG5;91>g($*pNv?(4a{5H(|`vyqMFs4xC+LR@+9>25mxx^pD1!A3a9IJOpTodQm}Gl z6{7=to9ah?2n`X}>J7#RQ*k&zxBF8A8&_40evgl-9v48u4L+C&UPZ|ehispMO+w%z zt`gvnfwI$zox|8;#Vtj$t^S9Hj;J*IQHIq?u$eNfA$^kX%GWa8t5#iBhzG@EraD9Y znh~k1yIZpRxP|$+JRj6)Arq z*x>PYM5>t9e!=uR6r~9)c_nJ_O{I?p=;Y9yaqnaY%@+D?z)|vmOD;2qW2`T z?aov&NvVkeRZys zj?;Ot2DBc@Gs2kclk{j!#?6U8H<_=(_+8s+%gDf2-!nsxidP#(Ts=M#Xk{GScN2z7 zYL;UqJXUS76n{Dm$=P)eon-yF>t-@(;J;sLMGN|*jrc^v&o6k(q^&e*c2!YG+l?wl zszp6NURoJ$4=+2aO=%6qalZ%qR zHs>p6!`BFRVi?UyF!s{*rx;ovQ>&@OnH;`*#-&gF4$%@(_lWYNLfrwW_OglEy*2Wb zdVP((hlNMBo7a-I?4-7Si`vX5g)fJ6{$MU~Ajo$M?B!m;x6UL+4{Z z&z$Q4<0ZQ(vzO=jyo?W%sCP-s$2#=tz-^IZf6s@X4op2o*es}+;#)V~_&lMFDnWLB z{qX3?Ka8tyCXNyd%F?|xZyJr`cvb@+eFkeN06zlXIEY=n)EEouUP??-L?$&?7%t;N`h{_G>nP6X9Jz7$w4hz?S}6Kn`s}8 zm?i$$@SQpgEW2{0)QQz;y!ImCC_Nj#Q+oBao#8$XNM+2}xd~fzMOT6i=slsB`SwW> z9gBqn9;n3mFvhZG`HE`k`u82E)W~g7sxfCvl31VpO_)qOwVCe41lMP%;79BEb6TDI z0(Nn@vm^n?1KGgnX;m(6kza|b#1v=d?p9sNC1T|pLGnSP8Dq-W_?qECp}W<%R`}~{ zA)k}+I*Z@yt1EVP7ISoD#13l%^m1;0@kx$<4z~;m<)fVBl143VJ2WI#vTHx!r)}09 z=-=P0)2_SBBu__P8oV%VL@%)dvl@Zf&32~=tdU?itfC^`O_V^x8dLXSQyyNYG$j+> z-BHgBiF5=2=E?cX{}*X7@0IkD^dajyy#BTw1$S*mwI7?i-O-gLcK2a+=AqJ?xu2Dq zig4yum&zJan&!h5BJ>bNV`&q$hr$D{znB&2d;Suhh$(!k>|%UojU1$+nUQ>6bu|3Y zH_Xl8q*@Rfdaxrmkrp?(%X)JzTVLE}u8H7$2{ZNH12%B+x~md_7P7zF?yYR%39Rdy z%y=CCONjTMUms450kgM0Ux`$T5OH1`vF2FiKpFClRQ}n-dyYp#4_obc?q4X4+@YW_ z6>Y|XzVvA`i0^zA`S`ooAu;n`kN+0iwU@dn4`l!@_km(uoTKC%c=V7R^~|m0=3U2! zcGV|vGhjd{y)C}~aCujKtb59~2e2*Vr4LTTnBFs_z9+hSDbu7H5;eWf#h3BB`p_-- zrj|7S$tx+(qxS;moTHMMR|$vD<5-WIW5!2xYHkrU2;7uI#5bSK`kfnU8JH7I7pN>fx)Hf1P=U&inmjT1xh`gD%b4yEJWIg%|4W<9R_pyI1w`AyPZeYB%YI2Fby2kf}#Fu>0zz zM1kWH7SLB_Xuo&fC8>}k{VQ09ecE%0=%c*t7yn0Vc%d?%ceks7i8W*n^F+RNq3w(% zpo}x4*~>F*kC1-Pg++!t?S-`uV}2(HKuK%qhpS5flYr;+v0bx?{PwT0PYnB1>Z z-1M#_6wl?iukh{p%6n6PMe~H5N}pldb4m!A>DNfte3v0{46}(|%#Nt8M2EDS_uO=d zn^Jh#Y4u93N53sSDBb3cU@Tg5Zk`<(aF|=*#r|*GA3s`MNq(#&!8@{B`aKSKd{UmT zby?tbn56J2NFX_UeUA9%hTecZWp`6|RE#M8I_&iXpPI-Db0eFSRgK?OT9{G&G}i2F zIOn}rS8&vioZZv@K8jZUs()85bdr_;#6T&0{bWPySI|^znCfq#6^fXjQb}Fa&c%Dn zR({RjMd%H4A6kA$C(CdF)+D)h;7Q6QO5UJ41%;J`4xM<7ZdNR7bP)1L3PDN@ce_ak zG}i`}?r7~EFaEyHuM=}LIlh;SKG(n=U=y5(_}5t2Mhh6izyI#StHlb}`~-$u`Rh4h zy7G3o3-6t!mIu_ga7n^LHPYC3Dx6#S_-HqpNMriUgXcuwesJ)8HUzABp34D(SR5Sm=SJ}P62banUE{r(+zWB8K6 zaZJ&?hxeGh53bhq#3~7E1fz&MD{U0JnG?RQF~l7nP-5G`?o}A#g3b9h*$n;n&*At* zDr6OkHLSDM4+R4jzw-E-KSe}BQTs?&>EjPB+f654*@&Hg^8|eVx$*S68%0t&mwxqE z>U;zj+3bJEi_Gy68a9H?&O?q!>HggJ%t#&%#2N+jomlv9u=KW#S%SpyS|~h{dhOYz zE^yDuxRlp#;BI$E;uL;Y1*TD(m;&mBn!-8EeVB;xY~fn&Gd#XsFEVJP*f0%FuE}Ax zX*kHs~Zkg5@vxht}!Jk-=Rj#J!pre zV6)+_qfx@+Y}f24nCXwxJsC&7y=RUUyJAjY6Gepmk7Z0*=D8Q&bb?aSilspvfkyG? zkkTmf2N%I>TPBV-GB9C|;WjmJ86BxB2VqSrCJzf;FoP&*sK3edEFWLTf^VI(WFqC= zh|I>@iFHA%6P;X4NY{VBaKf_O;~WKFagq%Qz7jQcb;R_kAe>6{rw{vsm>9vbr^iBO zLn_Kv^j2@vqgrhHftTk8xP(fn*BIyH$A6Qj-JRFiH!f^8$P4QC)~!n6xrma^)nMbn z6yW+t_we^_2V2nB%BgRx2Wj+#KpC&$j(%z#{^Ow zpNLR}uqry5T7M1Rn2#UU?zG?FZFl2h+e|-{`97XE&S&L4|EdMsZ{B)g6k4n(Ga=yR zvg2iy_##pc+JGES8{!WMQ-RhcnIr9{+k+)717to95i}0B2@5AE=(o$IHKV`4JHL2& zPg}jICVHCucc%n0HjbXHReN&8N&{J^d0zM$7d$9V%x!EuGVJY8eYMChqkN}h3qRBe z=fFFbC1rdEye9CI3~?WiK+VVmo6RK4`!68g>%A58#9PzQhhO2ohxW9uf4G%Tw8p7# zhiCBLq--K|?7us<4}++YTrjS@D6Z|+L)x~b-OdE)ltokxLj2SO-Y?lcsWTb>tDFhR zz6?MftMF)_5y8ajpZL*34;0dh8(~XU&q!^&Aj{c?#=_MSM-`Sh z{zB6lNI#2GWF8(ZVAPi%aNxtW3~?M>P2LKf=rS0}J$Iz(t?XGT_GTkD^ZhN+y%=+9 zy-6zllt{*PF5HXSzlhVmQsM|~6}lLB?_|JlOSHv7wDqrNHd)%{&yw z4|}URXG+$;FC;|$d^#5nN5VHo$%c$p;b}ic^%LIl$VXgBlWD4ghvZ01hrvHdoG&V+bN{X?%NZGrxD!!@w;%+Fn zWvZ;kNQLytBck06R9M^u%X&C;s@Wb^O&3j+A!fISFbzYWmSq=$)F|cv82J~h!y3JjNvbvyn9K*Ve9 ze&o=SzXnEVg?y*ru@IKU&xiJ=dC+#I`lM^V*LrTh|Af zq&cF43JGqC4#h*bXVSPsNBP}gd|qx*ue zk50OF9q+$B+0tL2v-aq&8ZFT4sA5pj52&PL`rRb;Gvcx!c37v@gJP)YRw9JlRin|E z?G&=4+jJ}A>(_2Owtva1Ps(}v$uMajnQw3;XBNfe7*CE4 zyWdHkNY1s-wIdceerMCh7|$MmL)luHC{*{{*B;!snCe2g{@2%kgUkP}l5LZP2#`=r zD2;{ZGVk(0R6<*-x?=QDMeC};0v~qE>1$3#bdvtENg}l<6L+~~tWF=_iB7|9O zg$bW0*V7&(`K;9>XN%lA(s9Nq&bJ4K%X1&+TIQ?CuW=2WhLbr?nX@}Pn%ws};pu0? z&J1>Lzr*5VK3@n>i&5{@zd8^8`*cGn?fB$?&*F0%p;y5*_fjt8-`pCT-PXUT3O7bl zr33@3`T|6jnPEqB@vx1ZDr}BoTsGvSE84q9vccu&Py3>&d0N86UAg0?^^KEikDgRn ztu@BoA(7{YIt4m|1Edc8KR&5q`I$%gBZ7(OvHibdaEJ0z_A=p59Auu@QmS;P!%5o4 z5?zJwB2JK};cm=wKbaP{a(hYco|9gwYD)YNOniCQR;;3ELI>*RUsCgX+b|(@*I;Wh z1@4#E$)c{*y+0H9B-ZZ&o4CLK%>4`FK+vq;+1$6sgR)XT*FG& zQrU>Cu6;F*w~h61W@q3^ok(z)+iT_E0jm8c3LTNsV*PeydMu$RG_)_r zMKS1D7GkOBoXY^&-g|33S&I6+a;F@bBnq}Gob91cukiSNIdkBTsICueD>?pVG$gEV zZI@4lo}fKnLp#^Y37HJ7NI}gfU$9HB3t?@O$6v>H{rA%d#X4dCH`~yCH6OV>e*Z`3 zt}J!_NrOwYcOfvZKiSB}&M60AhM5h)Q`;6X(28CHqYb)KA#&rKHRZ;^JUf)^24u2G z?2=8REX84|&@L$j>OyK3e?4&jYE5`Z@3IhvE4DK3 zkXVoS#eNmuH%SUYRIy?{4KMcIz6hYRzNLagt~`PKhKG>y$*{Uhoz6_gmysk~2rq>~Gr#UG&43ejRTH|5^0E`;5|c?`3$7%i5Wq zku>!W6G~Ly0>j}!?c&u3X}N(kI2xg0u>~E?VSd%T(j>)^_w2nN5E51}%kKOgJbW&k zCEf{;R()`kE6=hgt6a9V{|g-c*imZ1IcrtcU&RI5!FI;{+&GW^G_o7luaIKqT}LUf zD-7Rs253CaH4JzF_qHNs2ifx!TxU` zybs6E2IBcFxPYOmG09pC+s?oQe);L+UTjq$_*~0aYS8Np@M-x-SEF8vk^iOTF)Q1X zI>|p)eC?YI<3UJZdxqi@xFBfVdHYUBm82c)SM9}I9vLqNPEv9f$M2U%e|jw_8KL7B zn>%{dy1C|Dl@Nbgb^q1BSH{04vX#w|WELCzDl#--KYOINV@o6WpH1$mAGhvS#c|K1gP=&=D6hfw+S9m zCwhA{rB|ur_m}(;nxkIVT1J961HF#n8#7`XM}O>Ee_HJ9#)r(0UZxH}=f9h2h4KrX zroABFe57CVi2D)vb@iM-k}`#t2Xx)sNeH?Q$o2f z{(E;r?AX(yw|%*5FVzN=PQCjL&soJSl%Xji_U~kKids7-w>(lA3kx%*mQM}@agFaj z=~MGW9z%3Gw5N70JgT z_)?Y?@LilUi!qQ}*?M0D{P$30qWrnBn4+UuFN=hZNUtPt8T&>W_ddjl3D`3n@g?*! z?Shu%b_b)v*1Ln2NRiQ(a?VWSSN~UZZVlbA#A)fBbGN0Tz)hIK;q~-vH#WN$oMdt> zQbGUSgXq11DE-s3_^pR&tNEvTe#X8&Rm1Sd0?19W1(;-knkzglcbDwtGFl3Nh@`Fe zAXrDy1YzgX2oPoyp)Nh8V8YeEV3H|y1Nu#Dct``iqjzpg(H}em8wxh2eb4@)Wvhy4 zxS3nJY|YS>#5jgKkzE$x4Z%U*06+$68*~d1u{rT@p7^Z(1w7Hyn^qunLrn};Gi|LJ6Q$MSZiiR - - diff --git a/src/pages/Coupons/Coupons.js b/src/pages/Coupons/Coupons.js deleted file mode 100644 index 3cff00b..0000000 --- a/src/pages/Coupons/Coupons.js +++ /dev/null @@ -1,55 +0,0 @@ -import "./Coupons.scss"; -import notMember from "./notMember.png"; -import Modal from "react-modal"; -import { useState } from "react"; -import ShopTabs from "./ShopTabs/ShopTabs"; -import CouponList from "./CouponList/CouponList"; -import ShopManager from "./ShopManager/ShopManager"; - -const Coupons = ({ show, memberID, isShop = false }) => { - const isNotMember = !memberID; - const [showCoupons, setShowCoupons] = useState(true); - return ( - - {isNotMember ? ( -
- -
-
{ - window.wx.miniProgram.redirectTo({ - url: `/pages/login/index`, - }); - }} - > - 注册/登录 -
- 后,可查看优惠卷 -
-
- ) : ( - <> - {isShop && ( - - )} - {(!isShop || (isShop && showCoupons)) && ( - - )} - {isShop && !showCoupons && ( - - )} - - )} -
- ); -}; -export default Coupons; diff --git a/src/pages/Coupons/Coupons.scss b/src/pages/Coupons/Coupons.scss deleted file mode 100644 index a97c912..0000000 --- a/src/pages/Coupons/Coupons.scss +++ /dev/null @@ -1,69 +0,0 @@ -.Coupons { - position: absolute; - top: 0; - left: 0; - right: 0; - bottom: 98px; - z-index: 100000; - background: #f6f6f6; - pointer-events: auto; - display: flex; - flex-direction: column; - align-items: center; - .notMember { - display: flex; - flex-direction: column; - width: calc(100vw - 20px); - height: 396px; - border-radius: 18px; - background: #ffffff; - align-items: center; - .bg { - margin: auto; - width: 250px; - height: 250px; - margin-top: 16px; - } - .meta { - width: calc(100vw - 46px); - flex: 0 0 90px; - border-top: 1px solid #f5f5f5; - display: flex; - font-weight: 400; - font-size: 17px; - line-height: 22px; - color: #9d988f; - height: 90px; - justify-content: center; - align-items: center; - .btn { - color: #437af7; - } - } - } - .shopTabs { - display: flex; - width: calc(100vw - 20px); - height: 56px; - background: #ffffff; - border-radius: 12px; - padding: 4px; - .tab { - display: flex; - flex: 1; - height: 48px; - font-weight: 500; - font-size: 16px; - line-height: 22px; - color: #68655e; - justify-content: center; - align-items: center; - border-radius: 8px; - &.active { - color: #ffffff; - background: #daba7f; - box-shadow: 0px 6px 12px rgba(214, 154, 66, 0.3); - } - } - } -} diff --git a/src/pages/Coupons/ListEnd/ListEnd.js b/src/pages/Coupons/ListEnd/ListEnd.js deleted file mode 100644 index 3fc269a..0000000 --- a/src/pages/Coupons/ListEnd/ListEnd.js +++ /dev/null @@ -1,4 +0,0 @@ -import bg from "./bg.svg"; -import "./ListEnd.scss"; -const ListEnd = () => ; -export default ListEnd; diff --git a/src/pages/Coupons/ListEnd/ListEnd.scss b/src/pages/Coupons/ListEnd/ListEnd.scss deleted file mode 100644 index e1e9a19..0000000 --- a/src/pages/Coupons/ListEnd/ListEnd.scss +++ /dev/null @@ -1,5 +0,0 @@ -.ListEnd { - margin-top: 24px; - width: 62px; - height: 40px; -} diff --git a/src/pages/Coupons/ListEnd/bg.svg b/src/pages/Coupons/ListEnd/bg.svg deleted file mode 100644 index 86376a8..0000000 --- a/src/pages/Coupons/ListEnd/bg.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/src/pages/Coupons/Qrcode/Qrcode.js b/src/pages/Coupons/Qrcode/Qrcode.js deleted file mode 100644 index 30e4fd7..0000000 --- a/src/pages/Coupons/Qrcode/Qrcode.js +++ /dev/null @@ -1,25 +0,0 @@ -import QRCode from "qrcodejs2"; -import { useRef, useEffect } from "react"; -const Qrcode = ({ size, text, className }) => { - const ref = useRef(); - - useEffect(() => { - const domEl = ref.current; - domEl.innerHTML = ""; - new QRCode(domEl, { - width: size, - height: size, - text, - colorDark: "#000", - colorLight: "#fff", - }); - }, [ref]); - return ( -
- ); -}; -export default Qrcode; diff --git a/src/pages/Coupons/Qrcode/Qrcode.scss b/src/pages/Coupons/Qrcode/Qrcode.scss deleted file mode 100644 index e69de29..0000000 diff --git a/src/pages/Coupons/ScanModal/ScanModal.js b/src/pages/Coupons/ScanModal/ScanModal.js deleted file mode 100644 index 489fe46..0000000 --- a/src/pages/Coupons/ScanModal/ScanModal.js +++ /dev/null @@ -1,59 +0,0 @@ -import "./ScanModal.scss"; -import Modal from "react-modal"; -import { useState, useEffect } from "react"; -import { Html5Qrcode } from "html5-qrcode"; - -const ScanModal = ({ onBack, onCode }) => { - const [loaded, setLoaded] = useState(false); - - const toast = (text) => - window.weui.toast(text, { - className: "toast", - }); - - useEffect(() => { - if (loaded) { - const dom = document.getElementById("qrcode-scaner"); - const html5QrCode = new Html5Qrcode("qrcode-scaner"); - html5QrCode - .start( - { facingMode: "environment" }, - { fps: 10, qrbox: { width: 280, height: 280 } }, - (code) => { - html5QrCode.stop(); - onCode && onCode(code); - } - ) - .catch(() => { - toast("启动二维码扫描失败"); - onBack && onBack(); - }); - return () => { - html5QrCode.stop(); - }; - } - }, [loaded]); - return ( - setLoaded(true)} - isOpen - ariaHideApp={false} - className="ScanModal" - > -
-
-
-
-
onBack && onBack()}> - 手动输入券码 -
-
onBack && onBack()}>
-
- ); -}; -export default ScanModal; diff --git a/src/pages/Coupons/ScanModal/ScanModal.scss b/src/pages/Coupons/ScanModal/ScanModal.scss deleted file mode 100644 index d198a30..0000000 --- a/src/pages/Coupons/ScanModal/ScanModal.scss +++ /dev/null @@ -1,72 +0,0 @@ -.ScanModal { - position: absolute; - top: 0; - bottom: 0; - left: 0; - right: 0; - background: #353230; - overflow: hidden; - .back { - position: absolute; - bottom: 48px; - left: 0; - right: 0; - margin: auto; - width: 48px; - height: 48px; - background: center / cover no-repeat url(./close.svg); - } - .btn { - position: absolute; - height: 56px; - left: 29px; - right: 28px; - bottom: 130px; - background: #ffffff; - border-radius: 10px; - font-weight: 600; - font-size: 16px; - line-height: 22px; - color: #437af7; - display: flex; - justify-content: center; - align-items: center; - } - .border { - position: absolute; - top: 94px; - left: 0; - right: 0; - margin: auto; - width: 320px; - height: 320px; - background: center / cover no-repeat url(./border.svg); - overflow: hidden; - display: flex; - justify-content: center; - align-items: center; - @keyframes scaner { - 0% { - top: -74px; - } - 100% { - top: 320px; - } - } - .scaner { - position: absolute; - left: 0; - right: 0; - width: 320px; - height: 74px; - background: center / cover no-repeat url(./scaner.svg); - animation: 1s scaner infinite ease-in-out; - z-index: 2; - } - .container { - width: 280px; - height: 280px; - overflow: hidden; - } - } -} diff --git a/src/pages/Coupons/ScanModal/back.svg b/src/pages/Coupons/ScanModal/back.svg deleted file mode 100644 index 3a2dcd6..0000000 --- a/src/pages/Coupons/ScanModal/back.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/src/pages/Coupons/ScanModal/border.svg b/src/pages/Coupons/ScanModal/border.svg deleted file mode 100644 index 0533ee6..0000000 --- a/src/pages/Coupons/ScanModal/border.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/src/pages/Coupons/ScanModal/close.svg b/src/pages/Coupons/ScanModal/close.svg deleted file mode 100644 index 5a04b4a..0000000 --- a/src/pages/Coupons/ScanModal/close.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/src/pages/Coupons/ScanModal/scaner.svg b/src/pages/Coupons/ScanModal/scaner.svg deleted file mode 100644 index 0184e9b..0000000 --- a/src/pages/Coupons/ScanModal/scaner.svg +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/src/pages/Coupons/ShopManager/ShopManager.js b/src/pages/Coupons/ShopManager/ShopManager.js deleted file mode 100644 index eb63e79..0000000 --- a/src/pages/Coupons/ShopManager/ShopManager.js +++ /dev/null @@ -1,130 +0,0 @@ -import "./ShopManager.scss"; -import noDataPic from "./noDataPic.png"; -import { post } from "../../../js/helpers/data-helper"; -import InfiniteScroll from "react-infinite-scroller"; -import { useState, useRef, useCallback } from "react"; -import ListEnd from "../ListEnd/ListEnd"; -import ApplyModal from "../ApplyModal/ApplyModal"; -import WriteOffModal from "../WriteOffModal/WriteOffModal"; - -const stateMap = { - 0: "待审核", - 1: "已发布", - 2: "已拒绝", -}; - -const ShopManager = ({ memberID }) => { - const [list, setList] = useState([]); - const [nextPageIndex, setNextPageIndex] = useState(1); - const [loading, setLoading] = useState(false); - - const [showApplyModal, setShowApplyModal] = useState(false); - const [showWriteOffModal, setShowWriteOffModal] = useState(false); - const listRef = useRef(); - const showNoData = !loading && list.length === 0; - const showListEnd = !loading && list.length > 0; - - const hasMore = nextPageIndex !== null; - - const loadMore = useCallback(async () => { - if (loading || nextPageIndex === null) return; - setLoading(true); - try { - const { code, data, msg } = await post("/api/coupon/ApplyedList", { - paging: 1, - pageIndex: nextPageIndex, - pageSize: 10, - memberID, - }); - if (code === "200") { - setList([...list, ...data.list]); - setNextPageIndex( - nextPageIndex + 1 > data.allPage ? null : nextPageIndex + 1 - ); - } else { - setNextPageIndex(null); - window.weui.toast(msg, { - className: "toast", - }); - } - } catch (error) { - setNextPageIndex(null); - } finally { - setLoading(false); - } - }, [list, loading, nextPageIndex]); - return ( -
-
-
setShowApplyModal(true)}> - 申请 -
-
setShowWriteOffModal(true)}> - 核销 -
-
- -
- listRef && listRef.current} - > - {showNoData && ( - <> - -
- 当前您还未发布礼券,请先申请,等待后台申请通过后,刷新页面显示 -
- - )} - {list !== null && - list.map((coupon) => ( -
-
-
礼券标题
-
{coupon.title}
-
-
-
发放数量
-
{coupon.totalCount}
-
- {coupon.state === 1 && ( -
-
已领取数
-
{coupon.received}
-
- )} -
-
使用期限
-
- {coupon.beginTime}至{coupon.endTime} -
-
-
{stateMap[coupon.state]}
-
- ))} - {showListEnd && } -
-
- {showApplyModal && ( - { - setShowApplyModal(false); - setList([]); - setNextPageIndex(1); - }} - memberID={memberID} - > - )} - {showWriteOffModal && ( - setShowWriteOffModal(false)} - memberID={memberID} - > - )} -
- ); -}; -export default ShopManager; diff --git a/src/pages/Coupons/ShopManager/ShopManager.scss b/src/pages/Coupons/ShopManager/ShopManager.scss deleted file mode 100644 index 145443b..0000000 --- a/src/pages/Coupons/ShopManager/ShopManager.scss +++ /dev/null @@ -1,132 +0,0 @@ -.ShopManager { - flex: 1; - display: flex; - flex-direction: column; - background: linear-gradient( - 180deg, - #f2f2f2 0%, - rgba(249, 249, 249, 0) 20.18% - ); - border-radius: 18px 18px 0 0; - padding-top: 10px; - width: 100vw; - align-items: center; - overflow: hidden; - .btns { - display: flex; - margin-bottom: 10px; - width: calc(100vw - 20px); - .btn { - display: flex; - flex: 1; - font-weight: 400; - font-size: 17px; - color: #353230; - height: 48px; - background: #ffffff; - border-radius: 10px; - justify-content: center; - align-items: center; - } - .btn + .btn { - margin-left: 9px; - } - } - .noDataPic { - margin-top: 64px; - width: 250px; - height: 250px; - } - .noDataText { - margin: 0 43px; - font-weight: 400; - font-size: 17px; - line-height: 22px; - text-align: center; - color: #68655e; - } - .list-container { - flex: 1; - overflow-x: hidden; - overflow-y: scroll; - padding-top: 16px; - text-align: center; - scroll-behavior: smooth; - - &::-webkit-scrollbar { - display: none; - } - .coupon { - position: relative; - width: calc(100vw - 20px); - border-radius: 16px; - overflow: hidden; - padding: 24px; - .row { - height: 50px; - border-bottom: 1px solid rgba(240, 240, 240, 0.4); - - .r1 { - font-weight: 400; - font-size: 15px; - line-height: 20px; - color: #9d988f; - text-align: left; - } - .r2 { - font-weight: 600; - font-size: 17px; - line-height: 22px; - color: #353230; - margin-top: 6px; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; - text-align: left; - } - } - .row + .row { - margin-top: 10px; - } - .status { - position: absolute; - width: 72px; - height: 32px; - top: 0; - right: 0; - display: flex; - font-weight: 600; - font-size: 13px; - line-height: 18px; - color: #ffffff; - border-radius: 0px 0px 0px 14px; - justify-content: center; - align-items: center; - } - &.status0 { - background: linear-gradient(241.87deg, #ffffff 2.89%, #fffbf8 97.29%); - .status { - background: linear-gradient(90deg, #ecd3a6 5.56%, #dbb979 100%); - box-shadow: 4px 6px 18px rgba(214, 162, 101, 0.3); - } - } - &.status1 { - background: linear-gradient(241.87deg, #ffffff 2.89%, #fefff8 97.29%); - .status { - background: linear-gradient(270.4deg, #71c956 0.27%, #7add83 87.87%); - box-shadow: 4px 6px 18px rgba(151, 214, 101, 0.3); - } - } - &.status2 { - background: linear-gradient(241.87deg, #ffffff 2.89%, #fffafa 97.29%); - .status { - background: linear-gradient(270deg, #e76464 3.47%, #ffa0a0 90.28%); - box-shadow: 4px 6px 18px rgba(214, 101, 122, 0.3); - } - } - } - .coupon + .coupon { - margin-top: 8px; - } - } -} diff --git a/src/pages/Coupons/ShopManager/noDataPic.png b/src/pages/Coupons/ShopManager/noDataPic.png deleted file mode 100644 index 3885857fc199236224653f413dd12c0f31c4d9bb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 42810 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�omKQxxfSbZeC!$);W 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 { - return ( -

-
setShowCoupons(true)} - > - - 我的礼包 -
-
setShowCoupons(false)} - > - - 券管家 -
-
- ); -}; -export default ShopTabs; diff --git a/src/pages/Coupons/ShopTabs/ShopTabs.scss b/src/pages/Coupons/ShopTabs/ShopTabs.scss deleted file mode 100644 index 97e7fda..0000000 --- a/src/pages/Coupons/ShopTabs/ShopTabs.scss +++ /dev/null @@ -1,32 +0,0 @@ -.ShopTabs { - display: flex; - width: calc(100vw - 20px); - height: 56px; - background: #ffffff; - border-radius: 12px; - padding: 4px; - margin-bottom: 16px; - margin-top: 10px; - .tab { - display: flex; - flex: 1; - height: 48px; - font-weight: 500; - font-size: 16px; - line-height: 22px; - color: #68655e; - justify-content: center; - align-items: center; - border-radius: 8px; - img { - width: 20px; - height: 20px; - margin-right: 8px; - } - &.active { - color: #ffffff; - background: linear-gradient(180deg, #508af7 0%, #5ea5f9 100%); - box-shadow: 0px 6px 12px rgba(93, 172, 249, 0.2); - } - } -} diff --git a/src/pages/Coupons/ShopTabs/card.svg b/src/pages/Coupons/ShopTabs/card.svg deleted file mode 100644 index 3849560..0000000 --- a/src/pages/Coupons/ShopTabs/card.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/src/pages/Coupons/ShopTabs/cardActive.svg b/src/pages/Coupons/ShopTabs/cardActive.svg deleted file mode 100644 index 7d37ed3..0000000 --- a/src/pages/Coupons/ShopTabs/cardActive.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/src/pages/Coupons/ShopTabs/ticket.svg b/src/pages/Coupons/ShopTabs/ticket.svg deleted file mode 100644 index f808ff1..0000000 --- a/src/pages/Coupons/ShopTabs/ticket.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/src/pages/Coupons/ShopTabs/ticketActive.svg b/src/pages/Coupons/ShopTabs/ticketActive.svg deleted file mode 100644 index add8d1a..0000000 --- a/src/pages/Coupons/ShopTabs/ticketActive.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/src/pages/Coupons/WriteOffModal/WriteOffModal.js b/src/pages/Coupons/WriteOffModal/WriteOffModal.js deleted file mode 100644 index 87d37e1..0000000 --- a/src/pages/Coupons/WriteOffModal/WriteOffModal.js +++ /dev/null @@ -1,148 +0,0 @@ -import "./WriteOffModal.scss"; -import Modal from "react-modal"; -import { useState, useRef, useEffect, useCallback } from "react"; -import { post } from "../../../js/helpers/data-helper"; -import ScanModal from "../ScanModal/ScanModal"; -import InfiniteScroll from "react-infinite-scroller"; -import ListEnd from "../ListEnd/ListEnd"; - -const WriteOffModal = ({ onBack, memberID }) => { - const [orderNo, setOrderNo] = useState(""); - const [showScanModal, setShowScanModal] = useState(false); - const [list, setList] = useState([]); - const [nextPageIndex, setNextPageIndex] = useState(1); - const [loading, setLoading] = useState(false); - const hasMore = nextPageIndex !== null; - const [allCount, setAllCount] = useState(0); - const [month, setMonth] = useState(new Date().toJSON().slice(0, 7)); - const showListEnd = list !== null && list.length > 0; - const listRef = useRef(); - - const loadMore = useCallback(async () => { - if (loading || nextPageIndex === null) return; - setLoading(true); - try { - const { code, data, msg } = await post("/api/Coupon/WriteOffHis", { - paging: 1, - pageIndex: nextPageIndex, - pageSize: 10, - memberID, - month, - }); - if (code === "200") { - setList([...list, ...data.list]); - setNextPageIndex( - nextPageIndex + 1 > data.allPage ? null : nextPageIndex + 1 - ); - setAllCount(data.allCount); - } else { - setNextPageIndex(null); - window.weui.toast(msg, { - className: "toast", - }); - } - } catch (error) { - setNextPageIndex(null); - } finally { - setLoading(false); - } - }, [list, loading, nextPageIndex]); - - useEffect(() => { - if (listRef.current) listRef.current.scrollTop = 0; - setNextPageIndex(1); - setAllCount(0); - setList([]); - }, [month]); - - const toast = (text) => - window.weui.toast(text, { - className: "toast", - }); - const writeOff = async (orderNo) => { - try { - const { code, msg } = await post("/api/coupon/writeoffcoupon", { - orderNo, - memberID, - }); - if (code === "200") { - toast("核销成功"); - return true; - } else { - toast(msg); - return false; - } - } catch (error) { - return false; - } - }; - const submitFromBtn = async (orderNo) => { - const result = await writeOff(orderNo); - if (result) { - setOrderNo(""); - } - }; - const handleCode = async (orderNo) => { - await writeOff(orderNo); - setShowScanModal(false); - }; - return ( - -
onBack && onBack()}>
-
核销
-
-
- setOrderNo(e.target.value)} - > -
-
setShowScanModal(true)}>
- {!!orderNo && ( -
submitFromBtn(orderNo)}> - 确认核销 -
- )} -
-
已核销({allCount}张)
- setMonth(e.target.value)} - > -
-
- listRef && listRef.current} - > - {list !== null && - list.map((coupon) => ( -
-
-
礼券标题
-
{coupon.title}
-
-
-
核销时间
-
{coupon.writeOffTime}
-
-
- ))} - {showListEnd && } -
-
- {showScanModal && ( - setShowScanModal(false)} - onCode={handleCode} - > - )} -
- ); -}; -export default WriteOffModal; diff --git a/src/pages/Coupons/WriteOffModal/WriteOffModal.scss b/src/pages/Coupons/WriteOffModal/WriteOffModal.scss deleted file mode 100644 index 83d9035..0000000 --- a/src/pages/Coupons/WriteOffModal/WriteOffModal.scss +++ /dev/null @@ -1,162 +0,0 @@ -.WriteOffModal { - position: absolute; - top: 0; - bottom: 0; - left: 0; - right: 0; - background: #f6f6f6; - overflow: hidden; - .back { - position: absolute; - top: 10px; - left: 10px; - width: 60px; - height: 60px; - background: center / cover no-repeat url(./back.svg); - } - .title { - position: absolute; - top: 28px; - right: 16px; - font-style: normal; - font-weight: 600; - font-size: 20px; - line-height: 25px; - color: #000000; - } - .search { - position: absolute; - top: 94px; - left: 10px; - right: 108px; - background: #ffffff; - border-radius: 10px; - height: 60px; - overflow: hidden; - .icon { - position: absolute; - top: 14px; - left: 14px; - width: 47px; - height: 32px; - background: center / cover no-repeat url(./search.svg); - } - input { - position: absolute; - left: 75px; - right: 0; - top: 0; - bottom: 0; - margin: auto; - font-weight: 600; - font-size: 16px; - line-height: 22px; - border: none; - outline: none; - color: #353230; - &::placeholder { - color: #dad7d1; - } - } - } - .scan { - position: absolute; - top: 94px; - right: 16px; - width: 80px; - height: 60px; - background: center / cover no-repeat url(./scan.svg); - } - .btn { - position: absolute; - height: 56px; - left: 29px; - right: 28px; - bottom: 126px; - font-weight: 600; - font-size: 16px; - line-height: 22px; - text-align: center; - color: #ffffff; - background: linear-gradient(180deg, #508af7 0%, #5ea5f9 100%); - box-shadow: 0px 6px 12px rgba(93, 172, 249, 0.2); - border-radius: 10px; - display: flex; - justify-content: center; - align-items: center; - z-index: 1; - } - .bar { - position: absolute; - top: 178px; - left: 24px; - right: 24px; - height: 20px; - font-weight: 600; - font-size: 15px; - line-height: 20px; - color: #353230; - display: flex; - justify-content: space-between; - input { - outline: none; - border: none; - background: none; - } - &::after { - content: ""; - position: absolute; - left: -8px; - bottom: -8px; - right: -5px; - height: 1px; - background: #dad7d1; - opacity: 0.6; - } - } - .list-container { - position: absolute; - top: 206px; - bottom: 0px; - left: 10px; - right: 10px; - overflow-x: hidden; - overflow-y: scroll; - text-align: center; - &::-webkit-scrollbar { - display: none; - } - .coupon { - height: 170px; - background: #ffffff; - border-radius: 16px; - padding: 24px; - margin-top: 10px; - .block { - height: 54px; - border-bottom: 1px solid rgba(240, 240, 240, 0.4); - text-align: left; - .r1 { - font-weight: 400; - font-size: 15px; - line-height: 20px; - color: #9d988f; - } - .r2 { - font-style: normal; - font-weight: 600; - font-size: 17px; - line-height: 22px; - color: #353230; - margin-top: 6px; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; - } - } - .block + .block { - margin-top: 16px; - } - } - } -} diff --git a/src/pages/Coupons/WriteOffModal/back.svg b/src/pages/Coupons/WriteOffModal/back.svg deleted file mode 100644 index 3a2dcd6..0000000 --- a/src/pages/Coupons/WriteOffModal/back.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/src/pages/Coupons/WriteOffModal/scan.svg b/src/pages/Coupons/WriteOffModal/scan.svg deleted file mode 100644 index f1f6ac9..0000000 --- a/src/pages/Coupons/WriteOffModal/scan.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/src/pages/Coupons/WriteOffModal/search.svg b/src/pages/Coupons/WriteOffModal/search.svg deleted file mode 100644 index 6bb0074..0000000 --- a/src/pages/Coupons/WriteOffModal/search.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/src/pages/Coupons/notMember.png b/src/pages/Coupons/notMember.png deleted file mode 100644 index fe86524d8859aa0905898c15be191ceb5d3cc0d7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 63742 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
!^~h@*=8lOxqp$d!<7cO8T}So!q$-%kV&kk= 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 P3esdH6(wrKjDr3@bS{LF diff --git a/src/pages/Index/Index.js b/src/pages/Index/Index.js index 52c3063..b83f2f2 100644 --- a/src/pages/Index/Index.js +++ b/src/pages/Index/Index.js @@ -1,7 +1,7 @@ import React, { useState, useEffect, useReducer, useRef } from "react"; import Qmmap from "qmmap"; import { useHistory, useLocation } from "react-router-dom"; -import { getMallInfo, post } from "../../js/helpers/data-helper"; +import { getMallInfo } from "../../js/helpers/data-helper"; import "./Index.scss"; import Floors from "../../components/Floors/Floors"; import HeadBar from "../../components/HeadBar/HeadBar"; @@ -17,12 +17,6 @@ import DefaultPopup, { } from "../../components/DefaultPopup/DefaultPopup"; import More from "../../components/More/More"; import arpng from "./ar.png"; -import Car from "../Car/Car"; -import axios from "axios"; -import Activities from "../Activities/Activities"; -import Coupons from "../Coupons/Coupons"; -import TabMap from "./tabs/Tabs"; -import ShopCoupons from "../ShopCoupons/ShopCoupons"; export const MallCode = React.createContext(null); // const vConsole = new window.VConsole(); @@ -74,26 +68,7 @@ const Index = () => { const [ARshop, setARShop] = useState(null); const [isTyping, setIsTyping] = useState(null); const [showFindCar, setShowFindCar] = useState(false); - const [showActivities, setShowActivities] = useState(false); - const [showCoupon, setShowCoupon] = useState(false); - const [tab, setTab] = useState("地图"); - const [couponShop, setCouponShop] = useState(null); - const [initActivity, setInitActivity] = useState(null); - const showShopCoupons = !!couponShop; - const hasTab = mall && mall.menu.length > 1; - const setStatistics = mall - ? ({ userId, navType, pointType, objectCode, objectName, floorName }) => - axios.post(mall.baseUrl + "/Api/Statistics/AddGuideRecord", { - mallCode: mall.code, - userId, - navType, - pointType, - objectCode, - objectName, - floorName, - }) - : undefined; useEffect(() => { if (shop) { const e = shop.houseNum @@ -131,17 +106,6 @@ const Index = () => { } if (!endId) return; if (endId === "findcar") return setShowFindCar(true); - if (endId === "me") return setTab("我的"); - if (endId.startsWith && endId.startsWith("activities")) { - setTab("活动"); - if (endId === "activities") return; - else { - const code = endId.replace("activities", ""); - const activity = mall.activities.find((act) => act.code === code); - if (activity) setInitActivity(activity); - return; - } - } if (mall.mcShopIDHouseNumMap && mall.mcShopIDHouseNumMap[endId]) endId = mall.mcShopIDHouseNumMap[endId]; @@ -430,21 +394,12 @@ const Index = () => { const isShop = "intro" in end; const isP = end.isP; const isDevice = end.isDevice; - setStatistics({ - userId: openid, - navType: 2, - pointType: isShop || isDevice ? "1" : isP ? "3" : "2", - objectCode: isShop ? end.code : isP ? end.houseNum : end.Type, - objectName: end.name, - floorName: end.floorName || mall.floors[end.floorOrder][1], - }); } } }, [navigation]); useEffect(() => { if (mallInfo) { - setTab(mall.menu[0].name); loadMap(); } }, [mallInfo]); @@ -465,38 +420,11 @@ const Index = () => { } }, [map]); - useEffect(() => { - switch (tab) { - case "活动": - setShowFindCar(false); - setShowCoupon(false); - setShowActivities(true); - break; - case "地图": - setShowFindCar(false); - setShowCoupon(false); - setShowActivities(false); - break; - case "寻车": - setShowCoupon(false); - setShowActivities(false); - setShowFindCar(true); - break; - case "我的": - setShowActivities(false); - setShowFindCar(false); - setShowCoupon(true); - break; - default: - break; - } - }, [tab]); - return (
{ : "") } > - {showShopCoupons && ( - - setCouponShop(null)} - shop={couponShop} - > - - )} - {showActivities && ( - - setTab("地图")} - facilities={facilities} - onGo={(fac) => { - setTab("地图"); - map && map.focusFacilityById(fac.id); - }} - > - - )} - {showFindCar && mall && ( - - name === "寻车")?.specialType === 1 - } - plate={plate} - lots={mall.lots} - onBack={() => setTab("地图")} - onLot={(e) => { - setDoFocus(2); - map.focusPByHouseNum(e); - setTab("地图"); - }} - > - - )} - {showARPrompt && ( - - -
即将离开模拟导航 进入AR导航
-
是否要继续?
-
-
setShowARPrompt(false)}> - 取消 -
-
{ - if (openid && openid !== "null") { - const isShop = "intro" in ARshop; - const isP = ARshop.isP; - const isDevice = ARshop.isDevice; - setStatistics({ - userId: openid, - navType: 1, - pointType: isShop || isDevice ? "1" : isP ? "3" : "2", - objectCode: isShop - ? ARshop.code - : isP - ? ARshop.houseNum - : ARshop.Type, - objectName: ARshop.name, - floorName: - ARshop.floorName || mall.floors[ARshop.floorOrder][1], - }); - } - setShowARPrompt(false); - window.wx.miniProgram.redirectTo({ - url: `/pages/index/index?e=${ - ARshop.houseNum - ? ARshop.houseNum - : ARshop.isDevice - ? `${ARshop.floorOrder}_${ARshop.navPoint}_${ARshop.name}` - : encodeURIComponent(ARshop.id) - }&searchType=${searchType}`, - }); - }} - > - 确定 -
-
-
- )} {!online && ( { )} -
{!(start || end) && ( -
{ - const { msg } = await post("/Api/Operation/GetUserAward", { - memberID, - poiCode: "97be8faa6ab34e08864bf2b1c231e6ab", - }); - window.weui.toast(msg, { - className: "toast", - }); - }} - > +
图左 {mall && mall.city}
@@ -756,7 +547,6 @@ const Index = () => { defaultPopup={ showDefaultPopup && ( { sceneIndex={sceneIndex} setSceneIndex={setSceneIndex} isNavEnd={isNavEnd} - onActivity={() => { - setShowActivities(true); - }} mall={mall} hasCoupon={hasCoupon} > @@ -823,9 +610,6 @@ const Index = () => { setARShop(shop); setShowARPrompt(true); }} - onClickCoupon={() => { - setCouponShop(shop); - }} > {showNav && ( { 开始导航
)} - {mall && mall.menu.length > 1 && ( -
- {mall.menu.map(({ name, alias }) => { - const isActive = tab === name; - return ( -
setTab(name)} - > - - {alias || name} -
- ); - })} -
- )}
); diff --git a/src/pages/ShopCoupons/ShopCoupons.js b/src/pages/ShopCoupons/ShopCoupons.js deleted file mode 100644 index ecbc7b6..0000000 --- a/src/pages/ShopCoupons/ShopCoupons.js +++ /dev/null @@ -1,121 +0,0 @@ -import "./ShopCoupons.scss"; -import { useState, useEffect } from "react"; -import { post } from "../../js/helpers/data-helper"; - -const ShopCoupons = ({ onBack, shop, memberID }) => { - const [coupons, setCoupons] = useState([]); - const [receiving, setReceiving] = useState(false); - const getList = async () => { - try { - const { code, data, msg } = await post( - "/Api/Coupon/ShopDetailCouponList", - { - paging: 0, - memberID, - shopCode: shop.code, - } - ); - if (code !== "200") - window.weui.toast(msg, { - className: "toast", - }); - else setCoupons(data); - } catch (error) { - console.warn(error); - } - }; - useEffect(() => { - getList(); - }, []); - const receive = async (coupon) => { - setReceiving(true); - try { - const { code, data, msg } = await post("/Api/Coupon/ShopCouponReceive", { - couponCode: coupon.code, - memberID, - }); - window.weui.toast(msg, { - className: "toast", - }); - if (code === "200") { - getList(); - } - } catch (error) { - console.warn(error); - } finally { - setReceiving(false); - } - }; - return ( -
-
-
{ - onBack && onBack(); - }} - >
- {shop.name} -
-
- {coupons.map((coupon, i) => ( -
-
- -
-
-
-
{coupon.title}
-
= coupon.detailReceiveCount - ? "disabled" - : "") - } - onClick={() => { - if ( - coupon.detailReceived >= coupon.detailReceiveCount || - receiving - ) - return; - receive(coupon); - }} - > - {coupon.detailReceived >= coupon.detailReceiveCount - ? "已领取" - : "领券"} -
-
-
-
使用期限
-
- {coupon.beginTime}至{coupon.endTime} -
-
{ - coupon.isOpen = !coupon.isOpen; - setCoupons([...coupons]); - }} - > - 查看详情 -
-
-
- {!!coupon.isOpen && ( -
-
使用规则
-
{coupon.couponRules}
-
- )} -
-
- ))} -
-
- ); -}; -export default ShopCoupons; diff --git a/src/pages/ShopCoupons/ShopCoupons.scss b/src/pages/ShopCoupons/ShopCoupons.scss deleted file mode 100644 index bcf8d64..0000000 --- a/src/pages/ShopCoupons/ShopCoupons.scss +++ /dev/null @@ -1,144 +0,0 @@ -.ShopCoupons { - position: absolute; - top: 0; - left: 0; - width: 100vw; - height: 100vh; - background: #f3f4f8; - display: flex; - flex-direction: column; - .header { - flex: 0 0 43px; - display: flex; - padding: 9px 16px 10px 18px; - justify-content: space-between; - font-weight: 600; - font-size: 20px; - line-height: 25px; - color: #323337; - white-space: nowrap; - align-items: center; - .back { - width: 24px; - height: 24px; - background: center / cover no-repeat url(./back.svg); - } - } - .list { - flex: 1; - overflow-x: hidden; - overflow-y: auto; - padding: 0 10px; - * { - display: flex; - } - .item { - background: #ffffff; - border: 1px solid #edeff3; - box-shadow: 2px 6px 8px rgba(104, 110, 127, 0.08); - border-radius: 18px; - padding: 16px; - .left { - flex: 0 0 40px; - .avatar { - width: 40px; - height: 40px; - padding: 5px; - border: 1px solid #edeff3; - box-shadow: 2px 6px 8px rgba(104, 110, 127, 0.08); - border-radius: 38px; - object-fit: cover; - } - } - .right { - flex: 1; - flex-direction: column; - .r1 { - padding-left: 10px; - height: 40px; - justify-content: space-between; - flex: 1; - align-items: center; - .content { - display: block; - width: calc(100vw - 192px); - font-size: 20px; - color: #323337; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; - } - .btn { - flex: 0 0 90px; - width: 90px; - height: 38px; - background: linear-gradient(180deg, #508af7 0%, #5ea5f9 100%); - box-shadow: 0px 6px 12px rgba(93, 172, 249, 0.2); - border-radius: 10px; - align-items: center; - justify-content: center; - font-size: 14px; - color: #ffffff; - &.disabled { - background: #f3f4f8; - box-shadow: none; - color: #a1a5b3; - } - &:active { - opacity: 0.7; - } - } - } - .r2 { - margin-left: 10px; - margin-top: 18px; - border-top: 1px solid #edeff3; - padding-top: 6px; - font-size: 12px; - line-height: 18px; - color: #474a56; - flex-direction: column; - .desc { - margin-top: 10px; - font-size: 13px; - height: 18px; - color: #437af7; - align-items: center; - .icon { - margin-left: 2px; - width: 16px; - height: 16px; - background: center / cover no-repeat url(./arrow.svg); - transition: all 0.25s ease-in-out; - margin-left: 2px; - &.open { - transform: rotate(90deg); - } - } - } - } - .r3 { - flex-direction: column; - background: #f9f9fb; - border-radius: 8px; - padding: 10px; - .title { - font-size: 13px; - line-height: 18px; - color: #7a7e8d; - margin-bottom: 4px; - } - .content { - font-size: 12px; - line-height: 16px; - color: #a1a5b3; - opacity: 0.8; - } - } - } - } - .item + .item { - margin-top: 8px; - } - } -} diff --git a/src/pages/ShopCoupons/arrow.svg b/src/pages/ShopCoupons/arrow.svg deleted file mode 100644 index 3100163..0000000 --- a/src/pages/ShopCoupons/arrow.svg +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/src/pages/ShopCoupons/back.svg b/src/pages/ShopCoupons/back.svg deleted file mode 100644 index b6e3bf7..0000000 --- a/src/pages/ShopCoupons/back.svg +++ /dev/null @@ -1,3 +0,0 @@ - - -