用户端小程序修改

This commit is contained in:
2026-07-12 20:24:03 +08:00
parent e2dfb08de3
commit b267e885be
16 changed files with 551 additions and 214 deletions
@@ -7,7 +7,7 @@ import RegionPicker from '../../components/RegionPicker';
import { buildAddressListUrl, readCheckoutContext } from '../../lib/checkout-nav';
import { DEFAULT_REGION, formatRegion, type RegionSelection } from '../../lib/region-data';
import { normalizePhoneInput, validateMobilePhone } from '../../lib/phone';
import { getStoredUserPhone } from '../../lib/user-phone';
import { getStoredUserPhone, resolveDefaultUserPhone } from '../../lib/user-phone';
import { request, toast, type UserProfile } from '../../lib/api';
type AddressForm = {
@@ -28,24 +28,23 @@ export default function AddressEditPage() {
const [pickerOpen, setPickerOpen] = useState(false);
const [saving, setSaving] = useState(false);
const [error, setError] = useState('');
const [form, setForm] = useState<AddressForm>({
const [form, setForm] = useState<AddressForm>(() => ({
receiverName: '',
phone: '',
phone: id ? '' : getStoredUserPhone(),
province: DEFAULT_REGION.province,
city: DEFAULT_REGION.city,
district: DEFAULT_REGION.district,
detail: '',
isDefault: true,
});
}));
useEffect(() => {
if (id) return;
request<UserProfile>('/auth/me')
.then((me) => {
if (!me.phoneVerified) return;
const stored = getStoredUserPhone();
if (!stored) return;
setForm((prev) => (prev.phone ? prev : { ...prev, phone: stored }));
const phone = resolveDefaultUserPhone(me);
if (!phone) return;
setForm((prev) => (prev.phone ? prev : { ...prev, phone }));
})
.catch(() => {});
}, [id]);