处理退款

This commit is contained in:
al 2024-07-31 20:05:17 +08:00
parent e9a559cd6f
commit 7113a8688d
9 changed files with 27 additions and 25 deletions

View File

@ -79,6 +79,7 @@ export const getSpaceData = async (mid) => {
} }
return { return {
isRefunding: data.data.refund_status === 1, isRefunding: data.data.refund_status === 1,
refund_enable: data.data.refund_enable,
noRole: data.data.list[0].visitor_role === 4, noRole: data.data.list[0].visitor_role === 4,
}; };
} catch (error) { } catch (error) {

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.2 KiB

After

Width:  |  Height:  |  Size: 5.6 KiB

View File

@ -81,7 +81,7 @@ export default function SelectUserProfileItem() {
id="uploadAvatarBtn" id="uploadAvatarBtn"
style={{ display: "none" }} style={{ display: "none" }}
accept="image/png, image/jpeg" accept="image/png, image/jpeg"
capture="camera" // capture="camera"
onChange={uploadHead} onChange={uploadHead}
/> />
</div> </div>

View File

@ -192,13 +192,14 @@ export default function PersonSpace() {
encodeURIComponent( encodeURIComponent(
JSON.stringify({ JSON.stringify({
mid: streamerInfo?.mid, mid: streamerInfo?.mid,
id: streamerInfo?.streamer_ext?.mid, id: streamerInfo?.id,
ct: streamerInfo?.streamer_ext?.ct, ct: streamerInfo?.streamer_ext?.ct,
user_id: streamerInfo?.streamer_ext?.user_id, user_id: streamerInfo?.streamer_ext?.user_id,
name: streamerInfo?.streamer_ext?.name, name: streamerInfo?.streamer_ext?.name,
visitor_role: streamerInfo?.visitor_role, visitor_role: streamerInfo?.visitor_role,
avatar: avatar:
streamerInfo?.streamer_ext?.avatar?.images[0]?.urls[0], streamerInfo?.streamer_ext?.avatar?.images[0]?.urls[0],
admission_price:streamerInfo?.admission_price
}) })
) )
) )

View File

@ -21,7 +21,7 @@ export default function Setting() {
let data = await JSON.parse(decodeURIComponent(searchParams.get("data"))); let data = await JSON.parse(decodeURIComponent(searchParams.get("data")));
console.log("data",data) console.log("data",data)
await getSpaceData(Number(data.mid)).then((res) => { await getSpaceData(Number(data.mid)).then((res) => {
setStreamerInfo({ ...data, refund_enable: res?.refund_enable }); setStreamerInfo({ ...data,refund_enable:res?.refund_enable });
}); });
} }
})(); })();
@ -173,7 +173,7 @@ export default function Setting() {
<li> <li>
<div <div
onClick={() => onClick={() =>
router.push("setting/spaceRefund?id=" + streamerInfo.mid) router.push("setting/spaceRefund?mid=" + streamerInfo.mid+"&id="+streamerInfo.id)
} }
className="flex justify-between" className="flex justify-between"
> >

View File

@ -3,7 +3,7 @@ import React, { useState, useEffect } from "react";
import { redirect, useRouter, useSearchParams } from "next/navigation"; import { redirect, useRouter, useSearchParams } from "next/navigation";
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
import { faAngleLeft } from "@fortawesome/free-solid-svg-icons"; import { faAngleLeft } from "@fortawesome/free-solid-svg-icons";
import { TextArea, Divider, Button, Toast } from "antd-mobile"; import { TextArea, Divider, Button, Toast,DotLoading,Input } from "antd-mobile";
import requireAPI from "@/utils/requireAPI"; import requireAPI from "@/utils/requireAPI";
import { getSpaceData } from "@/api/space"; import { getSpaceData } from "@/api/space";
export default function SpaceRefund() { export default function SpaceRefund() {
@ -20,11 +20,12 @@ export default function SpaceRefund() {
const router = useRouter(); const router = useRouter();
const searchParams = useSearchParams(); const searchParams = useSearchParams();
useEffect(() => { useEffect(() => {
getSpaceData(Number(id)).then((res) => { const mid = searchParams.get("mid");
getSpaceData(Number(mid)).then((res) => {
if (res) { if (res) {
const { isRefunding, noRole } = res; const { isRefunding, noRole } = res;
isRefunding && router.push("/"); isRefunding && router.push("/");
noRole && router.replace("person_space_introduce/" + id); noRole && router.replace("person_space_introduce/" + mid);
} }
}); });
getData(); getData();
@ -33,17 +34,17 @@ export default function SpaceRefund() {
const handleSubmit = async () => { const handleSubmit = async () => {
if (!name || !contact || !remark) { if (!name || !contact || !remark) {
Toast.show({ Toast.show({
type: "error", icon: "fail",
text1: "请完善信息后提交", content: "请完善信息后提交",
topOffset: 60, position: "top",
}); });
return; return;
} }
if (remark.length < 15) { if (remark.length < 15) {
Toast.show({ Toast.show({
type: "error", icon: "fail",
text1: "请填写15字以上退款原因", content: "请填写15字以上退款原因",
topOffset: 60, position: "top",
}); });
return; return;
} }
@ -61,9 +62,9 @@ export default function SpaceRefund() {
}); });
if (_data.ret === -1) { if (_data.ret === -1) {
Toast.show({ Toast.show({
type: "error", icon: "fail",
text1: _data.msg, content: _data.msg,
topOffset: 60, position: "top",
}); });
return; return;
} }
@ -138,12 +139,12 @@ export default function SpaceRefund() {
<span className="text-[#F53030]">*</span> <span className="text-[#F53030]">*</span>
联系人 联系人
</p> </p>
<TextArea <Input
placeholder="请输入联系人姓名" placeholder="请输入联系人姓名"
onChange={(value) => setName(value)} onChange={(value) => setName(value)}
value={name} value={name}
maxLength={20} maxLength={20}
className="h-32 bg-[#FFFFFF1A] text-white rounded-2xl mt-2 p-2" className="bg-[#FFFFFF1A] text-white rounded-2xl mt-2 p-2"
style={{ style={{
"--placeholder-color": "#FFFFFF80", "--placeholder-color": "#FFFFFF80",
"--font-size": "14px", "--font-size": "14px",
@ -156,12 +157,12 @@ export default function SpaceRefund() {
<span className="text-[#F53030]">*</span> <span className="text-[#F53030]">*</span>
联系方式 联系方式
</p> </p>
<TextArea <Input
placeholder="请输入联系方式" placeholder="请输入联系方式"
onChange={(value) => setContact(value)} onChange={(value) => setContact(value)}
value={contact} value={contact}
maxLength={20} maxLength={20}
className="h-32 bg-[#FFFFFF1A] text-white rounded-2xl mt-2 p-2" className="bg-[#FFFFFF1A] text-white rounded-2xl mt-2 p-2"
style={{ style={{
"--placeholder-color": "#FFFFFF80", "--placeholder-color": "#FFFFFF80",
"--font-size": "14px", "--font-size": "14px",
@ -210,8 +211,7 @@ export default function SpaceRefund() {
style={{ "--background-color": "#FF669E", color: "#FFFFFF" }} style={{ "--background-color": "#FF669E", color: "#FFFFFF" }}
className="mt-2" className="mt-2"
> >
{isSubmitting && <ActivityIndicator size="small" color="white" />} {isSubmitting ? <div className="flex justify-center items-center">正在提交...<DotLoading color="#fff"/></div> : "提交退款"}
{isSubmitting ? "正在提交..." : "提交退款"}
</Button> </Button>
</div> </div>
</div> </div>

View File

@ -116,7 +116,7 @@ export default function PostItem({
dangerouslySetInnerHTML={{ dangerouslySetInnerHTML={{
__html: findLinksInText(data.text), __html: findLinksInText(data.text),
}} }}
className={`mb-2 mt-2 ${ className={`mb-2 mt-2 whitespace-normal ${
!isOpenText ? "text-ellipsis-7" : "" !isOpenText ? "text-ellipsis-7" : ""
} ${inter.className}`} } ${inter.className}`}
// style={{ // style={{
@ -128,7 +128,7 @@ export default function PostItem({
<div> <div>
<span> <span>
<pre <pre
className={`mb-2 mt-2 ${ className={`mb-2 mt-2 whitespace-normal ${
!isOpenText ? "text-ellipsis-7" : "" !isOpenText ? "text-ellipsis-7" : ""
} ${inter.className}`} } ${inter.className}`}
dangerouslySetInnerHTML={{ dangerouslySetInnerHTML={{

BIN
public/images/splash.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 61 KiB

View File

@ -24,7 +24,7 @@ export default function customFetch(method, url, options = {}, mid) {
newBody.mid = mid; newBody.mid = mid;
} }
const body = JSON.stringify({ ...base, ...newBody }); const body = JSON.stringify({ ...base, ...newBody });
// console.log("newBody", body); // console.log("newBody", body,url);
// 合并选项 // 合并选项
const mergedOptions = { ...defaultOptions, body }; const mergedOptions = { ...defaultOptions, body };