Skip to content

Commit 7c1bc8b

Browse files
committed
🇨🇳 add 动态
1 parent f6cf351 commit 7c1bc8b

File tree

5 files changed

+77
-26
lines changed

5 files changed

+77
-26
lines changed

apilist.js

+35-5
Original file line numberDiff line numberDiff line change
@@ -20,22 +20,52 @@ var fetchResourceWithPage = (request, offset=0, pageSize=20) => {
2020
}
2121
};
2222

23+
/**
24+
* 节点
25+
*/
26+
2327
// 默认主题列表
24-
var TOPIC_API = apiResourceWrapper('topics.json');
28+
const TOPIC_API = apiResourceWrapper('topics.json');
29+
30+
/**
31+
* 帖子
32+
*/
33+
2534
// 最近主题
26-
var RECENT_TOP_API = requestParamsWrapper(TOPIC_API, 'type=recent');
35+
const RECENT_TOP_API = requestParamsWrapper(TOPIC_API, 'type=recent');
2736
// 热门主题
28-
var POP_TOPIC_API = requestParamsWrapper(TOPIC_API, 'type=popular');
37+
const POP_TOPIC_API = requestParamsWrapper(TOPIC_API, 'type=popular');
2938
// 精华主题
30-
var EXEC_TOPIC_API = requestParamsWrapper(TOPIC_API, 'type=excellent');
39+
const EXEC_TOPIC_API = requestParamsWrapper(TOPIC_API, 'type=excellent');
3140
// 还没有任何回复的
32-
var NO_REPLY_API = requestParamsWrapper(TOPIC_API, 'type=no_reply');
41+
const NO_REPLY_API = requestParamsWrapper(TOPIC_API, 'type=no_reply');
42+
43+
44+
/**
45+
* 动态
46+
*/
47+
48+
// 职业
49+
const JOB_API = requestParamsWrapper(TOPIC_API, 'node_id=12');
50+
// 问答
51+
const QA_API = requestParamsWrapper(TOPIC_API, 'node_id=20');
52+
// 招聘
53+
const JD_API = requestParamsWrapper(TOPIC_API, 'node_id=19');
54+
// 活动
55+
const AC_API = requestParamsWrapper(TOPIC_API, 'node_id=24');
56+
3357

3458
module.exports = {
3559
TOPIC_API,
3660
POP_TOPIC_API,
3761
EXEC_TOPIC_API,
3862
NO_REPLY_API,
3963
RECENT_TOP_API,
64+
65+
JOB_API,
66+
QA_API,
67+
JD_API,
68+
AC_API,
69+
4070
fetchResourceWithPage
4171
};

components/a-AppMain.js

+7-7
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ var AppNavBar = React.createClass({
4747
translucent={false}
4848
>
4949
<TabBarIOS.Item
50-
title="社区"
50+
title="帖子"
5151
icon={{uri: require('image!iconfont-zuijinfabu')}}
5252
selected={this.state.selectedTab === 'indexTab'}
5353
onPress={() => {
@@ -63,7 +63,7 @@ var AppNavBar = React.createClass({
6363
)}
6464
</TabBarIOS.Item>
6565
<TabBarIOS.Item
66-
title="话题"
66+
title="标签"
6767
icon={{uri: require('image!iconfont-jinghua')}}
6868
selected={this.state.selectedTab === 'niceTab'}
6969
onPress={() => {
@@ -77,7 +77,7 @@ var AppNavBar = React.createClass({
7777
)}
7878
</TabBarIOS.Item>
7979
<TabBarIOS.Item
80-
title="招聘"
80+
title="动态"
8181
icon={{uri: require('image!iconfont-hot')}}
8282
selected={this.state.selectedTab === 'hotTab'}
8383
onPress={() => {
@@ -86,10 +86,10 @@ var AppNavBar = React.createClass({
8686
});
8787
}}>
8888
{this._renderPage([
89-
{api: apilist.RECENT_TOP_API, apiName: 'RECENT_TOP_API', tabLable: '最新'},
90-
{api: apilist.POP_TOPIC_API, apiName: 'POP_TOPIC_API', tabLable: '最热'},
91-
{api: apilist.NO_REPLY_API, apiName: 'NO_REPLY_API', tabLable: '沙发'},
92-
{api: apilist.EXEC_TOPIC_API, apiName: 'EXEC_TOPIC_API', tabLable: '精华'}]
89+
{api: apilist.JOB_API, apiName: 'JOB_API', tabLable: '职业'},
90+
{api: apilist.QA_API, apiName: 'QA_API', tabLable: '问答'},
91+
{api: apilist.JD_API, apiName: 'JD_API', tabLable: '招聘'},
92+
{api: apilist.AC_API, apiName: 'AC_API', tabLable: '活动'}]
9393
)}
9494
</TabBarIOS.Item>
9595
<TabBarIOS.Item

components/a-TopicCard.js

+33-12
Original file line numberDiff line numberDiff line change
@@ -30,10 +30,32 @@ var TopicCard = React.createClass({
3030
this.fetchTopicsData();
3131
},
3232

33-
_avatarFilter(avatar) {
34-
return /testerhome/i.test(avatar) ?
33+
_avatarFilter(topic) {
34+
let avatar = topic.user &&
35+
topic.user.avatar_url &&
36+
topic.user.avatar_url;
37+
38+
if(avatar) {
39+
return /testerhome/i.test(avatar) ?
3540
avatar :
3641
'https://testerhome.com' + avatar;
42+
} else {
43+
// TODO
44+
// 替换成匿名用户头像地址
45+
return 'https://testerhome.com/user/big_avatar/118.jpg';
46+
}
47+
},
48+
49+
_checkUser(topic) {
50+
let login = topic.user &&
51+
topic.user.login &&
52+
topic.user.login;
53+
54+
if(login) {
55+
return login;
56+
} else {
57+
return '匿名用户';
58+
}
3759
},
3860

3961
_stringFilter(title, len) {
@@ -52,14 +74,13 @@ var TopicCard = React.createClass({
5274
},
5375

5476
_loadMore() {
55-
// console.log('reached to bottom');
56-
// this.fetchTopicsData(
57-
// apilist.fetchResourceWithPage(
58-
// apilist[this.props.currentReqName],
59-
// this.state.currentOffset + 20
60-
// ),
61-
// 20
62-
// )
77+
this.fetchTopicsData(
78+
apilist.fetchResourceWithPage(
79+
apilist[this.props.currentReqName],
80+
this.state.currentOffset + 20
81+
),
82+
20
83+
);
6384
},
6485

6586
_reload() {
@@ -119,15 +140,15 @@ var TopicCard = React.createClass({
119140
<View style={styles.avatar}>
120141
<Image
121142
style={styles.avatarImg}
122-
source={{uri:this._avatarFilter(topic.user.avatar_url)}}
143+
source={{uri:this._avatarFilter(topic)}}
123144
resizeMode='cover'
124145
/>
125146
</View>
126147

127148
<View style={styles.titleMeta}>
128149
<Text style={styles.topicTitle}>{topic.title}</Text>
129150
<View style={styles.metaarea}>
130-
<Text style={styles.metainfo}>{topic.user.login}</Text>
151+
<Text style={styles.metainfo}>{this._checkUser(topic)}</Text>
131152
<Text style={styles.metainfo}>刚刚更新</Text>
132153
</View>
133154

components/a-TopicPage.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ var TopicPage = React.createClass({
1414
_renderSlidesContent(slides) {
1515
return slides.map((obj) => {
1616
return (
17-
<View tabLabel={obj.tabLable} style={{ flex: 1 }}>
17+
<View key={obj.apiName} tabLabel={obj.tabLable} style={{ flex: 1 }}>
1818
<TopicCard
1919
resourceApi={obj.api}
2020
currentReqName={obj.apiName}

iOS/Demo/AppDelegate.m

+1-1
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(
3131
* on the same Wi-Fi network.
3232
*/
3333

34-
jsCodeLocation = [NSURL URLWithString:@"http://192.168.1.2:8081/index.ios.bundle"];
34+
jsCodeLocation = [NSURL URLWithString:@"http://192.168.1.236:8081/index.ios.bundle"];
3535

3636
/**
3737
* OPTION 2

0 commit comments

Comments
 (0)