From 52ef5f73d75d227fa2519ef807fca0838788dd5e Mon Sep 17 00:00:00 2001 From: al Date: Tue, 23 Jul 2024 18:06:31 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0base=E8=8E=B7=E5=8F=96?= =?UTF-8?q?=E6=96=B9=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/bill/[type]/page.jsx | 21 +++++++++++++-- app/pay/page.jsx | 27 ++++++++++++++----- app/vip/page.jsx | 26 +++++++++++++----- .../[zid]/[product_id]/[moment_id]/page.jsx | 26 +++++++++++++----- 4 files changed, 79 insertions(+), 21 deletions(-) diff --git a/app/bill/[type]/page.jsx b/app/bill/[type]/page.jsx index 465fb06..133330c 100644 --- a/app/bill/[type]/page.jsx +++ b/app/bill/[type]/page.jsx @@ -1,14 +1,32 @@ "use client"; -import React, { useState, useEffect } from "react"; +import React, { useState, useEffect, useMemo } from "react"; import { Toast } from "antd-mobile"; import { generateSignature } from "@/utils/crypto"; import webviewBaseRequest from "@/utils/webviewBaseRequest"; +import { useSearchParams } from "next/navigation"; import Link from "next/link"; export default function BillDetail({ params }) { const [data, setData] = useState([]); const [isFetching, setIsFetching] = useState(true); + const searchParams = useSearchParams(); + const base = useMemo(()=>{ + let searchParamsObj=null; b + if(searchParams.get("b_mid")){ + searchParamsObj={}; + searchParamsObj.b_mid=searchParams.get("b_mid"); + searchParamsObj.b_did=searchParams.get("b_did"); + searchParamsObj.b_ver=searchParams.get("b_ver"); + searchParamsObj.b_dt=searchParams.get("b_dt"); + searchParamsObj.b_model=searchParams.get("b_model"); + searchParamsObj.b_nt=searchParams.get("b_nt"); + searchParamsObj.b_token=searchParams.get("b_token"); + searchParamsObj.b_ch=searchParams.get("b_ch"); + searchParamsObj.b_ts=searchParams.get("b_ts"); + } + return searchParamsObj || webviewBaseRequest(); + },[searchParams]); useEffect(() => { const getData = async () => { let type; @@ -29,7 +47,6 @@ export default function BillDetail({ params }) { break; } try { - const base = webviewBaseRequest(); const signature = generateSignature({ type: type, offset: 0, diff --git a/app/pay/page.jsx b/app/pay/page.jsx index 06936f0..57a2c3e 100644 --- a/app/pay/page.jsx +++ b/app/pay/page.jsx @@ -1,7 +1,7 @@ "use client"; -import React, { useState, useEffect } from "react"; -import { useRouter } from "next/navigation"; +import React, { useState, useEffect,useMemo } from "react"; +import { useRouter, useSearchParams } from "next/navigation"; import { Toast } from "antd-mobile"; import { generateSignature } from "@/utils/crypto"; import webviewBaseRequest from "@/utils/webviewBaseRequest"; @@ -9,9 +9,8 @@ import Link from "next/link"; export default function Pay() { const router = useRouter(); - + const searchParams = useSearchParams(); const alipayBlock = () => { - const base = webviewBaseRequest(); if (base?.b_mid === 161) { createOrder("alipay_h5"); return; @@ -45,9 +44,25 @@ export default function Pay() { //获取当前充值档位 const [isFetching, setIsFetching] = useState(true); + const base = useMemo(()=>{ + let searchParamsObj=null; b + if(searchParams.get("b_mid")){ + searchParamsObj={}; + searchParamsObj.b_mid=searchParams.get("b_mid"); + searchParamsObj.b_did=searchParams.get("b_did"); + searchParamsObj.b_ver=searchParams.get("b_ver"); + searchParamsObj.b_dt=searchParams.get("b_dt"); + searchParamsObj.b_model=searchParams.get("b_model"); + searchParamsObj.b_nt=searchParams.get("b_nt"); + searchParamsObj.b_token=searchParams.get("b_token"); + searchParamsObj.b_ch=searchParams.get("b_ch"); + searchParamsObj.b_ts=searchParams.get("b_ts"); + } + return searchParamsObj || webviewBaseRequest(); + },[searchParams]); useEffect(() => { const getData = async () => { - const base = webviewBaseRequest(); + const body = { ...base }; const signature = generateSignature(body); try { @@ -93,7 +108,7 @@ export default function Pay() { return; } - const base = webviewBaseRequest(); + const body = { ...base, product_id: customCoin.selected ? "h5_custom_coin" : selectedPrice.id, diff --git a/app/vip/page.jsx b/app/vip/page.jsx index abf12a0..8a1917e 100644 --- a/app/vip/page.jsx +++ b/app/vip/page.jsx @@ -1,17 +1,15 @@ "use client"; -import React, { useState, useEffect } from "react"; +import React, { useState, useEffect, useMemo } from "react"; import { generateSignature } from "@/utils/crypto"; import webviewBaseRequest from "@/utils/webviewBaseRequest"; import Link from "next/link"; import { Toast } from "antd-mobile"; -import { useRouter } from "next/navigation"; - +import { useRouter, useSearchParams } from "next/navigation"; export default function Vip() { const router = useRouter(); - + const searchParams = useSearchParams(); const alipayBlock = () => { - const base = webviewBaseRequest(); if (base?.b_mid === 161) { createOrder("alipay_h5"); return; @@ -25,9 +23,24 @@ export default function Vip() { const [isVip, setIsVip] = useState(false); const [name, setName] = useState(""); const [isFetching, setIsFetching] = useState(true); + const base = useMemo(()=>{ + let searchParamsObj=null; b + if(searchParams.get("b_mid")){ + searchParamsObj={}; + searchParamsObj.b_mid=searchParams.get("b_mid"); + searchParamsObj.b_did=searchParams.get("b_did"); + searchParamsObj.b_ver=searchParams.get("b_ver"); + searchParamsObj.b_dt=searchParams.get("b_dt"); + searchParamsObj.b_model=searchParams.get("b_model"); + searchParamsObj.b_nt=searchParams.get("b_nt"); + searchParamsObj.b_token=searchParams.get("b_token"); + searchParamsObj.b_ch=searchParams.get("b_ch"); + searchParamsObj.b_ts=searchParams.get("b_ts"); + } + return searchParamsObj || webviewBaseRequest(); + },[searchParams]); const getUserData = async () => { try { - const base = webviewBaseRequest(); const signature = generateSignature({ ...base, mid: base.b_mid, @@ -73,7 +86,6 @@ export default function Vip() { //创建充值订单 const [isLoading, setIsLoading] = useState(false); const createOrder = async (type = "alipay_h5") => { - const base = webviewBaseRequest(); const body = { ...base, product_id: "membership", diff --git a/app/zone/pay/[zid]/[product_id]/[moment_id]/page.jsx b/app/zone/pay/[zid]/[product_id]/[moment_id]/page.jsx index 1517882..3cd514d 100644 --- a/app/zone/pay/[zid]/[product_id]/[moment_id]/page.jsx +++ b/app/zone/pay/[zid]/[product_id]/[moment_id]/page.jsx @@ -1,26 +1,40 @@ "use client"; -import React, { useState, useEffect } from "react"; +import React, { useState, useEffect, useMemo } from "react"; import Divider from "@/components/Divider"; import Link from "next/link"; import { Toast, Switch } from "antd-mobile"; import { generateSignature } from "@/utils/crypto"; import webviewBaseRequest from "@/utils/webviewBaseRequest"; -import { useRouter } from "next/navigation"; +import { useRouter,useSearchParams } from "next/navigation"; export default function Pay({ params }) { const router = useRouter(); - + const searchParams = useSearchParams(); //当前选购的商品数据 const [data, setData] = useState({}); //超粉商品数据 const [superfanshipData, setSuperfanshipData] = useState(); const [isFetching, setIsFetching] = useState(true); - + const base = useMemo(()=>{ + let searchParamsObj=null; b + if(searchParams.get("b_mid")){ + searchParamsObj={}; + searchParamsObj.b_mid=searchParams.get("b_mid"); + searchParamsObj.b_did=searchParams.get("b_did"); + searchParamsObj.b_ver=searchParams.get("b_ver"); + searchParamsObj.b_dt=searchParams.get("b_dt"); + searchParamsObj.b_model=searchParams.get("b_model"); + searchParamsObj.b_nt=searchParams.get("b_nt"); + searchParamsObj.b_token=searchParams.get("b_token"); + searchParamsObj.b_ch=searchParams.get("b_ch"); + searchParamsObj.b_ts=searchParams.get("b_ts"); + } + return searchParamsObj || webviewBaseRequest(); + },[searchParams]); //获取当前选购的商品数据 const getData = async () => { - try { - const base = webviewBaseRequest(); + try { const body = { zid: parseInt(params.zid), moment_id: parseInt(params.moment_id),