import { useState } from "react"; import { View, Text, Image } from "@tarojs/components"; import Taro, { useRouter } from "@tarojs/taro"; import PageCustom from "@/components/page-custom/index"; import NavBarNormal from "@/components/nav-bar-normal/index"; import Popup from "@/components/popup/popup"; import editorStyle from "../editor.module.less"; import { useCharacterStore } from "@/store/characterStore"; import { useComponentStore } from "@/store/componentStore"; import WemetaInput from "@/components/wemeta-input/index"; export default function Index() { const router = useRouter(); const { id } = router.params; const deltaNum = id ? 1 : 2; let currentComponent = useComponentStore((state) => state.currentComponent); const character = useCharacterStore((state) => state.character); const { saveComponent } = useComponentStore(); const loading = useComponentStore((state) => state.loading); const { value } = currentComponent?.data ?? {}; const [storeProductValue, setStoreProductValue] = useState<{ appid: string; productId: string; }>(value ?? {}); const [show, setShow] = useState(false); const [tipsType, setTipsType] = useState(1); const handleSave = async () => { if (loading) { return; } if (!storeProductValue.appid || !storeProductValue.productId) { return; } const c = { data: { value: storeProductValue, layout: 'mini', }, enabled: currentComponent?.enabled ?? true, id: currentComponent?.id, name: currentComponent?.name ?? "微信小店商品", characterProfileId: currentComponent?.characterProfileId ?? character?.profileId, type: "storeProduct", }; console.log(c); await saveComponent(c); }; const handleNavBack = async () => { await handleSave(); }; const setValueByKey = (key: string, v: string) => { setStoreProductValue((prev)=> { return { ...prev, [key]: v } }); }; const showTips = (type: number) => () => { setTipsType(type); setShow(true); }; const renderTips = (type: number) => { if (type === 1) { return ( <> 🌟 小绿提示: 通过微信小店后台 - 商品管理 - 商品列表 - 规格/编码获取。 ); } return ( <> 🌟 小绿提示: 通过微信小店后台 - 商品管理 - 商品规格/编码 ); }; return ( 填写小店商品信息 小店ID 如何获取? setValueByKey("appid", value)} placeholder="长按粘贴小店ID..." /> 商品ID 如何获取? setValueByKey("productId", value)} placeholder="长按粘贴商品ID..." /> {renderTips(tipsType)} setShow(false)}>知道了 ); }