Guest User

Untitled

a guest
Jul 10th, 2018
110
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.11 KB | None | 0 0
  1. import Login from './src/compoments/login/Login'
  2. import Dashboard from './src/compoments/dashboard/Dashboard'
  3. export default class App extends React.Component {
  4. constructor(props){
  5. super(props);
  6. this.state = {
  7. isTokenValid: false,
  8. access_token: '',
  9.  
  10. }
  11. }
  12.  
  13.  
  14. render() {
  15. console.disableYellowBox = true;
  16.  
  17.  
  18.  
  19. this.loadToken();
  20. const isLoggedIn = this.state.isTokenValid;
  21. console.log("Logged IN : ", isLoggedIn);
  22.  
  23. if (isLoggedIn)
  24. return <Dashboard />;
  25. else
  26. return <Login
  27. onLoginPress={() => this.setState({isLoggedIn: true})}
  28. />;
  29.  
  30.  
  31.  
  32.  
  33. }
  34.  
  35. loadToken(){
  36.  
  37. retrieveData = async () => {
  38. try {
  39. const value = await AsyncStorage.getItem('access_token');
  40. console.log("TOKEN", value);
  41. if (value !== null) {
  42. this.setState({access_token : value});
  43. this.setState({isTokenValid : true});
  44. console.log(value);
  45. }else{
  46.  
  47. this.setState({isTokenValid : false});
  48.  
  49. }
  50. } catch (error) {
  51. console.log("ERROR : ", error)
  52. }
  53. }
  54. }
  55.  
  56. }
  57.  
  58. export default class Login extends React.Component {
  59. constructor(props){
  60. super(props);
  61. this.state = {
  62. username: '',
  63. password: '',
  64. param3: '',
  65. serverResponse:'',
  66. isLoggingIn: false,
  67. isLoggedIn: false
  68. }
  69. }
  70.  
  71. render() {
  72. return (
  73.  
  74.  
  75.  
  76. <View style={styles.container}>
  77.  
  78.  
  79. <TouchableOpacity style={styles.buttonContainer}
  80. onPress={this.getLoginApi.bind(this)}>
  81. <Text style={styles.buttonText}>LOGIN</Text>
  82.  
  83.  
  84. </TouchableOpacity>
  85.  
  86.  
  87. {this.state.isLoggingIn && <ActivityIndicator size="large" color="#0000ff" />}
  88.  
  89.  
  90. </View>
  91.  
  92.  
  93.  
  94. );
  95.  
  96.  
  97. getLoginApi(){
  98.  
  99. this.setState({ isLoggingIn: true, message: '' });
  100.  
  101.  
  102. var formData = new FormData();
  103. formData.append('param1', this.state.username);
  104. formData.append('param2', this.state.password);
  105. formData.append('param3', this.state.param3);
  106.  
  107. var request = new XMLHttpRequest();
  108. request.onreadystatechange = (e) => {
  109. if (request.readyState !== 4) {
  110. return;
  111. }
  112.  
  113. if (request.status === 200) {
  114.  
  115. this.setState({ isLoggingIn: false })
  116. const status = this.getJSONValue(request.responseText,"status");
  117. console.log('SERVER RESPONSE : ', status);
  118. if(status=="success"){
  119.  
  120. const token = this.getJSONValue(request.responseText,"token");
  121. console.log("ACCESS TOKEN : ", token);
  122. AsyncStorage.setItem('access_token', token);
  123. this.setState({isLoggedIn: true});
  124. this.props.onLoginPress();
  125. }
  126.  
  127.  
  128.  
  129. } else {
  130. this.setState({ isLoggingIn: false })
  131. console.warn('error');
  132. }
  133. };
  134.  
  135. request.open('POST', 'https://bla.com/test.php');
  136. request.send(formData);
  137.  
  138.  
  139. }
  140.  
  141.  
  142.  
  143. getJSONValue(jsonObj, findKey){
  144.  
  145. let response = '';
  146.  
  147. JSON.parse(jsonObj, (key, value) => {
  148.  
  149. if(key==findKey){
  150.  
  151. response = value;
  152.  
  153. }
  154.  
  155. });
  156. return response;
  157. }
Add Comment
Please, Sign In to add comment