增加主播邀请用户逻辑
This commit is contained in:
parent
d24e6f1646
commit
305945672e
|
@ -16,6 +16,7 @@ export default function WechatBar({
|
|||
price,
|
||||
streamerMid,
|
||||
auto_response_message,
|
||||
onClickDownloadApp,
|
||||
}) {
|
||||
const router = useRouter();
|
||||
const [showBuyWechat, setShowBuyWechat] = useState(false);
|
||||
|
@ -93,7 +94,10 @@ export default function WechatBar({
|
|||
<div className="bg-[#FFFFFF26] h-0.5 w-4/5"></div>
|
||||
<div
|
||||
className="flex flex-row cursor-pointer items-center justify-center py-4 mb-2"
|
||||
onClick={() => router.push("/")}
|
||||
onClick={() => {
|
||||
onClickDownloadApp();
|
||||
router.push("/");
|
||||
}}
|
||||
>
|
||||
<Image src={app_purchase} alt="" className="w-5 h-5" />
|
||||
<p className="text-white text-base font-medium ml-2">
|
||||
|
|
|
@ -11,6 +11,7 @@ import Image from "next/image";
|
|||
import verification from "@/public/icon/verification.png";
|
||||
import icon_border from "@/public/images/icon_border.png";
|
||||
import Link from "next/link";
|
||||
import { setCookie } from "cookies-next";
|
||||
|
||||
export default function StreamerDetail({ params }) {
|
||||
//页面数据
|
||||
|
@ -50,6 +51,19 @@ export default function StreamerDetail({ params }) {
|
|||
};
|
||||
getData();
|
||||
}, []);
|
||||
|
||||
//将主播链接复制到剪贴板,并存cookie
|
||||
const copyAndSetCookieInviter = async () => {
|
||||
try {
|
||||
setCookie("inviter", data?.user_id);
|
||||
await navigator.clipboard.writeText(
|
||||
`【${data?.name}】『ID:${data?.user_id}』,复制此条消息,打开铁粉空间APP,查看详情https://tiefen.fun/${data?.user_id}`
|
||||
);
|
||||
} catch (error) {
|
||||
console.error("复制到剪贴板时出现错误:", error);
|
||||
}
|
||||
};
|
||||
|
||||
return (
|
||||
<section className="flex flex-1 flex-col container relative">
|
||||
<InOtherApp />
|
||||
|
@ -64,7 +78,7 @@ export default function StreamerDetail({ params }) {
|
|||
</div>
|
||||
</div>
|
||||
<div className="flex flex-col flex-1 px-4 pt-2 pb-6 z-10">
|
||||
<AuthBar />
|
||||
<AuthBar onNotLoginedClick={copyAndSetCookieInviter} />
|
||||
<div className="flex flex-col items-center mt-24">
|
||||
<div className="w-[74px] h-[74px] rounded-full overflow-hidden">
|
||||
<img
|
||||
|
@ -85,6 +99,7 @@ export default function StreamerDetail({ params }) {
|
|||
price={Math.ceil(data?.wechat_coin_price / 9)}
|
||||
streamerMid={data?.mid}
|
||||
auto_response_message={data?.auto_response_message}
|
||||
onClickDownloadApp={copyAndSetCookieInviter}
|
||||
/>
|
||||
{data?.platforms?.map((item, index) => (
|
||||
<div
|
||||
|
@ -105,7 +120,7 @@ export default function StreamerDetail({ params }) {
|
|||
<p className="text-white text-base font-medium">铁粉空间</p>
|
||||
<p className="text-secondary text-sm font-medium">下载APP探索更多</p>
|
||||
</div>
|
||||
<Link className="p-2 pr-0" href="/">
|
||||
<Link className="p-2 pr-0" href="/" onClick={copyAndSetCookieInviter}>
|
||||
<p className="btn btn-sm bg-gradient-to-r from-[#FF668B] to-[#FF66F0] rounded-full text-white font-medium">
|
||||
立即下载
|
||||
</p>
|
||||
|
|
|
@ -8,6 +8,7 @@ import { signIn } from "@/utils/auth";
|
|||
import Link from "next/link";
|
||||
import baseRequest from "@/utils/baseRequest";
|
||||
import { generateSignature } from "@/utils/crypto";
|
||||
import { getCookie } from "cookies-next";
|
||||
|
||||
export default function PhonenumLogin() {
|
||||
const router = useRouter();
|
||||
|
@ -104,6 +105,9 @@ export default function PhonenumLogin() {
|
|||
return;
|
||||
}
|
||||
|
||||
//读取邀请人
|
||||
const inviter = getCookie("inviter");
|
||||
|
||||
//对手机号进行RSA加密
|
||||
const encrypt = new JSEncrypt();
|
||||
encrypt.setPublicKey(process.env.NEXT_PUBLIC_RSA_KEY);
|
||||
|
@ -113,6 +117,7 @@ export default function PhonenumLogin() {
|
|||
mobile_phone: mobile_phone,
|
||||
region_code: regionCode,
|
||||
veri_code: value.veri_code,
|
||||
inviter: inviter,
|
||||
...base,
|
||||
});
|
||||
//发送登录请求
|
||||
|
@ -128,6 +133,7 @@ export default function PhonenumLogin() {
|
|||
mobile_phone: mobile_phone,
|
||||
region_code: regionCode,
|
||||
veri_code: value.veri_code,
|
||||
inviter: inviter,
|
||||
...base,
|
||||
}),
|
||||
}
|
||||
|
|
|
@ -5,7 +5,7 @@ import { checkAuth, signOut } from "@/utils/auth";
|
|||
import { getCookie } from "cookies-next";
|
||||
import { useRouter } from "next/navigation";
|
||||
|
||||
export default function AuthBar() {
|
||||
export default function AuthBar({ onNotLoginedClick = () => {} }) {
|
||||
const router = useRouter();
|
||||
const [isLogined, setIsLogined] = useState();
|
||||
const [cookies, setCookies] = useState();
|
||||
|
@ -31,6 +31,7 @@ export default function AuthBar() {
|
|||
|
||||
//点击登录
|
||||
const handleSignIn = () => {
|
||||
onNotLoginedClick();
|
||||
router.push("/auth/login/phonenumlogin");
|
||||
};
|
||||
|
||||
|
|
Loading…
Reference in New Issue