Authored by 张丽霞

Merge branch 'feature/zlx-develop' into develop

... ... @@ -366,7 +366,6 @@ export default function community(platform) {
settingOnRight(state) {
state.dispatch(modifyUserInfo());
Actions.pop();
},
subjectPostOnRight(state) {
... ...
... ... @@ -2,6 +2,7 @@
import React from 'react';
import ReactNative from 'react-native';
import LoadingIndicator from '../../../common/components/LoadingIndicator';
const {
View,
... ... @@ -35,10 +36,7 @@ export default class Setting extends React.Component {
}
render() {
let {setting} = this.props;
let nickName = setting.nickName;
let sign = setting.signature;
let {nickName, sign, fetching} = this.props.setting;
return (
<View style={styles.container}>
... ... @@ -62,6 +60,7 @@ export default class Setting extends React.Component {
Alert.alert('抱歉','超出20字符最长限制');
}
}}
selectionColor={'black'}
/>
<TouchableOpacity
... ... @@ -104,6 +103,7 @@ export default class Setting extends React.Component {
Alert.alert('抱歉','超出40字符最长限制');
}
}}
selectionColor={'black'}
/>
{this._renderSeparator()}
... ... @@ -111,9 +111,11 @@ export default class Setting extends React.Component {
<Text style={[styles.tips, {marginTop: 25,}]}>TIPS:</Text>
<Text style={styles.tips}>1.社区专属昵称,仅在社区显示</Text>
<Text style={styles.tips}>2.个性签名最多40字,请控制字数</Text>
</View>
<LoadingIndicator
isVisible={fetching}
/>
</View>
);
}
}
... ...
... ... @@ -101,7 +101,7 @@ export default keyMirror({
USER_BG_UPLOAD_FAILURE: null,
USER_BG_UPDATE: null,
SETTING_CLEAN: null,
SETTING_SAVE_REQUEST: null,
SETTING_SAVE_SUCCESS: null,
SETTING_SAVE_FAILURE: null,
... ...
... ... @@ -57,6 +57,9 @@ class SettingContainer extends React.Component {
this._nickNameEdited = this._nickNameEdited.bind(this);
this._signEdited = this._signEdited.bind(this);
}
componentWillUnmount() {
this.props.actions.settingClean();
}
_nickNameEdited(nickName) {
this.props.actions.modifyNickName(nickName);
... ...
'use strict'
import {Alert} from 'react-native';
import ReactNative from 'react-native';
import {Actions} from 'react-native-router-flux';
import UserService from '../../services/UserService';
... ... @@ -46,6 +46,7 @@ const {
USER_BG_UPLOAD_SUCCESS,
USER_BG_UPLOAD_FAILURE,
SETTING_CLEAN,
SETTING_SAVE_REQUEST,
SETTING_SAVE_SUCCESS,
SETTING_SAVE_FAILURE,
... ... @@ -407,6 +408,12 @@ export function userClean() {
}
}
export function settingClean() {
return {
type:SETTING_CLEAN,
}
}
export function setActiveTab(tab) {
return {
type: USER_SET_ACTIVE_TAB,
... ... @@ -551,9 +558,11 @@ export function modifyUserInfo() {
dispatch(saveRequest());
return new UserService().modifyUserInfo(user.profile.uid, user.setting.nickName, user.setting.signature)
.then(json => {
Actions.pop();
dispatch(saveSuccess(json));
})
.catch(error => {
Alert.alert('提示',error.message);
dispatch(saveFailue(error));
});
};
... ...
... ... @@ -46,6 +46,7 @@ const {
POST_LIKE_REQUEST,
POST_UNLIKE_REQUEST,
SETTING_CLEAN,
SETTING_SAVE_REQUEST,
SETTING_SAVE_SUCCESS,
SETTING_SAVE_FAILURE,
... ... @@ -241,6 +242,11 @@ export default function user(state = initialState, action) {
return userCenterNewLikeState(state, action.payload, false);
}
case SETTING_CLEAN: {
return state.setIn(['setting', 'nickName'], state.profile.nickName)
.setIn(['setting','signature'], state.profile.sign);
}
case SETTING_SAVE_REQUEST:
return state.setIn(['setting', 'isFetching'], true)
.setIn(['setting', 'error'], null)
... ...