分享链接域名从服务器获取

This commit is contained in:
yezian 2024-12-10 18:53:14 +08:00
parent f40391c987
commit 060c67a1fe
2 changed files with 56 additions and 17 deletions

View File

@ -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);
};

View File

@ -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();
}, []);
//