"use client"; import React, { useEffect, useState } from "react"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { faAngleRight } from "@fortawesome/free-solid-svg-icons"; import { Avatar, Image, Toast, Space } from "antd-mobile"; import { useRouter } from "next/navigation"; import { get } from "@/utils/storeInfo"; import requireAPI from "@/utils/requireAPI"; const My = () => { const [userInfo, setUserInfo] = useState({}); const router = useRouter(); const [streamerNavigates, setStreamerNavigates] = useState([]); const [userNavigates, setUserNavigates] = useState([]); useEffect(() => { const userInfo = get("account"); if (userInfo) { getData(userInfo); } }, []); const getData = async (oldUserInfo) => { const data = await requireAPI( "POST", "/api/account_relation/count", null, true ); if (data.ret === -1) { Toast.show({ icon: "fail", content: data.msg, position: "top", }); return; } const streamer = await requireAPI( "POST", "/api/streamer/list_ext_by_mid", null, true ); if (streamer.ret === -1) { Toast.show({ icon: "fail", content: streamer.msg, position: "top", }); return; } const account = await requireAPI( "POST", "/api/account/list_by_mid", null, true ); if (account.ret === -1) { Toast.show({ icon: "fail", content: account.msg, position: "top", }); return; } const statuses = await requireAPI( "POST", "/api/streamer_auth_approval/get_statuses", null ); if (statuses.ret === -1) { Toast.show({ icon: "fail", content: statuses.msg, position: "top", }); return; } const isInJoinProgress = (statuses.data.basic_status === 0 || statuses.data.basic_status === 1 || statuses.data.basic_status === 3) && statuses.data.details_status !== 1; setStreamerNavigates((old) => { if (account.data.account.role == 3 || isInJoinProgress) { const zoneLength = streamer.data?.streamer_ext?.zones?.length; let currentOld = [ { url: !zoneLength ? `my/createProfile` : `space/${account.data.account.mid}`, iconUrl: `icons/32DP/space.png`, title: !zoneLength ? "开通空间" : "我的空间", subTitle: account.data.account.role == 3 ? "创作者功能" : "完善资料后解锁", }, { url: `streamerPosts/${account.data.account.mid}`, iconUrl: "icons/32DP/myposts.png", title: "广场动态", subTitle: account.data.account.role == 3 ? "创作者功能" : "完善资料后解锁", }, { url: `my/wechatWaitingToAdd`, iconUrl: "icons/32DP/wechat.png", title: "待添加微信", subTitle: account.data.account.role == 3 ? "创作者功能" : "完善资料后解锁", }, { url: `my/editprofile`, iconUrl: "icons/32DP/editprofile.png", title: "编辑资料", subTitle: account.data.account.role == 3 ? "创作者功能" : "完善资料后解锁", }, // ...currentOld, ]; if (isInJoinProgress) { currentOld = [ { url: `my/streamerVerification/completeStreamerInformation`, iconUrl: "icons/32DP/editprofile.png", title: "完善资料", subTitle: "完善后解锁全部功能", }, ...currentOld, ]; } return currentOld; } return old; }); setUserNavigates((old) => { let currentOld = [ { url: `my/wallet`, iconUrl: "icons/32DP/wallet.png", title: "我的钱包", }, { url: `my/unlockedWechat`, iconUrl: "icons/32DP/wechat.png", title: "已解锁微信", }, { url: `/messageDetail`, iconUrl: "icons/32DP/contact.png", title: "联系客服", }, { url: `/my/addToHome`, iconUrl: "icons/32DP/toScreen.png", title: "添加到主屏幕", }, ]; if (account.data.account.role != 3 && !isInJoinProgress) { currentOld = [ ...currentOld, { url: `my/streamerVerification/joinStreamer`, iconUrl: "icons/32DP/join.png", title: "申请入驻", }, ]; } return currentOld; }); setUserInfo({ ...data.data, ...account.data.account, ...streamer.data }); }; const ItemEle = ({ url, iconUrl, title, subTitle, toWebView }) => { return (
  • { subTitle != "完善资料后解锁" && router.push( toWebView ? `/webView/${encodeURIComponent(url)}` : url ); }} >
    {title}
    {subTitle}
  • ); }; return (
    router.push("my/editUserProfile/selectUserProfileItem") } >
    router.push("my/setting")} >
    {userInfo?.role === 3 ? (
    router.push("profile/" + userInfo.mid)} >

    {userInfo.name}

    {userInfo?.is_a_member === 1 && ( )}
    {userInfo.user_id}
    { // searchParams.append(); // router.back(); }} />
    ) : (

    {userInfo.name}

    {userInfo?.is_a_member === 1 && ( )}
    {userInfo.user_id}
    )} {/* 主播用户 */} {!!streamerNavigates.length && (
    )} {/* 普通用户 */} {!!userNavigates.length && (
    )}
    ); }; export default My;