瀏覽代碼

api 기본 사용

자유해결사 5 年之前
父節點
當前提交
a5f3062ae4
共有 5 個文件被更改,包括 140 次插入17 次删除
  1. 44 0
      package-lock.json
  2. 2 0
      package.json
  3. 8 3
      src/pages/_1_Login.js
  4. 18 14
      src/provider/Auth.js
  5. 68 0
      src/provider/Net.js

+ 44 - 0
package-lock.json

@@ -1519,6 +1519,22 @@
       "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==",
       "dev": true
     },
+    "axios": {
+      "version": "0.19.0",
+      "resolved": "https://registry.npmjs.org/axios/-/axios-0.19.0.tgz",
+      "integrity": "sha512-1uvKqKQta3KBxIz14F2v06AEHZ/dIoeKfbTRkK1E5oqjDnuEerLmYTgJB5AiQZHJcljpg1TuRzdjDR06qNk0DQ==",
+      "requires": {
+        "follow-redirects": "1.5.10",
+        "is-buffer": "^2.0.2"
+      },
+      "dependencies": {
+        "is-buffer": {
+          "version": "2.0.3",
+          "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.3.tgz",
+          "integrity": "sha512-U15Q7MXTuZlrbymiz95PJpZxu8IlipAp4dtS3wOdgPXx3mqBnslrWU14kxfHB+Py/+2PVKSr37dMAgM2A4uArw=="
+        }
+      }
+    },
     "babel-eslint": {
       "version": "10.0.1",
       "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-10.0.1.tgz",
@@ -3188,6 +3204,29 @@
       "integrity": "sha512-a1hQMktqW9Nmqr5aktAux3JMNqaucxGcjtjWnZLHX7yyPCmlSV3M54nGYbqT8K+0GhF3NBgmJCc3ma+WOgX8Jg==",
       "dev": true
     },
+    "follow-redirects": {
+      "version": "1.5.10",
+      "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.10.tgz",
+      "integrity": "sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ==",
+      "requires": {
+        "debug": "=3.1.0"
+      },
+      "dependencies": {
+        "debug": {
+          "version": "3.1.0",
+          "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
+          "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
+          "requires": {
+            "ms": "2.0.0"
+          }
+        },
+        "ms": {
+          "version": "2.0.0",
+          "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+          "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
+        }
+      }
+    },
     "for-in": {
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
@@ -6124,6 +6163,11 @@
         }
       }
     },
+    "moment": {
+      "version": "2.24.0",
+      "resolved": "https://registry.npmjs.org/moment/-/moment-2.24.0.tgz",
+      "integrity": "sha512-bV7f+6l2QigeBBZSM/6yTNq4P2fNpSWj/0e7jQcy87A8e7o2nAfP/34/2ky5Vw4B9S446EtIhodAzkFCcR4dQg=="
+    },
     "morgan": {
       "version": "1.9.1",
       "resolved": "https://registry.npmjs.org/morgan/-/morgan-1.9.1.tgz",

+ 2 - 0
package.json

@@ -10,8 +10,10 @@
   },
   "dependencies": {
     "@react-native-community/async-storage": "^1.6.1",
+    "axios": "^0.19.0",
     "i18n-js": "^3.3.0",
     "lodash": "^4.17.14",
+    "moment": "^2.24.0",
     "react": "16.8.6",
     "react-native": "0.60.3",
     "react-native-elements": "^1.1.0",

+ 8 - 3
src/pages/_1_Login.js

@@ -3,7 +3,9 @@ import React, {useState, useEffect} from 'react';
 import Auth ,{LM} from '../provider/Auth'
 
 import C from 'rn-class'
+import Net from '../provider/Net'
 
+ 
 C.addColor("#03cf5d", "color-naver");
 
 
@@ -11,13 +13,16 @@ export default (props)=>{
 
     const [userInfo, setUserInfo] = useState(null);
     useEffect(()=>{
-      // LM.logout();
+        // LM.logout();   
     }, [])
     let onlogin = async (loginInfo, bfirst )=>{
+        console.log(loginInfo)
+        Net.login(loginInfo) 
+        Net.meditation() 
         if(bfirst){
-          props.navigation.navigate('AcceptTerms');
+        //   props.navigation.navigate('AcceptTerms');
         }else{   
-          props.navigation.navigate('Root');
+        //   props.navigation.navigate('Root'); 
         } 
     }
     return (

+ 18 - 14
src/provider/Auth.js

@@ -9,7 +9,7 @@ import AsyncStorage from '@react-native-community/async-storage';
 
 import C from 'rn-class'
 C.addColor("#03cf5d", "color-naver");
-
+GoogleSignin.configure({});
 const initials = {
     kConsumerKey: 'VWv4bOdB5Bf07a26eJ5h',
     kConsumerSecret: 'pBASnpI7X5',
@@ -22,9 +22,14 @@ class Lm  {
     logout = async ()=>{
         let result = await  LoginManager.logOut();
         try {
-            result = await GoogleSignin.revokeAccess();
-            result = await GoogleSignin.signOut();
+            console.log("=====")  
+            // await GoogleSignin.revokeAccess();
+            console.log("222222")  
+            await GoogleSignin.signOut();
+
+            console.log("111")  
         } catch (error) {
+            console.log(error)  
         }
 
         result = await RNKakao.logout();
@@ -42,25 +47,24 @@ export {
 
 export default (props)=>{
     let callLogin = async (bfirst)=>{
-        let rtn = {iface : null, token : null, id : null };
+        let rtn = {type : null, token : null, id : null };
         let fbData = await AccessToken.getCurrentAccessToken(); // 페이스북 
-        console.log("fbData >>>: " , fbData); 
         if (fbData){
-            rtn.iface = "facebook"
+            rtn.type = "facebook"
             rtn.id = fbData.userID;  
             rtn.token = fbData.accessToken;
             props.onLogin && props.onLogin(rtn, bfirst); 
             return;
         }
         
-        if(GoogleSignin.isSignedIn()){
-            try {
-                rtn.iface = "google";
+        if(await GoogleSignin.isSignedIn()){
+            try { 
+                rtn.type = "google";
                 rtn.token = (await GoogleSignin.getTokens()).accessToken; 
                 rtn.id = (await GoogleSignin.getCurrentUser()).user.id; 
+                props.onLogin && props.onLogin(rtn, bfirst);  
+                return;   
             } catch (error) {}
-            props.onLogin && props.onLogin(rtn, bfirst);  
-            return;   
         }
 
 
@@ -68,7 +72,7 @@ export default (props)=>{
         if(naverToken){
             let profile = await getProfile(naverToken);
             if(profile.resultcode =='00') {
-                rtn.iface = "naver";
+                rtn.type = "naver";
                 rtn.id = profile.response.id;
                 rtn.token =  naverToken;
                 props.onLogin && props.onLogin(rtn, bfirst); 
@@ -79,7 +83,7 @@ export default (props)=>{
         try {
             const kakaoData = await RNKakao.userInfo();
             if (kakaoData){
-                rtn.iface = "kakao"
+                rtn.type = "kakao"
                 rtn.id = kakaoData.id;
                 rtn.token =  kakaoData.accessToken;
                 props.onLogin && props.onLogin(rtn, bfirst); 
@@ -131,7 +135,7 @@ export default (props)=>{
         if(result ){
             callLogin(true);
         }
-        props.onlogin && props.onlogin({iface : "kakao", id : result.id , token : accessToken }, true);
+        props.onlogin && props.onlogin({type : "kakao", id : result.id , token : accessToken }, true);
     }
     let naverLogin = async () =>{
         

+ 68 - 0
src/provider/Net.js

@@ -0,0 +1,68 @@
+
+import axios from 'axios'
+import moment from 'moment';
+// baseUrl 	http://133.186.211.179/api/v3
+axios.defaults.baseURL = 'http://133.186.211.179/api/v3';
+axios.defaults.headers.common['x-aliot-token'] = '643f43d975132f6d69f3ad14851c92d8d49450c96a38cb32e338dc2d2cedb7e146222f709ead0d93d32b8ec7adb7dd85d99451bd20fda3097db2c993fc9478ca' ;
+axios.defaults.headers.post['Content-Type'] = 'application/json';
+
+let meToken = "";
+axios.interceptors.request.use(config =>{
+    if(config.url == "/auth" || config.url == "/me"){config.headers.interfaceId = 'auth';}
+    if(config.url == "/me"){ config.url += `?token=${meToken}`;}
+    if(config.url == "/meditation"){config.headers.interfaceId = 'meditation';}
+    // if(config.url == "/bbs"){config.headers.interfaceId = 'bbs';}
+    console.log(config);
+    config.headers.timestamp = moment().format('YYYYMMDDHHmmssSSS');
+    return config;  
+})  
+// axios({
+//     baseURL : "http://133.186.211.179",
+//     headers: {'x-aliot-token' :'643f43d975132f6d69f3ad14851c92d8d49450c96a38cb32e338dc2d2cedb7e146222f709ead0d93d32b8ec7adb7dd85d99451bd20fda3097db2c993fc9478ca' ,
+                        
+//                         },
+//   });
+class Net { 
+    constructor (){ 
+        // console.log('==================' , axios); 
+    }
+    async login (obj){  
+        let {data} =    await axios.post("/auth" , obj);  
+        if(data && data.result && data.result.token){
+            meToken = data.result.token;
+        }
+        // console.log(data);   
+        
+    }
+    async me(obj){
+        let {data} =    await axios.get("/me",{} );
+        // console.log(" :::: " , data);       
+    }  
+
+    async meditation (obj){
+        let {data} =    await axios.post("/meditation",{
+            size : 20,
+            page	: 1,
+            type : 'body',
+            section : 'stand' 
+        } );  
+        // console.log(" :::: " , data);       
+    }
+    async bbs(){
+        // 아직 잘 모름 
+        
+        // let {data} =    await axios.post("/meditation",{
+        //     size : 20,
+        //     page	: 1,
+        //     type : 'body',
+        //     section : 'stand' 
+        // } );  
+    }
+ 
+}
+
+export default (new Net())
+
+
+
+