Skip to content

Commit 4463282

Browse files
author
suibingyue
committed
封装首页控件
1 parent 1212c2e commit 4463282

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

48 files changed

+1582
-173
lines changed

.idea/.name

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/bqseller.iml

Lines changed: 9 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/jsLibraryMappings.xml

Lines changed: 7 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/libraries/bqseller_node_modules.xml

Lines changed: 14 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/misc.xml

Lines changed: 14 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/modules.xml

Lines changed: 8 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/vcs.xml

Lines changed: 6 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/workspace.xml

Lines changed: 434 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

app/page/common/dialog.js

Whitespace-only changes.

app/page/common/goods.js

Whitespace-only changes.

app/page/home/SlideBanner.js

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
2+
3+
var React = require('react-native');
4+
var Swiper = require('react-native-swiper');
5+
var Loading = require('../loading');
6+
var Web = require('../web');
7+
var Styles = require('./style');
8+
9+
var {
10+
Image,
11+
TouchableHighlight,
12+
} = React;
13+
14+
//参数的传递使用props
15+
var Slider = React.createClass({
16+
17+
_loadWeb:function(title,loadurl){
18+
this.props.navigator.push({
19+
title: title,
20+
component: Web,
21+
passProps:{
22+
url: loadurl,
23+
}
24+
});
25+
},
26+
27+
render: function(){
28+
var thiz = this;
29+
return (
30+
<Swiper style={Styles.wrapper} showsButtons={false} autoplay={true} height={125} showsPagination={false}>
31+
{this.props.banners.map(function(banner){
32+
return (
33+
<TouchableHighlight onPress={()=>thiz._loadWeb(banner.title,banner.url)}>
34+
<Image style={[Styles.slide,]} source={{uri: banner.image_path}}></Image>
35+
</TouchableHighlight>
36+
);
37+
})}
38+
</Swiper>
39+
);
40+
}
41+
});
42+
43+
module.exports = Slider;

app/page/home/adview.js

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
'use strict';
2+
3+
var React = require('react-native');
4+
var Styles = require('./style');
5+
6+
var Web = require('../web');
7+
8+
var {
9+
View,
10+
Image,
11+
TouchableHighlight,
12+
} = React;
13+
14+
var ADViews = React.createClass({
15+
16+
_loadWeb:function(title,loadurl){
17+
this.props.navigator.push({
18+
title: title,
19+
component: Web,
20+
passProps:{
21+
url: loadurl,
22+
}
23+
});
24+
},
25+
26+
render: function() {
27+
var advViews = [];
28+
var advs = this.props.advs;
29+
for(var i = 0; i < advs.length; i++){
30+
var ad = advs[i];
31+
advViews.push(
32+
<TouchableHighlight onPress={()=>this._loadWeb(ad.title,ad.url)}>
33+
<View>
34+
<View style={{height:10,backgroundColor:'#eef0f3'}} />
35+
<Image style={[Styles.adv]} source={{uri:advs[i].image_path}} />
36+
</View>
37+
</TouchableHighlight>
38+
);
39+
};
40+
return (
41+
<View >
42+
{advViews}
43+
</View>
44+
);
45+
}
46+
});
47+
48+
module.exports = ADViews;

app/page/home/bqservice.js

Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
'use strict';
2+
var React = require('react-native');
3+
var Util = require('../../util/util');
4+
var {
5+
View,
6+
Text,
7+
StyleSheet,
8+
TouchableHighlight,
9+
Image,
10+
} = React;
11+
12+
//每个单项组件
13+
var ItemBlock = React.createClass({
14+
render: function() {
15+
16+
var item = this.props.service;
17+
return (
18+
<View style={[styles.itemBlock]}>
19+
<Image style={[styles.image]} source={{uri: item.icon}}></Image>
20+
<Text style={[styles.font18]}>{item.title}</Text>
21+
</View>
22+
);
23+
}
24+
});
25+
26+
var BqService = React.createClass({
27+
render: function(){
28+
var collumnNum = this.props.collumnNum;
29+
var services = this.props.services;
30+
var itemWidth = Math.floor(Util.size.width/collumnNum);
31+
var size ={
32+
width:itemWidth,
33+
height: itemWidth*0.75,
34+
};
35+
36+
var itemviews = [];
37+
38+
for(var ii = 0;ii<services.length;ii++){
39+
itemviews.push(
40+
<View style={[styles.center,size]}>
41+
<ItemBlock service={services[ii]} />
42+
</View>
43+
);
44+
}
45+
46+
return(
47+
<View style={styles.container}>
48+
{itemviews}
49+
</View>
50+
);
51+
},
52+
});
53+
54+
var styles = StyleSheet.create({
55+
container:{
56+
flexDirection:'row',
57+
flexWrap:'wrap',
58+
},
59+
center:{
60+
justifyContent:'center',
61+
alignItems:'center',
62+
},
63+
itemBlock:{
64+
//backgroundColor:'red',
65+
borderRadius:5,
66+
},
67+
font18:{
68+
fontSize:14,
69+
color:'#333333',
70+
marginTop:5,
71+
},
72+
image: {
73+
width:50,
74+
height:50,
75+
resizeMode: Image.resizeMode.contain,
76+
},
77+
});
78+
79+
module.exports = BqService;

app/page/home/hotgoods.js

Lines changed: 114 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,114 @@
1+
'use strict';
2+
var React = require('react-native');
3+
var Util = require('../../util/util');
4+
var {
5+
View,
6+
Text,
7+
StyleSheet,
8+
TouchableHighlight,
9+
Image,
10+
} = React;
11+
12+
//每个单项组件
13+
var Product = React.createClass({
14+
render: function() {
15+
16+
var item = this.props.data;
17+
var itemWidth =this.props.itemWidth;
18+
var itemsize ={
19+
width:itemWidth,
20+
};
21+
var imagesize ={
22+
width:itemWidth-10,
23+
height: itemWidth-10,
24+
};
25+
return (
26+
<View style={[styles.itemBlock,itemsize]}>
27+
<Image style={[styles.image,imagesize]} source={{uri: item.default_image}}></Image>
28+
<Text style={[styles.font_goodsname,styles.marginTop4]}>{item.goods_name}</Text>
29+
<View style={[styles.row]}>
30+
<Text>倍全价: </Text>
31+
<Text style = {[styles.font_bqprice,styles.flex1]}>{item.price}</Text>
32+
<Image style={[styles.image,styles.image_add]} source={require("image!ic_goods_add")}></Image>
33+
</View>
34+
</View>
35+
);
36+
}
37+
});
38+
39+
var HotGoods = React.createClass({
40+
render: function(){
41+
var collumnNum = this.props.collumnNum;
42+
var products = this.props.hotgoods;
43+
var itemWidth = Math.floor((Util.size.width)/collumnNum);
44+
var size ={
45+
width:itemWidth,
46+
height: itemWidth*1.25,
47+
};
48+
var itemviews = [];
49+
for(var ii = 0;ii<products.length;ii++){
50+
itemviews.push(
51+
<View style={[styles.center,size]} key={ii}>
52+
<Product
53+
itemWidth ={itemWidth-15}
54+
data={products[ii]} />
55+
</View>
56+
);
57+
}
58+
59+
return(
60+
<View style={styles.container}>
61+
{itemviews}
62+
</View>
63+
);
64+
},
65+
});
66+
67+
var styles = StyleSheet.create({
68+
container:{
69+
flexDirection:'row',
70+
justifyContent:'space-between',
71+
backgroundColor:'#f5f5f5',
72+
flexWrap:'wrap',
73+
74+
},
75+
center:{
76+
justifyContent:'center',
77+
alignItems:'center',
78+
},
79+
itemBlock:{
80+
backgroundColor:'white',
81+
padding:5,
82+
},
83+
row:{
84+
flexDirection:'row',
85+
},
86+
flex1:{
87+
flex:1,
88+
},
89+
marginTop4:{
90+
marginTop:4,
91+
},
92+
font_goodsname:{
93+
fontSize:12,
94+
color:'#333333',
95+
height:26,
96+
},
97+
font_bqprice:{
98+
fontSize:16,
99+
color:'#ee7700',
100+
},
101+
image: {
102+
paddingLeft:5,
103+
paddingRight:5,
104+
paddingTop:5,
105+
paddingBottom:5,
106+
resizeMode: Image.resizeMode.stretch,//拉伸
107+
},
108+
image_add:{
109+
width:25,
110+
height:25,
111+
},
112+
});
113+
114+
module.exports = HotGoods;

0 commit comments

Comments
 (0)