23 lines
1.1 KiB
JavaScript
23 lines
1.1 KiB
JavaScript
const api = require('../../../services/api')
|
|
Page({
|
|
data: { name: '', category: 'study', cycleType: 'daily', dailyGoal: '', privacy: 2, submitting: false },
|
|
onNameInput(e) { this.setData({ name: e.detail.value }) },
|
|
onGoalInput(e) { this.setData({ dailyGoal: e.detail.value }) },
|
|
setCategory(e) { this.setData({ category: e.currentTarget.dataset.cat }) },
|
|
setCycle(e) { this.setData({ cycleType: e.currentTarget.dataset.cycle }) },
|
|
setPrivacy(e) { this.setData({ privacy: parseInt(e.currentTarget.dataset.val) }) },
|
|
async onSubmit() {
|
|
if (!this.data.name.trim()) { wx.showToast({ title: '请输入名称', icon: 'none' }); return }
|
|
this.setData({ submitting: true })
|
|
try {
|
|
await api.post('/api/checkin/items', {
|
|
name: this.data.name.trim(), category: this.data.category,
|
|
cycleType: this.data.cycleType, dailyGoal: this.data.dailyGoal || undefined, privacy: this.data.privacy
|
|
})
|
|
wx.showToast({ title: '创建成功' })
|
|
wx.navigateBack()
|
|
} catch(e) { wx.showToast({ title: e.message || '创建失败', icon: 'none' }) }
|
|
this.setData({ submitting: false })
|
|
}
|
|
})
|