diff --git a/app/login/page.js b/app/login/page.js index c3eb975..acdada0 100644 --- a/app/login/page.js +++ b/app/login/page.js @@ -192,12 +192,6 @@ function Login({ handleLogin }) { ); } catch (error) { setIsLoading(false); - // alert("Error: " + error); - // Toast.show({ - // icon: "fail", - // content: error, - // position: "top", - // }); // console.error(error); } }; diff --git a/app/my/setting/deleteAccount/page.js b/app/my/setting/deleteAccount/page.js index 7376a0a..a55bb7b 100644 --- a/app/my/setting/deleteAccount/page.js +++ b/app/my/setting/deleteAccount/page.js @@ -7,6 +7,8 @@ import { faAngleLeft } from "@fortawesome/free-solid-svg-icons"; import { useRouter } from "next/navigation"; import { formatDeadline } from "@/utils/tools"; import requireAPI from "@/utils/requireAPI"; +import { handleLogout } from "@/api/public"; + export default function DeleteAccount() { const [deadline, setDeadline] = useState(); const router = useRouter(); @@ -49,6 +51,8 @@ export default function DeleteAccount() { } checkAccountStatus(); showMobal.current?.close(); + await handleLogout(); + router.replace("/login"); } catch (error) { // console.error(error); } @@ -73,7 +77,8 @@ export default function DeleteAccount() { const handleShowDialog = () => { showMobal.current = Dialog.show({ title: "您确认要注销此账号吗?", - content: "注销后无法恢复,请仔细阅读《注销必看须知》后确认。", + content: + "提交注销后,我们将在7个自然日后完全清除您的账号信息,在此期间若您再次登陆则视为放弃注销。请仔细阅读《注销必看须知》后确认。", bodyStyle: { maxHeight: "none", width: "80vw", @@ -144,7 +149,7 @@ export default function DeleteAccount() {
3、注销时间
- 您发起注销账户申请后,我们将在7个自然日后完全清除您的账号信息,在此期间您可以随时在本页面撤销该申请。 + 您发起注销账户申请后,我们将在7个自然日后完全清除您的账号信息,在此期间若您再次登陆则视为放弃注销。
4、其他
diff --git a/app/share/[mid]/page.js b/app/share/[mid]/page.js index bc04786..51cda38 100644 --- a/app/share/[mid]/page.js +++ b/app/share/[mid]/page.js @@ -2,31 +2,63 @@ import React, { useEffect, useState } from "react"; import { Divider, Toast } from "antd-mobile"; -import { useRouter, useParams, useSearchParams } from "next/navigation"; +import { useRouter, useParams } 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"; -export default function ShareSpace({ data }) { +import requireAPI from "@/utils/requireAPI"; + +export default function ShareSpace() { const router = useRouter(); const { mid } = useParams(); - const searchParams = useSearchParams(); const webUrl = process.env.NEXT_PUBLIC_WEB_URL; const [streamerInfo, setStreamerInfo] = useState(null); + const [shareWebUrl, setShareWebUrl] = useState("https://tiefen.fun"); + + function generateRandomString(length = 10) { + const characters = + "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"; + let result = ""; + for (let i = 0; i < length; i++) { + result += characters.charAt( + Math.floor(Math.random() * characters.length) + ); + } + return result; + } + useEffect(() => { getStreamerInfo(Number(mid)).then((res) => { setStreamerInfo(res); }); + + function getRandomUrl(urls) { + return urls[Math.floor(Math.random() * urls.length)]; + } + + const getShareWebUrl = async () => { + try { + const data = await requireAPI("POST", "/api/config/cold_config", { + body: {}, + }); + if (data.ret === -1) { + Toast.show({ + content: data.msg, + }); + return; + } + const randomUrl = getRandomUrl(data.data.share_redirect_urls); + setShareWebUrl(randomUrl); + } catch (error) { + console.error(error); + } + }; + + getShareWebUrl(); }, []); //保存内容到剪贴板 const copy = (_data) => { - // console.log("_data",_data) clipboard(_data); Toast.show({ icon: "success", @@ -44,13 +76,13 @@ export default function ShareSpace({ data }) { //复制邀请链接 const copyShareUrl = () => { - const shareCode = `${webUrl}/zone/${streamerInfo?.streamer_ext?.user_id}`; - // console.log("shareCode", shareCode); + const randomStr = generateRandomString(); + const shareCode = `${shareWebUrl}/zone/${streamerInfo?.streamer_ext?.user_id}/${randomStr}`; copy(shareCode); }; return ( -
合伙人昵称:{selfData[0]?.collaborator_account?.name}
-ID:{selfData[0]?.collaborator_account?.user_id}
-- 分成比例: - {selfData[0]?.sharing_ratio - ? (selfData[0]?.sharing_ratio * 100).toFixed() - : 0} - % -
-+ 合伙人昵称:{selfData[0]?.collaborator_account?.name} +
++ ID:{selfData[0]?.collaborator_account?.user_id} +
++ 分成比例: + {selfData[0]?.sharing_ratio + ? (selfData[0]?.sharing_ratio * 100).toFixed() + : 0} + % +