import { ref } from 'file:///home/akoo/%E5%B1%85%E5%AE%B6%E6%9C%8D%E5%8A%A1/hss-home-service/website/node_modules/vue/index.mjs'; import { u as useRuntimeConfig } from './server.mjs'; function isSuccess(code) { return code === 200 || code === "200" || code === "SUCCESS"; } function validatePhone(phone) { return /^1[3-9]\d{9}$/.test(phone); } function useLeadForm(type) { const config = useRuntimeConfig(); const loading = ref(false); const success = ref(false); const error = ref(""); const form = ref({ name: "", orgName: "", phone: "", type }); async function submit() { var _a; error.value = ""; if (!form.value.name.trim()) { error.value = "\u8BF7\u586B\u5199\u59D3\u540D"; return; } if (!form.value.orgName.trim()) { error.value = "\u8BF7\u586B\u5199\u5355\u4F4D\u540D\u79F0"; return; } if (!validatePhone(form.value.phone)) { error.value = "\u8BF7\u586B\u5199\u6B63\u786E\u7684\u624B\u673A\u53F7"; return; } loading.value = true; try { if (config.public.useMockLead) { await new Promise((resolve) => setTimeout(resolve, 600)); success.value = true; loading.value = false; return; } const res = await $fetch(`${config.public.apiPrefix}/leads`, { method: "POST", body: { ...form.value, source: "official_website", submittedAt: (/* @__PURE__ */ new Date()).toISOString() } }); if (isSuccess(res.code)) { success.value = true; } else { error.value = res.message || "\u63D0\u4EA4\u5931\u8D25\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5"; } } catch (e) { error.value = ((_a = e == null ? void 0 : e.data) == null ? void 0 : _a.message) || (e == null ? void 0 : e.message) || "\u7F51\u7EDC\u5F02\u5E38\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5"; } finally { loading.value = false; } } function reset() { success.value = false; error.value = ""; } return { form, loading, success, error, submit, reset }; } export { useLeadForm as u }; //# sourceMappingURL=useLeadForm-hNHTDEhY.mjs.map