import { getFocusedRouteNameFromRoute } from "@react-navigation/core"; import { PagerList } from "./ChargeAdapter"; import app from '../../../app.json'; var chargeInfoState = global.chargeInfoState var refreshListener = []; const DEBUG = app.debug && !app.product; export default PagerUtil = { ENABLE_NEW_UI: true, //是否启用新的充电页面 getStationInfo: () => { return chargeInfoState.stationInfo ?? {} }, setStationInfo: (info) => { chargeInfoState.stationInfo = info; }, addOnRefresh: (page) => { refreshListener.push(page) }, setRefreshing: (route) => { if (DEBUG) { console.log("[PagerUtil]刷新指定子页面:", route); } refreshListener.map((item, index) => { if (!route || route == item.props?.route?.name) { if (item.onRefresh) item.onRefresh(); } }) }, setBackRefreshing: () => { refreshListener.map((item, index) => { if (item.onBackRefresh) item.onBackRefresh(); }) }, onCharge: (props) => { const isFocused = props?.navigation?.isFocused(); if (!isFocused) { if (DEBUG) { console.log("[PagerUtil]", "onCharge"); } startPage(PagerList.tabCharge); } else if (DEBUG) { console.log("[PagerUtil]", "onCharge-skip"); } }, onReserve: (props) => { const isFocused = props?.navigation?.isFocused(); if (!isFocused) { if (DEBUG) { console.log("[PagerUtil]", "onReserve"); } startPage(PagerList.tabReserve); } else if (DEBUG) { console.log("[PagerUtil]", "onReserve-skip"); } }, onInnerScanQR() { global.chargeV3InnerScanQR = true; if (this.ENABLE_NEW_UI) { if (DEBUG) { console.log("[PagerUtil]", "激活自动进入新充电页面的开关"); } refreshListener.map((item, index) => { if (item.activeNewUIPage) item.activeNewUIPage(); }); } }, isInnerScanQR: () => { return global.chargeV3InnerScanQR; }, ofInnerScanQR: () => { global.chargeV3InnerScanQR = false; }, onEnterStation: (props) => { //const isFocused = props?.navigation?.isFocused(); startPage(PagerList.tabCharge); }, onDestory: () => { chargeInfoState = {}; refreshListener = []; }, getCurrentRoute: (props) => ( getFocusedRouteNameFromRoute(props.route) ) }