var auth = firebase.auth(); var userInfo; var authProvider = new firebase.auth.GoogleAuthProvider(); // 팝업 형태로 열어줌 // 성공 실패 구분 auth.onAuthStateChanged(function (user) { if (user) { // 인증 성공시 userInfo = user; getKanbanlist(); // 아래 함수 구현 } else { // 인증 실패시, 인증 팝업창을 뛰워줌 auth.signInWithPopup(authProvider); } });
functiongetKanbanlist() { // Firebase console DB에서 만든 데이터 경로대로 데이터를 받아옴. var kanbanRef = database.ref('kanbans/' + userInfo.uid);
// Firebase는 비동기 방식, FB DB에 추가되면 즉시 콜백으로 데이터를 받아온다. kanbanRef.on('child_added', onChildAdded); kanbanRef.on('child_changed', function (data) { var key = data.key; var txt = data.val().txt; // 해당 데이터로 html에 데이터를 수정. }); }
// Insert functiononChildAdded(data) { var key = data.key; var kanbanData = data.val(); var txt = kanbanData.txt; // 해당 데이터를 html 요소에 추가. }
// 데이터 단일 건 가져오기 functiongetKanban(key) { var kanbanRef = database.ref("kanbans/" + userInfo.uid + "/" + key) .once('value').then(function (snapshot) { if (snapshot.val() != null) { // 가져온 데이터를 저장 $(".textarea").val(snapshot.val().txt); } }); }