fix:提交修改信息
This commit is contained in:
@@ -9,6 +9,11 @@ export type StoreDraftForm = {
|
||||
bankBranch: string;
|
||||
};
|
||||
|
||||
export type StoreDraft = {
|
||||
step: number;
|
||||
form: StoreDraftForm;
|
||||
};
|
||||
|
||||
export const STORE_DRAFT_KEY = 'partner_store_draft_v1';
|
||||
|
||||
export const defaultStoreForm = (): StoreDraftForm => ({
|
||||
@@ -22,18 +27,39 @@ export const defaultStoreForm = (): StoreDraftForm => ({
|
||||
bankBranch: '',
|
||||
});
|
||||
|
||||
export function loadStoreDraft(): StoreDraftForm | null {
|
||||
function normalizeForm(raw: Record<string, unknown>): StoreDraftForm {
|
||||
const base = defaultStoreForm();
|
||||
return {
|
||||
name: String(raw.name ?? base.name),
|
||||
phone: String(raw.phone ?? base.phone),
|
||||
district: String(raw.district ?? base.district),
|
||||
address: String(raw.address ?? base.address),
|
||||
intro: String(raw.intro ?? base.intro),
|
||||
bankAccountName: String(raw.bankAccountName ?? base.bankAccountName),
|
||||
bankAccountNo: String(raw.bankAccountNo ?? base.bankAccountNo),
|
||||
bankBranch: String(raw.bankBranch ?? base.bankBranch),
|
||||
};
|
||||
}
|
||||
|
||||
export function loadStoreDraft(): StoreDraft | null {
|
||||
try {
|
||||
const raw = localStorage.getItem(STORE_DRAFT_KEY);
|
||||
if (!raw) return null;
|
||||
return { ...defaultStoreForm(), ...JSON.parse(raw) };
|
||||
const parsed = JSON.parse(raw) as Record<string, unknown>;
|
||||
if (parsed.form && typeof parsed.form === 'object') {
|
||||
return {
|
||||
step: Math.min(3, Math.max(1, Number(parsed.step) || 1)),
|
||||
form: normalizeForm(parsed.form as Record<string, unknown>),
|
||||
};
|
||||
}
|
||||
return { step: 1, form: normalizeForm(parsed) };
|
||||
} catch {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
export function saveStoreDraft(form: StoreDraftForm) {
|
||||
localStorage.setItem(STORE_DRAFT_KEY, JSON.stringify(form));
|
||||
export function saveStoreDraft(draft: StoreDraft) {
|
||||
localStorage.setItem(STORE_DRAFT_KEY, JSON.stringify(draft));
|
||||
}
|
||||
|
||||
export function clearStoreDraft() {
|
||||
|
||||
Reference in New Issue
Block a user