Files
qipai/miniapp/pages/franchise/apply.js
T
2026-08-10 13:17:19 +08:00

28 lines
1.4 KiB
JavaScript

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' }) },
})