Classify.js
3.57 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
128
129
130
131
132
133
'use strict';
import React from 'react';
import ReactNative, {
AppRegistry,
Platform,
StyleSheet,
Dimensions,
TouchableOpacity,
View,
} from 'react-native';
import createReactClass from 'create-react-class';
import {
Provider,
connect
} from 'react-redux';
import configureStore from './store/configureStore';
import {Record, List, Map} from 'immutable';
import appInitialState from './reducers/app/appInitialState';
import brandInitialState from './reducers/brand/brandInitialState';
import categoryInitialState from './reducers/category/categoryInitialState';
import categoryBInitialState from './reducers/categoryB/categoryBInitialState';
import interestInitialState from './reducers/interest/interestInitialState';
import CategoryContainer from './containers/CategoryContainer';
import CategoryBContainer from './containers/CategoryBContainer';
import BrandContainer from './containers/BrandContainer';
import InterestContainer from './containers/InterestContainer';
import {
setPlatform,
setHost,
setServiceHost,
setABVersion,
} from './reducers/app/appActions';
import {
setCurrentChannelId,
} from './reducers/category/categoryActions';
import {
setCurrentChannelB,
setDelayExposeData,
} from './reducers/categoryB/categoryBActions';
import {
setBrandSelectedChannel,
} from './reducers/brand/brandActions';
function getInitialState() {
const _initState = {
app: (new appInitialState()),
brand: (new brandInitialState()),
category: (new categoryInitialState()),
categoryB: (new categoryBInitialState()),
interest: (new interestInitialState()),
};
return _initState;
}
export default function native(platform) {
let YH_Classify = createReactClass({
_renderContainer() {
if (this.props.type == 0) {
//如果是B版,则打开B版品类
if (this.props.abversion == "B") {
return <CategoryBContainer />;
} else {
return <CategoryContainer />;
}
} else if (this.props.type == 1) {
return <BrandContainer />;
} else if (this.props.type == 2) {
return <InterestContainer />;
}
return <View/>;
},
render() {
const store = configureStore(getInitialState());
store.dispatch(setPlatform(platform));
store.dispatch(setHost(this.props.host));
store.dispatch(setServiceHost(this.props.serviceHost));
store.dispatch(setABVersion(this.props.abversion));
if (this.props.type == 0) {
if (this.props.channelId == '1') {
store.dispatch(setCurrentChannelId('boy'));
//B版设置channelID和名称
store.dispatch(setCurrentChannelB('1', 'boy'));
} else if (this.props.channelId == '2') {
store.dispatch(setCurrentChannelId('girl'));
//B版设置channelID和名称
store.dispatch(setCurrentChannelB('2', 'girl'));
} else if (this.props.channelId == '3') {
store.dispatch(setCurrentChannelId('kids'));
//B版设置channelID和名称
store.dispatch(setCurrentChannelB('3', 'kids'));
} else if (this.props.channelId == '4') {
store.dispatch(setCurrentChannelId('lifestyle'));
//B版设置channelID和名称
store.dispatch(setCurrentChannelB('4', 'lifestyle'));
}
//如果是B版,则打开B版品类
if (this.props.abversion == "B") {
store.dispatch(setDelayExposeData(this.props.perload));
}
} else if (this.props.type == 1) {
if (this.props.channelId) {
store.dispatch(setBrandSelectedChannel(this.props.channelId));
}
}
return (
<Provider store={store}>
{this._renderContainer()}
</Provider>
);
}
});
AppRegistry.registerComponent('YH_Classify', () => YH_Classify);
}
let styles = StyleSheet.create({
});