PagerUtil.js 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. import { getFocusedRouteNameFromRoute } from "@react-navigation/core";
  2. import { PagerList } from "./ChargeAdapter";
  3. import app from '../../../app.json';
  4. import { PageList } from "../Router";
  5. var chargeInfoState = global.chargeInfoState
  6. var refreshListener = [];
  7. const DEBUG = app.debug && !app.product;
  8. export default PagerUtil = {
  9. ENABLE_NEW_UI: app.charge.version > 2, //是否启用新的充电页面
  10. getStationInfo: () => {
  11. return chargeInfoState.stationInfo ?? {}
  12. },
  13. setStationInfo: (info) => {
  14. chargeInfoState.stationInfo = info;
  15. },
  16. addOnRefresh: (page) => {
  17. refreshListener.push(page)
  18. },
  19. setRefreshing: (route) => {
  20. if (DEBUG) {
  21. console.log("[PagerUtil]刷新指定子页面:", route);
  22. }
  23. refreshListener.map((item, index) => {
  24. if (!route || route == item.props?.route?.name) {
  25. if (item.onRefresh)
  26. item.onRefresh();
  27. }
  28. })
  29. },
  30. setBackRefreshing: () => {
  31. refreshListener.map((item, index) => {
  32. if (item.onBackRefresh)
  33. item.onBackRefresh();
  34. })
  35. },
  36. onCharge: (props) => {
  37. const isFocused = props?.navigation?.isFocused();
  38. if (!isFocused) {
  39. if (DEBUG) {
  40. console.log("[PagerUtil]", "onCharge");
  41. }
  42. startPage(PagerList.tabCharge);
  43. } else if (DEBUG) {
  44. console.log("[PagerUtil]", "onCharge-skip");
  45. }
  46. },
  47. onReserve: (props) => {
  48. const isFocused = props?.navigation?.isFocused();
  49. if (!isFocused) {
  50. if (DEBUG) {
  51. console.log("[PagerUtil]", "onReserve");
  52. }
  53. startPage(PagerList.tabReserve);
  54. } else if (DEBUG) {
  55. console.log("[PagerUtil]", "onReserve-skip");
  56. }
  57. },
  58. onInnerScanQR() {
  59. global.chargeV3InnerScanQR = true;
  60. if (this.ENABLE_NEW_UI) {
  61. if (DEBUG) {
  62. console.log("[PagerUtil]", "激活自动进入新充电页面的开关");
  63. }
  64. refreshListener.map((item, index) => {
  65. if (item.activeNewUIPage)
  66. item.activeNewUIPage();
  67. });
  68. }
  69. },
  70. isInnerScanQR: () => {
  71. return global.chargeV3InnerScanQR;
  72. },
  73. ofInnerScanQR: () => {
  74. global.chargeV3InnerScanQR = false;
  75. },
  76. onEnterStation: (props) => {
  77. //const isFocused = props?.navigation?.isFocused();
  78. startPage(PagerList.tabCharge);
  79. },
  80. onDestory: () => {
  81. chargeInfoState = {};
  82. refreshListener = [];
  83. },
  84. getCurrentRoute: (props) => (
  85. getFocusedRouteNameFromRoute(props.route)
  86. ),
  87. isSelectVoucher: () => {
  88. return global.chargeSelectVoucher;
  89. },
  90. toSelectVoucher: (chargeBoxId, connectorId) => {
  91. global.chargeSelectVoucher = true;
  92. startPage(PageList.selectVoucher, {chargeBoxId: chargeBoxId, connectorId: connectorId});
  93. },
  94. setSelectedVoucher: (voucher) => {
  95. global.chargeSelectedVoucher = voucher;
  96. },
  97. getSelectedVoucher: () => {
  98. global.chargeSelectVoucher = false;
  99. return global.chargeSelectedVoucher || {};
  100. }
  101. }