46 lines
1.3 KiB
JavaScript
46 lines
1.3 KiB
JavaScript
|
|
const storage = require('../../utils/storage');
|
||
|
|
|
||
|
|
Page({
|
||
|
|
data: {
|
||
|
|
avatarUrl: '',
|
||
|
|
nickname: '',
|
||
|
|
prefs: { taste: '都可以', priceRange: 'all', allergies: '' },
|
||
|
|
shoppingList: []
|
||
|
|
},
|
||
|
|
onShow() {
|
||
|
|
const prefs = storage.get('user_prefs', { taste: '都可以', priceRange: 'all', allergies: '' });
|
||
|
|
const shoppingList = storage.get('shopping_list', []);
|
||
|
|
this.setData({ prefs, shoppingList });
|
||
|
|
},
|
||
|
|
setPref(e) {
|
||
|
|
const { key, val } = e.currentTarget.dataset;
|
||
|
|
const prefs = { ...this.data.prefs, [key]: val };
|
||
|
|
this.setData({ prefs });
|
||
|
|
storage.set('user_prefs', prefs);
|
||
|
|
},
|
||
|
|
setAllergies(e) {
|
||
|
|
const prefs = { ...this.data.prefs, allergies: e.detail.value };
|
||
|
|
this.setData({ prefs });
|
||
|
|
storage.set('user_prefs', prefs);
|
||
|
|
},
|
||
|
|
toggleItem(e) {
|
||
|
|
const idx = e.currentTarget.dataset.index;
|
||
|
|
const list = this.data.shoppingList;
|
||
|
|
list[idx].checked = !list[idx].checked;
|
||
|
|
this.setData({ shoppingList: list });
|
||
|
|
storage.set('shopping_list', list);
|
||
|
|
},
|
||
|
|
clearShopping() {
|
||
|
|
wx.showModal({
|
||
|
|
title: '清空清单',
|
||
|
|
content: '确定清空所有购物清单吗?',
|
||
|
|
success: (res) => {
|
||
|
|
if (res.confirm) {
|
||
|
|
this.setData({ shoppingList: [] });
|
||
|
|
storage.set('shopping_list', []);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
});
|
||
|
|
}
|
||
|
|
});
|