index.js
2.35 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
import {
getBindtapData
} from '../../utils/util';
let app = getApp();
Page({
data: {
authorizeVisible: false,
productDetailVisible: false,
bannerList: [], // 轮播图列表
total: 0,
page: 1,
size: 10,
productList: [], // 产品列表
curProductDetail: {} // 选中的产品详情
},
onShareAppMessage() {},
showAuth() {
this.setData({
authorizeVisible: true
})
},
onLoad(options) {
this.queryProduct();
this.queryBanner();
},
// 到达底部
onReachBottom() {
if (this.data.productList.length < this.data.total) {
this.setData({
page: this.data.page + 1
});
this.queryProduct();
}
},
// 重置页面列表 点击搜索条件时需要
resetPage() {
this.setData({
page: 1,
productList: []
})
},
/**
* 请求产品
*/
queryProduct() {
return new Promise((resolve, reject) => {
app.post({
sid: false,
url: app.api.product,
data: {
page: this.data.page,
size: this.data.size,
},
}).then((result) => {
let productList = result.list;
productList = this.data.productList.concat(productList);
this.setData({
productList: productList,
total: result.total
})
resolve();
})
});
},
/**
* 请求bannder
*/
queryBanner() {
return new Promise((resolve, reject) => {
app.post({
sid: false,
url: app.api.bannerList,
data: {},
}).then((result) => {
this.setData({
bannerList: result
})
resolve();
})
});
},
/**
* 点击详情
*/
onProductItemHandler(evt) {
let curProductDetail = getBindtapData(evt);
this.setData({
curProductDetail: curProductDetail,
productDetailVisible: true
})
},
/**
* 点击扫码按钮
*/
onScanHandler() {
wx.scanCode({
onlyFromCamera: true,
success(res) {
// 扫码结果
let result = res.result;
}
})
},
hideMask() {
this.setData({
productDetailVisible: false
})
},
// 子组件事件
evtcomp(evt) {
let {
name,
data
} = evt.detail;
switch (name) {
case "_evt_hide_product_detail_mask":
this.hideMask();
break;
default:
break;
}
},
})