Skip to content

Commit 0ff5c1d

Browse files
committed
init repository
1 parent 2bfe4ab commit 0ff5c1d

File tree

17 files changed

+753
-0
lines changed

17 files changed

+753
-0
lines changed

app.js

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
//app.js
2+
App({
3+
onLaunch: function () {
4+
// 展示本地存储能力
5+
var logs = wx.getStorageSync('logs') || []
6+
logs.unshift(Date.now())
7+
wx.setStorageSync('logs', logs)
8+
9+
// 登录
10+
wx.login({
11+
success: res => {
12+
// 发送 res.code 到后台换取 openId, sessionKey, unionId
13+
}
14+
})
15+
// 获取用户信息
16+
wx.getSetting({
17+
success: res => {
18+
if (res.authSetting['scope.userInfo']) {
19+
// 已经授权,可以直接调用 getUserInfo 获取头像昵称,不会弹框
20+
wx.getUserInfo({
21+
success: res => {
22+
// 可以将 res 发送给后台解码出 unionId
23+
this.globalData.userInfo = res.userInfo
24+
25+
// 由于 getUserInfo 是网络请求,可能会在 Page.onLoad 之后才返回
26+
// 所以此处加入 callback 以防止这种情况
27+
if (this.userInfoReadyCallback) {
28+
this.userInfoReadyCallback(res)
29+
}
30+
}
31+
})
32+
}
33+
}
34+
})
35+
},
36+
globalData: {
37+
userInfo: null
38+
}
39+
})

app.json

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
{
2+
"pages":[
3+
"pages/index/index",
4+
"pages/logs/logs"
5+
],
6+
"window":{
7+
"backgroundTextStyle":"light",
8+
"navigationBarBackgroundColor": "#fff",
9+
"navigationBarTitleText": "WeChat",
10+
"navigationBarTextStyle":"black"
11+
}
12+
}

app.wxss

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
/**app.wxss**/
2+
.container {
3+
height: 100%;
4+
display: flex;
5+
flex-direction: column;
6+
align-items: center;
7+
justify-content: space-between;
8+
padding: 200rpx 0;
9+
box-sizing: border-box;
10+
}
Lines changed: 225 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,225 @@
1+
2+
Component({
3+
properties: {
4+
dropDownMenuTitle: {
5+
type: Array,
6+
value: [],
7+
},
8+
dropDownMenuDistrictData: {
9+
type:Array,
10+
value:[]
11+
},
12+
13+
dropDownMenuSourceData: {
14+
type: Array,
15+
value: []
16+
},
17+
dropDownMenuStyleData: {
18+
type: Array,
19+
value: []
20+
},
21+
dropDownMenuFilterData: {
22+
type: Array,
23+
value: []
24+
},
25+
},
26+
data: {
27+
// private properity
28+
district_open: false, // 区域
29+
source_open: false, // 来源
30+
style_open: false, // 出租 出售
31+
filteropen: false, // 筛选
32+
shownavindex: '',
33+
dropDownMenuDistrictDataRight: {},
34+
district_left_select: '',
35+
district_right_select: '',
36+
district_right_select_name:'',
37+
selected_style_id: 0,
38+
selected_style_name:'',
39+
selected_source_id: 0,
40+
selected_source_name:'',
41+
selected_filter_id: 0,
42+
selected_filter_name: ''
43+
},
44+
methods: {
45+
46+
tapDistrictNav: function (e) {
47+
if (this.data.district_open) {
48+
this.setData({
49+
district_open: false,
50+
source_open: false,
51+
style_open: false,
52+
filter_open: false,
53+
shownavindex: 0
54+
})
55+
} else {
56+
this.setData({
57+
district_open: true,
58+
style_open: false,
59+
source_open: false,
60+
filter_open: false,
61+
shownavindex: e.currentTarget.dataset.nav
62+
})
63+
}
64+
65+
},
66+
tapSourceNav: function (e) {
67+
if (this.data.source_open) {
68+
this.setData({
69+
source_open: false,
70+
style_open: false,
71+
district_open: false,
72+
filter_open: false,
73+
shownavindex: 0
74+
})
75+
} else {
76+
this.setData({
77+
source_open: true,
78+
style_open: false,
79+
district_open: false,
80+
filter_open: false,
81+
shownavindex: e.currentTarget.dataset.nav
82+
})
83+
}
84+
},
85+
tapStyleNav: function (e) {
86+
if (this.data.style_open) {
87+
this.setData({
88+
source_open: false,
89+
style_open: false,
90+
district_open: false,
91+
filter_open: false,
92+
shownavindex: 0
93+
})
94+
} else {
95+
this.setData({
96+
source_open: false,
97+
style_open: true,
98+
filter_open: false,
99+
district_open: false,
100+
shownavindex: e.currentTarget.dataset.nav
101+
})
102+
}
103+
console.log(e.target)
104+
},
105+
tapFilterNav: function (e) {
106+
if (this.data.filter_open) {
107+
this.setData({
108+
source_open: false,
109+
style_open: false,
110+
district_open: false,
111+
filter_open: false,
112+
shownavindex: 0
113+
})
114+
} else {
115+
this.setData({
116+
source_open: false,
117+
style_open: false,
118+
district_open: false,
119+
filter_open: true,
120+
shownavindex: e.currentTarget.dataset.nav
121+
})
122+
}
123+
},
124+
125+
selectDistrictLeft: function (e) {
126+
var model = e.target.dataset.model.childModel;
127+
var selectedId = e.target.dataset.model.id
128+
var selectedTitle = e.target.dataset.model.title;
129+
this.setData({
130+
dropDownMenuDistrictDataRight: model==null?"":model,
131+
district_left_select: selectedId,
132+
district_right_select: '',
133+
})
134+
if (model == null || model.length == 0) {
135+
this.closeHyFilter();
136+
this.triggerEvent("selectedItem", { index: this.data.shownavindex, selectedId: selectedId, selectedTitle: selectedTitle })
137+
}
138+
},
139+
140+
selectDistrictRight: function (e) {
141+
var selectedId = e.target.dataset.model.id
142+
var selectedTitle = e.target.dataset.model.title;
143+
this.closeHyFilter();
144+
this.setData({
145+
district_right_select: selectedId,
146+
district_right_select_name:selectedTitle
147+
})
148+
this.triggerEvent("selectedItem", { index: this.data.shownavindex, selectedId: selectedId, selectedTitle: selectedTitle })
149+
},
150+
151+
selectSourceItem: function (e) {
152+
var selectedId = e.target.dataset.model.id
153+
var selectedTitle = e.target.dataset.model.title;
154+
this.closeHyFilter();
155+
this.setData({
156+
selected_source_id: selectedId,
157+
selected_source_name:selectedTitle
158+
})
159+
this.triggerEvent("selectedItem", { index: this.data.shownavindex, selectedId: selectedId, selectedTitle: selectedTitle })
160+
},
161+
162+
selectFilterItem: function (e) {
163+
var selectedId = e.target.dataset.model.id
164+
var selectedTitle = e.target.dataset.model.title;
165+
this.closeHyFilter();
166+
this.setData({
167+
selected_filter_id: selectedId,
168+
selected_filter_name:selectedTitle
169+
})
170+
this.triggerEvent("selectedItem", { index: this.data.shownavindex, selectedId: selectedId, selectedTitle: selectedTitle })
171+
},
172+
173+
selectStyleItem: function (e) {
174+
var selectedId = e.target.dataset.model.id
175+
var selectedTitle = e.target.dataset.model.title;
176+
this.closeHyFilter();
177+
this.setData({
178+
selected_style_id: selectedId,
179+
selected_style_name:selectedTitle
180+
})
181+
this.triggerEvent("selectedItem", { index: this.data.shownavindex, selectedId: selectedId, selectedTitle: selectedTitle })
182+
},
183+
184+
/**关闭筛选 */
185+
closeHyFilter: function () {
186+
if (this.data.district_open) {
187+
this.setData({
188+
district_open: false,
189+
source_open: false,
190+
style_open: false,
191+
filter_open: false,
192+
})
193+
} else if (this.data.source_open) {
194+
this.setData({
195+
source_open: false,
196+
style_open: false,
197+
district_open: false,
198+
filter_open: false,
199+
})
200+
}
201+
else if (this.data.style_open) {
202+
this.setData({
203+
source_open: false,
204+
style_open: false,
205+
district_open: false,
206+
filter_open: false,
207+
})
208+
}
209+
else if (this.data.filter_open) {
210+
this.setData({
211+
source_open: false,
212+
style_open: false,
213+
district_open: false,
214+
filter_open: false,
215+
})
216+
}
217+
},
218+
},
219+
//组件生命周期函数,在组件实例进入页面节点树时执行
220+
attached: function () {
221+
222+
223+
},
224+
225+
})
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{
2+
"component": true
3+
}
Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
<view class="nav">
2+
<view class="nav-child {{district_open? 'active' : ''}}" bindtap="tapDistrictNav" data-nav="1">
3+
<view class="nav-title">{{district_right_select_name.length > 0 ?district_right_select_name : dropDownMenuTitle[0]}}</view>
4+
<view class="icon"></view>
5+
</view>
6+
<view class="nav-child borders {{source_open? 'active' : ''}}" bindtap="tapSourceNav" data-nav="2">
7+
<view class="nav-title">{{selected_source_name.length > 0 ?selected_source_name : dropDownMenuTitle[1]}}</view>
8+
<view class="icon"></view>
9+
</view>
10+
<view class="nav-child borders-right {{style_open? 'active' : ''}}" bindtap="tapStyleNav" data-nav="3">
11+
<view class="nav-title">{{selected_style_name.length > 0 ?selected_style_name : dropDownMenuTitle[2]}}</view>
12+
<view class="icon"></view>
13+
</view>
14+
<view class="nav-child {{filter_open ? 'active' : ''}}" bindtap="tapFilterNav" data-nav="4">
15+
<view class="nav-title">{{selected_filter_name.length > 0 ?selected_filter_name : dropDownMenuTitle[3]}}</view>
16+
<view class="icon"></view>
17+
</view>
18+
</view>
19+
20+
21+
22+
<view class="district {{district_open ? 'show' : 'disappear'}} ">
23+
<view class="half half-left">
24+
<view class="{{district_left_select == item.id ? 'current_left_select' : ''}}" wx:for="{{dropDownMenuDistrictData}}" bindtap="selectDistrictLeft" data-model='{{item}}' wx:key="unique">
25+
{{item.title}}
26+
</view>
27+
</view>
28+
<view class="half half-right">
29+
<view class="{{district_right_select == item.id ? 'current_right_select' : ''}}" wx:for="{{dropDownMenuDistrictDataRight}}" bindtap="selectDistrictRight" data-model='{{item}}' wx:key="unique">
30+
{{item.title}}
31+
</view>
32+
</view>
33+
</view>
34+
35+
<view class="container container_hd {{source_open ? 'show' : 'disappear'}} ">
36+
<view class='z-height'>
37+
<view>
38+
<block wx:for="{{dropDownMenuSourceData}}" wx:key="unique">
39+
<view class="sortitem {{selected_source_id==item.id ? ' active ' : ' '}}" data-model='{{item}}' bindtap='selectSourceItem'> {{item.title}}</view>
40+
</block>
41+
</view>
42+
</view>
43+
</view>
44+
<view class="container container_hd {{style_open ? 'show' : 'disappear'}} ">
45+
<view class='z-height'>
46+
<view>
47+
<block wx:for="{{dropDownMenuStyleData}}" wx:key="unique">
48+
<view class="sortitem {{selected_style_id==item.id ? ' active ' : ' '}}" data-model='{{item}}' bindtap='selectStyleItem'> {{item.title}}</view>
49+
</block>
50+
</view>
51+
</view>
52+
</view>
53+
<view class="container container_hd {{filter_open ? 'show' : 'disappear'}} ">
54+
<view class='z-height'>
55+
<view>
56+
<block wx:for="{{dropDownMenuFilterData}}" wx:key="unique">
57+
<view class="sortitem {{selected_filter_id==item.id ? ' active ' : ' '}}" data-model='{{item}}' bindtap='selectFilterItem'> {{item.title}}</view>
58+
</block>
59+
</view>
60+
</view>
61+
</view>

0 commit comments

Comments
 (0)