광고2


유기동물 다찾아 by uikyo93




최종사이트 주소 : https://uikyo-final.firebaseapp.com





호스팅기능을 이용해서 페이지 호스팅
주요 기능으로 로그인을 하였을때 알림설정을 하여 유기동물의 정보에 대한 알림(구글이메일)을 받을수 있다.

오버레이와 카드탭을 이용하여 사용자가 사진에 마우스를 올릴때 정보를 보여준다.






1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
$("#loginBtn").click(function () {
        var provider = new firebase.auth.GoogleAuthProvider();
        firebase.auth().setPersistence(firebase.auth.Auth.Persistence.SESSION).then(function (result) {
            return firebase.auth().signInWithPopup(provider);
        }).then(function (result) {
            var token = result.credential.accessToken;
            // The signed-in user info.
            user = result.user;
            // ...
            $("#logoutBtn").show();
            $("#loginBtn").hide();
            $("#subInfoBtn").show();
            $("#subDelBtn").show();
            $("#loginUserName").text(user.displayName + "님 환영합니다.");
        }).catch(function (error) {
            // Handle Errors here.
            var errorCode = error.code;
            var errorMessage = error.message;
        });
    });
cs

구글 인증기능의 세션설정하는법


세션에 저장되는 내용


1
2
3
4
5
6
7
8
9
10
11
12
 $("#subBtn").click(function () {
        var session_data = sessionStorage.getItem("firebase:authUser:사용자의 파이어베이스 API키");
 
     if (session_data != null) {
            var parse_json_data = jQuery.parseJSON(session_data);
        }
 
        if (session_data != null) {
            var email = parse_json_data.email;
        }
           
});
cs

세션에 저장된 데이터가 있는지 확인하는 코드와 세션코드가 존재할때
데이터를 가져오는법






데이터 베이스 기능을 이용하여 알림을 보낼때 필요한 데이터 저장



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
'use strict';
const functions = require('firebase-functions');
const nodemailer = require('nodemailer');
const gmailEmail = functions.config().gmail.email;
const gmailPassword = functions.config().gmail.password;
const mailTransport = nodemailer.createTransport({
    service: 'gmail'
    auth: {
        user: gmailEmail, 
        pass: gmailPassword
    }
});
const APP_NAME = '유기동물 다찾아';
 
exports.sendToSubUser = functions.firestore.document('sendEmail/{docId}').onCreate((snap, context) => {
    const mailOptions = {
        from: `${APP_NAME} <noreply@firebase.com>`, 
        to: snap.data().d_email
    };
    mailOptions.subject = `정보가 등록되었습니다.`;
    mailOptions.html = `<img src="${snap.data().d_profile}" height="30%" width="30%"><br>
        ${snap.data().d_animal_info_text}<br>
        ${snap.data().d_abandonment_info_text}<br>
        ${snap.data().d_notice_info_text}<br>
        ${snap.data().d_care_info_text}`;
    return mailTransport.sendMail(mailOptions).then(() => {
        return console.log('이메일 전송성공:', snap.data().d_email);
    });
});
cs

함수 기능을 이용하여 알림데이터 베이스에 도큐먼트가 생성되는것에 트리거를 설정하여
이메일을 보내주는 소스




발송된 이메일





덧글

댓글 입력 영역


구글 광고2


통계 위젯 (화이트)

16
13
189819

광고