diff --git a/app/share/[mid]/page.js b/app/share/[mid]/page.js index d3d85d4..1d1440e 100644 --- a/app/share/[mid]/page.js +++ b/app/share/[mid]/page.js @@ -5,29 +5,42 @@ import { Divider, Toast } from "antd-mobile"; import { useRouter, useParams, useSearchParams } from "next/navigation"; import clipboard from "copy-to-clipboard"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; -import { - faAngleLeft, - faAngleRight, - faWallet, - faPrint, - faDollar, -} from "@fortawesome/free-solid-svg-icons"; +import { faAngleLeft, faAngleRight } from "@fortawesome/free-solid-svg-icons"; import { getStreamerInfo } from "@/api/space"; +import requireAPI from "@/utils/requireAPI"; + export default function ShareSpace({ data }) { const router = useRouter(); const { mid } = useParams(); - const searchParams = useSearchParams(); const webUrl = process.env.NEXT_PUBLIC_WEB_URL; - const shareWebUrl = "https://share.duota.shop"; const [streamerInfo, setStreamerInfo] = useState(null); + const [shareWebUrl, setShareWebUrl] = useState("https://tiefen.fun"); useEffect(() => { getStreamerInfo(Number(mid)).then((res) => { setStreamerInfo(res); }); + + const getShareWebUrl = async () => { + try { + const data = await requireAPI("POST", "/api/config/cold_config", { + body: {}, + }); + if (data.ret === -1) { + Toast.show({ + content: data.msg, + }); + return; + } + setShareWebUrl(data.data.share_redirect_url); + } catch (error) { + console.error(error); + } + }; + + getShareWebUrl(); }, []); //保存内容到剪贴板 const copy = (_data) => { - // console.log("_data",_data) clipboard(_data); Toast.show({ icon: "success", @@ -46,7 +59,6 @@ export default function ShareSpace({ data }) { //复制邀请链接 const copyShareUrl = () => { const shareCode = `${shareWebUrl}/zone/${streamerInfo?.streamer_ext?.user_id}`; - // console.log("shareCode", shareCode); copy(shareCode); }; diff --git a/app/space/share/[user_id]/page.jsx b/app/space/share/[user_id]/page.jsx index 98d48e4..0907202 100644 --- a/app/space/share/[user_id]/page.jsx +++ b/app/space/share/[user_id]/page.jsx @@ -3,22 +3,40 @@ import React, { useState, useEffect } from "react"; import QRCode from "qrcode"; -import { Toast, Image } from "antd-mobile"; +import { Toast } from "antd-mobile"; import { useRouter, useParams } from "next/navigation"; import requireAPI from "@/utils/requireAPI"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { faAngleLeft } from "@fortawesome/free-solid-svg-icons"; import { saveImage } from "@/utils/tools/handleFuns"; import clipboard from "copy-to-clipboard"; + export default function Share() { //获取页面数据、生成二维码 const [data, setData] = useState({}); const [qrcodeUrl, setQrcodeUrl] = useState(""); + const [shareWebUrl, setShareWebUrl] = useState("https://tiefen.fun"); const [isFetching, setIsFetching] = useState(true); - const shareWebUrl = "https://share.duota.shop"; const router = useRouter(); const { user_id } = useParams(); useEffect(() => { + const getShareWebUrl = async () => { + try { + const data = await requireAPI("POST", "/api/config/cold_config", { + body: {}, + }); + if (data.ret === -1) { + Toast.show({ + content: data.msg, + }); + return "https://tiefen.fun"; + } + return data.data.share_redirect_url; + } catch (error) { + return "https://tiefen.fun"; + } + }; + const getData = async () => { try { const data = await requireAPI( @@ -35,15 +53,24 @@ export default function Share() { return; } setData(data.data.streamer_ext); - QRCode.toDataURL(`${shareWebUrl}/zone/${user_id}`, function (err, url) { - setQrcodeUrl(url); - }); + + const _shareWebUrl = await getShareWebUrl(); + setShareWebUrl(_shareWebUrl); + + QRCode.toDataURL( + `${_shareWebUrl}/zone/${user_id}`, + function (err, url) { + setQrcodeUrl(url); + } + ); setIsFetching(false); } catch (error) { - // console.error(error); + console.error(error); } }; + getData(); + getShareWebUrl(); }, []); //分享海报组件