diff --git a/src/app.ts b/src/app.ts index 4388db6..c197c67 100644 --- a/src/app.ts +++ b/src/app.ts @@ -5,6 +5,7 @@ import "./app.scss"; import "./scss/qweather-icons/qweather-icons.css"; import { useGlobalStore } from "./store/global"; import { removeStorage } from "./store/storage"; +import { sceneRedirectLogic } from './utils/helper' interface AppProps { children: ReactNode; @@ -17,25 +18,12 @@ function clearSpecStorage() { class App extends Component { onLaunch(options) { - console.log('launch options: ', options) console.log("小程序启动,初始化逻辑写这里"); clearSpecStorage() Taro.onNeedPrivacyAuthorization((resolve) => { // 这里可以自定义弹窗(或直接默认同意) resolve({ event: 'agree' }); // 同意隐私协议 }); - - // Taro.loadFontFace({ - // family: 'Quicksand', - // source: 'url("https://bimwe.oss-cn-shanghai.aliyuncs.com/front/ball/other/57dc951f-f10e-45b7-9157-0b1e468187fd.ttf")', - // global: true, // 全局生效 - // success(res) { - // console.log('字体加载成功', res); - // }, - // fail(err) { - // console.error('字体加载失败', err); - // } - // }) } componentDidMount() { @@ -44,7 +32,9 @@ class App extends Component { // this.getLocation() } - componentDidShow() { } + componentDidShow(options) { + sceneRedirectLogic(options.query, options.path); + } componentDidHide() { } diff --git a/src/game_pages/detail/index.tsx b/src/game_pages/detail/index.tsx index 645a9fe..c948f02 100644 --- a/src/game_pages/detail/index.tsx +++ b/src/game_pages/detail/index.tsx @@ -18,7 +18,7 @@ import Participants from "./components/Participants"; import SupplementalNotes from "./components/SupplementalNotes"; import OrganizerInfo from "./components/OrganizerInfo"; import SharePopup from "./components/SharePopup"; -import { navto, toast, useSceneRedirect } from "./utils/helper"; +import { navto, toast } from "./utils/helper"; import ArrowLeft from "@/static/detail/icon-arrow-left.svg"; import Logo from "@/static/detail/icon-logo-go.svg"; import styles from "./index.module.scss"; @@ -37,8 +37,6 @@ function Index() { const { statusNavbarHeightInfo } = useGlobalState(); const { statusBarHeight, navBarHeight } = statusNavbarHeightInfo; - useSceneRedirect("game_pages/detail/index"); - const isMyOwn = userInfo.id === myInfo.id; const sharePopupRef = useRef(null); @@ -254,4 +252,6 @@ function Index() { ); } -export default withAuth(Index); +// export default withAuth(Index); +const ExportPage = withAuth(Index); +export default ExportPage; diff --git a/src/game_pages/detail/utils/helper.ts b/src/game_pages/detail/utils/helper.ts index 8a53ffd..cf7998e 100644 --- a/src/game_pages/detail/utils/helper.ts +++ b/src/game_pages/detail/utils/helper.ts @@ -1,6 +1,4 @@ -import Taro, { - useLoad, -} from "@tarojs/taro"; +import Taro from "@tarojs/taro"; export function navto(url) { Taro.navigateTo({ @@ -18,32 +16,6 @@ export function insertDotInTags(tags: string[]) { return tags.join("-·-").split("-"); } -export const useSceneRedirect = (defaultPage: string) => { - useLoad((options) => { - if (options.scene) { - try { - const decoded = decodeURIComponent(options.scene || ""); - const params: Record = {}; - decoded.split("&").forEach((pair) => { - const [key, value] = pair.split("="); - if (key) params[key] = value ? decodeURIComponent(value) : ""; - }); - - // 拼接成 URL query - const query = Object.entries(params) - .map(([k, v]) => `${k}=${encodeURIComponent(v)}`) - .join("&"); - - Taro.redirectTo({ - url: query ? `/${defaultPage}?${query}` : `/${defaultPage}`, - }); - } catch (err) { - console.error("scene 解析失败:", err); - } - } - }); -}; - export function genNTRPRequirementText(min, max) { if (min && max && min !== max) { return `${min} - ${max} 之间`; diff --git a/src/order_pages/orderDetail/index.module.scss b/src/order_pages/orderDetail/index.module.scss index c5ec571..5f13806 100644 --- a/src/order_pages/orderDetail/index.module.scss +++ b/src/order_pages/orderDetail/index.module.scss @@ -24,6 +24,10 @@ padding: 20px; box-sizing: border-box; background-color: #fafafa; + + .titleClassName { + color: #000; + } } .gameInfoContainer { diff --git a/src/order_pages/orderList/index.module.scss b/src/order_pages/orderList/index.module.scss index 98099a5..1a4d4f0 100644 --- a/src/order_pages/orderList/index.module.scss +++ b/src/order_pages/orderList/index.module.scss @@ -16,6 +16,10 @@ width: 100%; box-sizing: border-box; + .titleClassName { + color: #000; + } + .list { height: 100%; width: 100%; diff --git a/src/order_pages/orderList/index.tsx b/src/order_pages/orderList/index.tsx index 0fed418..ca6b15d 100644 --- a/src/order_pages/orderList/index.tsx +++ b/src/order_pages/orderList/index.tsx @@ -266,8 +266,8 @@ const OrderList = () => { style={{ paddingTop: `${totalHeight + 8}px` }} > diff --git a/src/utils/helper.ts b/src/utils/helper.ts new file mode 100644 index 0000000..a223ad3 --- /dev/null +++ b/src/utils/helper.ts @@ -0,0 +1,26 @@ +import Taro from "@tarojs/taro"; + +// 普通函数,不调用 useLoad +export const sceneRedirectLogic = (options, defaultPage: string) => { + if (!options.scene) return; + + try { + const decoded = decodeURIComponent(options.scene || ""); + const params: Record = {}; + + decoded.split("&").forEach((pair) => { + const [key, value] = pair.split("="); + if (key) params[key] = value ? decodeURIComponent(value) : ""; + }); + + const query = Object.entries(params) + .map(([k, v]) => `${k}=${encodeURIComponent(v)}`) + .join("&"); + + Taro.redirectTo({ + url: query ? `/${defaultPage}?${query}` : `/${defaultPage}`, + }); + } catch (e) { + console.error(e); + } +}; \ No newline at end of file