const { request, clientRequestId } = require('../../utils/api.js') Page({ data: { form: { city: '', contactName: '', contactPhone: '', message: '' }, clientRequestId: '', applicationNo: '', submitting: false, errorMessage: '', }, onLoad() { this.setData({ clientRequestId: clientRequestId('franchise') }) }, onInput(event) { const field = event.currentTarget.dataset.field; this.setData({ [`form.${field}`]: event.detail.value }) }, async submit() { const form = this.data.form if (!form.city.trim() || !form.contactName.trim() || !/^\+?[0-9 -]{6,20}$/.test(form.contactPhone.trim())) { this.setData({ errorMessage: '请填写意向城市、联系人和有效联系电话' }); return } this.setData({ submitting: true, errorMessage: '' }) try { const response = await request('/franchise-applications', { method: 'POST', data: { city: form.city.trim(), contactName: form.contactName.trim(), contactPhone: form.contactPhone.trim(), message: form.message.trim(), clientRequestId: this.data.clientRequestId, } }) this.setData({ applicationNo: response.data.applicationNo }) } catch (error) { this.setData({ errorMessage: error.message || '申请提交失败,请稍后重试' }) } finally { this.setData({ submitting: false }) } }, backHome() { wx.reLaunch({ url: '/pages/index/index' }) }, })