"use client"; import React, { useState, useRef, useMemo, Fragment } from "react"; import { Switch, Space, Checkbox, Button, Toast, TextArea } from "antd-mobile"; import { useRouter, useSearchParams } from "next/navigation"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { faAngleLeft } from "@fortawesome/free-solid-svg-icons"; import OwnInput from "@/components/OwnInput"; import requireAPI from "@/utils/requireAPI"; // getStreamerInfo const superSingles = [ { key: 0, text: "永久" }, { key: 1, text: "按年生效" }, { key: 2, text: "按半年生效" }, { key: 3, text: "按季度生效" }, { key: 4, text: "按月生效" }, ]; const ListItemWithCheckbox = ({ superSingle, formData, setFormData, superSingleCheckeds, }) => { const checkboxRef = useRef(null); return (
  • { checkboxRef.current?.toggle(); }} >
    e.stopPropagation()}> { const newFormData = { ...formData }; newFormData.superSingle[superSingle.key].enable = value; setFormData(newFormData); }} > {superSingle.text}
    ¥ { const newFormData = { ...formData }; newFormData.superSingle[superSingle.key].price = value; setFormData(newFormData); }} />
    | { const newFormData = { ...formData }; newFormData.superSingle[superSingle.key].wechatFree = value; setFormData(newFormData); }} >

    赠送微信

  • ); }; export default function CreateProfile() { const router = useRouter(); const searchParams = useSearchParams(); const [formData, setFormData] = useState({ spacePrice: 0, ironFanPrice: 0, openSuper: true, superSingle: [ { enable: false, price: 0, wechatFree: false }, { enable: false, price: 0, wechatFree: false }, { enable: false, price: 0, wechatFree: false }, { enable: false, price: 0, wechatFree: false }, { enable: false, price: 0, wechatFree: false }, ], spaceIntro: "", }); const [spacePriceAble, setSpacePriceAble] = useState(false); const [tiefenPriceAble, setTiefenPriceAble] = useState(false); const [isSubmitting, setIsSubmitting] = useState(false); const [superSingleCheckeds, setSuperSingleCheckeds] = useState([]); const listItemWithCheckboxMemo = useMemo(() => { return superSingles.map((item) => ( )); }, [formData, superSingleCheckeds]); const handleSubmit = async () => { const { spaceIntro, spacePrice, ironFanPrice, openSuper, superSingle } = formData; if (!spaceIntro || !spacePrice || !ironFanPrice) { Toast.show({ icon: "fail", content: "请完善内容后提交", position: "top", }); return; } const _spacePrice = parseInt(spacePrice * 100, 10); if (isNaN(_spacePrice) || _spacePrice < 0) { Toast.show({ icon: "fail", content: "请输入有效的解锁空间价格", position: "top", }); return; } const _ironFanPrice = parseInt(ironFanPrice * 100, 10); if (isNaN(_ironFanPrice) || _ironFanPrice < 100 || _ironFanPrice > 388800) { Toast.show({ icon: "fail", content: "请输入有效的铁粉价格", position: "top", }); return; } let isPrice = false; if (openSuper) { Object.values(superSingle).forEach((it) => { if (it.enable) { const superFanPrice = it.price; if (!superFanPrice) { isPrice = true; Toast.show({ icon: "fail", content: "请填写超粉价格", position: "top", }); } else { const _superFanPrice = parseInt(superFanPrice * 100, 10); if ( openSuper && (isNaN(_superFanPrice) || _superFanPrice < 100 || _superFanPrice > 388800) ) { isPrice = true; Toast.show({ icon: "fail", content: "请输入有效的超粉价格", position: "top", }); return; } if (openSuper && _superFanPrice <= _ironFanPrice) { isPrice = true; Toast.show({ icon: "fail", content: "请输入大于铁粉价格的超粉价格", position: "top", }); return; } } } }); } if (isSubmitting) return; const superfan_price_list = superSingle.map((it, index) => ({ period: index, enable: it.enable ? 1 : 0, price: parseInt(it.price * 100, 10), is_superfanship_give_wechat: it.wechatFree ? 1 : 0, })); setIsSubmitting(true); try { const body = { profile: spaceIntro, admission_price: parseInt(spacePrice * 100, 10), ironfanship_price: parseInt(ironFanPrice * 100, 10), is_superfanship_enabled: openSuper ? 1 : 0, superfan_price_list, }; const _data = await requireAPI( "POST", "/api/zone/update", { body, }, true ); if (_data.ret === -1) { Toast.show({ icon: "error", content: _data.msg, position: "top", }); return; } Toast.show({ icon: "success", content: "修改成功,请重进空间刷新查看", position: "top", }); router.back(); } catch (error) { console.error(error); } finally { setIsSubmitting(false); } }; return (
    {/* 头部标题 */}
    { router.back(); }} />

    空间付费设置

    {/* 内容 */}

    空间介绍 *