Commit fe677cec authored by KangMin An's avatar KangMin An
Browse files

Merge branch 'who' into premaster

parents 3096fb08 d4672581
import axios from "axios"; import axios from "axios";
import Swal from "sweetalert2"; import Swal from "sweetalert2";
import { routesClient } from './../routesClient';
export function isOauth(value) {
const TFoauth = value;
return TFoauth;
}
export function isLogined() { export function isLogined() {
const whetherlogin = localStorage.getItem("login"); const whetherlogin = localStorage.getItem("login");
...@@ -16,7 +13,7 @@ export function isLogined() { ...@@ -16,7 +13,7 @@ export function isLogined() {
} }
export async function localLogout() { export async function localLogout() {
await axios.get("/api/logout").then(function () { await axios.get(routesClient.logout).then(function () {
localStorage.clear(); localStorage.clear();
Swal.fire({ Swal.fire({
title: "로그아웃 성공!", title: "로그아웃 성공!",
......
import axios from 'axios'; import axios from 'axios';
import { Swal } from 'sweetalert2'; import { Swal } from 'sweetalert2';
import { routesClient } from './../routesClient';
export async function callUserInfo() { export async function callUserInfo() {
const res = await axios.get("/api/user-info") const res = await axios.get(routesClient.userinfo)
return res.data.contents.user_info return res.data.contents.user_info
} }
......
import axios from 'axios'; import axios from 'axios';
import Swal from 'sweetalert2' import Swal from 'sweetalert2'
import '../App.css' import '../App.css'
import { routesClient } from './../routesClient';
// export const KAKAO_AUTH_URL = `https://kauth.kakao.com/oauth/authorize?client_id=${CLIENT_ID}&redirect_uri=${REDIRECT_URI}&response_type=code`; // export const KAKAO_AUTH_URL = `https://kauth.kakao.com/oauth/authorize?client_id=${CLIENT_ID}&redirect_uri=${REDIRECT_URI}&response_type=code`;
...@@ -28,12 +29,13 @@ export function LoginWithKakao() { ...@@ -28,12 +29,13 @@ export function LoginWithKakao() {
console.log(response); console.log(response);
console.log(response.kakao_account.profile); console.log(response.kakao_account.profile);
const nickValue = Object.values(response.kakao_account.profile) const nickValue = response.kakao_account.profile['nickname']
const emailValue = response.kakao_account.email
await axios.post('/api/edit-profile', {nick_name: nickValue}) await axios.post(routesClient.signup, { email: emailValue, nick_name: nickValue, isOauth: true })
.then((res) => console.log('kakao', res)) .then((res) => console.log('kakao', res))
localStorage.setItem('login', true) // localStorage.setItem('login', true)
Swal.fire({ Swal.fire({
title: '로그인 성공!', title: '로그인 성공!',
text: '🙌 환영합니다 🙌', text: '🙌 환영합니다 🙌',
......
...@@ -4,6 +4,7 @@ import { Form, Button, Row, Col, Card } from 'react-bootstrap'; ...@@ -4,6 +4,7 @@ import { Form, Button, Row, Col, Card } from 'react-bootstrap';
import axios from 'axios'; import axios from 'axios';
import Swal from 'sweetalert2' import Swal from 'sweetalert2'
import { callUserInfo } from '../utils/CheckDB'; import { callUserInfo } from '../utils/CheckDB';
import { routesClient } from '../routesClient';
function LocCodeChange() { function LocCodeChange() {
...@@ -51,7 +52,7 @@ function LocCodeChange() { ...@@ -51,7 +52,7 @@ function LocCodeChange() {
// Local code 받아오기 // Local code 받아오기
useEffect(() => { useEffect(() => {
async function getLocCode() { async function getLocCode() {
const res = await axios.get("/api/data/loccode") const res = await axios.get(routesClient.localdata)
const local_codes = res.data.contents.loc_code const local_codes = res.data.contents.loc_code
setDoes(local_codes.DOE) setDoes(local_codes.DOE)
...@@ -85,7 +86,7 @@ function LocCodeChange() { ...@@ -85,7 +86,7 @@ function LocCodeChange() {
const saveCodeEmd = emdSelect.value const saveCodeEmd = emdSelect.value
await axios.post('/api/edit-profile', { loc_code: saveCodeEmd }) // loccal code 수정 await axios.post(routesClient.edit, { loc_code: saveCodeEmd }) // loccal code 수정
callUserInfo().then((res) => { callUserInfo().then((res) => {
console.log('loc_code', res[0].loc_code) console.log('loc_code', res[0].loc_code)
......
...@@ -3,6 +3,7 @@ import '../App.css' ...@@ -3,6 +3,7 @@ import '../App.css'
import { Form, Button, Row, Col, Card, Alert, FloatingLabel } from 'react-bootstrap'; import { Form, Button, Row, Col, Card, Alert, FloatingLabel } from 'react-bootstrap';
import { LoginWithKakao } from '../utils/Oauth'; import { LoginWithKakao } from '../utils/Oauth';
import axios from 'axios'; import axios from 'axios';
import { routesClient } from '../routesClient';
function LoginComp() { function LoginComp() {
...@@ -35,15 +36,12 @@ function LoginComp() { ...@@ -35,15 +36,12 @@ function LoginComp() {
function addressUrl() { function addressUrl() {
const afterAt = emailAddress.split('@')[1] const afterAt = emailAddress.split('@')[1]
if (afterAt == ('naver.com' || 'gmail.com' || 'daum.net')) { if (afterAt) {
const newLink = 'https://www.' + afterAt; const newLink = 'https://www.' + afterAt;
window.open(newLink); window.location.replace(newLink);
} }
if (afterAt == 'korea.ac.kr') { else if (afterAt == 'korea.ac.kr') {
window.open('https://www.gmail.com'); window.location.replace('https://www.gmail.com');
}
else {
window.open();
} }
} }
...@@ -53,7 +51,7 @@ function LoginComp() { ...@@ -53,7 +51,7 @@ function LoginComp() {
async function handleSubmit(event) { async function handleSubmit(event) {
event.preventDefault(); event.preventDefault();
const res = await axios.post("/api/login", { email: emailAddress }) const res = await axios.post(routesClient.login, { email: emailAddress, isOauth: false })
console.log('mail_sending : ', res.data.contents.mail_sending) console.log('mail_sending : ', res.data.contents.mail_sending)
setMailSend(res.data.contents.mail_sending) setMailSend(res.data.contents.mail_sending)
setAlertShow(true) setAlertShow(true)
...@@ -96,7 +94,7 @@ function LoginComp() { ...@@ -96,7 +94,7 @@ function LoginComp() {
<Form style={inboxstyled} onSubmit={handleSubmit}> <Form style={inboxstyled} onSubmit={handleSubmit}>
<FloatingLabel label="Email"> <FloatingLabel label="Email">
<Form.Control type="email" placeholder="Email" onChange={handleChange} required/> <Form.Control type="email" placeholder="Email" onChange={handleChange} required />
</FloatingLabel> </FloatingLabel>
<Button variant='light' className='mt-3' id='formbtn' type='submit'> <Button variant='light' className='mt-3' id='formbtn' type='submit'>
LOGIN LOGIN
......
...@@ -2,6 +2,7 @@ import axios from 'axios'; ...@@ -2,6 +2,7 @@ import axios from 'axios';
import React, { useState } from 'react' import React, { useState } from 'react'
import { Row, Card, Form, Button, FloatingLabel } from 'react-bootstrap'; import { Row, Card, Form, Button, FloatingLabel } from 'react-bootstrap';
import Swal from 'sweetalert2'; import Swal from 'sweetalert2';
import { routesClient } from './../routesClient';
function NicknameChange() { function NicknameChange() {
...@@ -36,7 +37,7 @@ function NicknameChange() { ...@@ -36,7 +37,7 @@ function NicknameChange() {
async function handleSubmit(event) { async function handleSubmit(event) {
event.preventDefault(); event.preventDefault();
if (inputname !== '') { if (inputname !== '') {
await axios.post('/api/edit-profile', { nick_name: inputname }) await axios.post(routesClient.edit, { nick_name: inputname })
.then(function (response) { .then(function (response) {
console.log(response.data.msg); console.log(response.data.msg);
if (response.data.msg === 'OK!') { if (response.data.msg === 'OK!') {
......
...@@ -3,6 +3,7 @@ import '../App.css' ...@@ -3,6 +3,7 @@ import '../App.css'
import { Form, Button, Row, Col, Card, Alert, FloatingLabel } from 'react-bootstrap'; import { Form, Button, Row, Col, Card, Alert, FloatingLabel } from 'react-bootstrap';
import { LoginWithKakao } from '../utils/Oauth'; import { LoginWithKakao } from '../utils/Oauth';
import axios from 'axios'; import axios from 'axios';
import { routesClient } from './../routesClient';
function SignupComp() { function SignupComp() {
...@@ -30,7 +31,8 @@ function SignupComp() { ...@@ -30,7 +31,8 @@ function SignupComp() {
const initValues = { const initValues = {
nick_name: '', nick_name: '',
email: '' email: '',
isOauth: false
} }
const [formValues, setFormValues] = useState(initValues) const [formValues, setFormValues] = useState(initValues)
...@@ -45,21 +47,12 @@ function SignupComp() { ...@@ -45,21 +47,12 @@ function SignupComp() {
async function handleSubmit(event) { async function handleSubmit(event) {
event.preventDefault(); event.preventDefault();
const res = await axios.post("/api/signup", formValues) const res = await axios.post(routesClient.signup, formValues)
console.log('existing_user : ', res.data.contents.existing_user) console.log('existing_user : ', res.data.contents.existing_user)
setUserExist(res.data.contents.existing_user) setUserExist(res.data.contents.existing_user)
setAlertShow(true) setAlertShow(true)
} }
useEffect(() => {
async function test() {
const res = await axios.get('/api/signup')
console.log(res.contents)
}
test()
}, [])
return ( return (
<Row className='text-center w-100 my-2'> <Row className='text-center w-100 my-2'>
......
import axios from "axios"; import axios from "axios";
import React, { useEffect, useState } from "react"; import React, { useEffect, useState } from "react";
import { Form } from "react-bootstrap"; import { Form } from "react-bootstrap";
import { callUserInfo, checkCookies } from "../utils/CheckDB"; import { callUserInfo } from "../utils/CheckDB";
import { isLogined } from "./../utils/Auth"; import { isLogined } from "./../utils/Auth";
import { routesClient } from './../routesClient';
function UsingAircon() { function UsingAircon() {
const [airUsing, setAirUsing] = useState(false); const [airUsing, setAirUsing] = useState('');
// useEffect(() => { console.log("change airUsing", airUsing);
// callUserInfo().then((res) => {
// if (isLogined()) {
// setAirUsing(res.using_aircon)
// }
// else {
// console.log(res)
// }
// })
// }, [checkCookies()])
function airChange() { async function airChange() {
setAirUsing(!airUsing); setAirUsing(!airUsing);
async function Useair() { await axios.get(routesClient.usingAircon, { using_aircon: !airUsing })
const res = await axios.get("/api/toggle-aircon");
console.log(res);
} }
Useair(); useEffect(() => {
} callUserInfo().then((res) => {
setAirUsing(res[0]['using_aircon'])
})
}, [])
console.log("airUsing", airUsing);
return ( return (
<> <>
......
...@@ -8,6 +8,7 @@ import ChartLine from '../components/ChartLine'; ...@@ -8,6 +8,7 @@ import ChartLine from '../components/ChartLine';
import ChartDoughnut from '../components/ChartDoughnut'; import ChartDoughnut from '../components/ChartDoughnut';
import Donation from '../components/Donation'; import Donation from '../components/Donation';
import LocCodeChange from '../components/LocCodeChange'; import LocCodeChange from '../components/LocCodeChange';
import { callUserInfo } from '../utils/CheckDB';
function GetLocFirst() { function GetLocFirst() {
const constyled = { const constyled = {
...@@ -31,13 +32,28 @@ function GetLocFirst() { ...@@ -31,13 +32,28 @@ function GetLocFirst() {
padding: '0' padding: '0'
} }
const [existLoc, setExistLoc] = useState('')
const [show, setShow] = useState(false)
useEffect(() => {
callUserInfo().then((res) => {
setExistLoc(res[0]['loc_code'])
})
}, [])
useEffect(() => { useEffect(() => {
if (existLoc === '') {
setTimeout(function () { setTimeout(function () {
setShow(true) setShow(true)
}, 1500) }, 1500)
}, []) }
else {
setShow(false)
window.location.replace('/')
}
}, [existLoc])
const [show, setShow] = useState(false)
return ( return (
<Container className='m-auto d-flex position-relative' <Container className='m-auto d-flex position-relative'
......
export const routes = {
home: '/',
signup: '/signup',
login: 'login',
edit: '/edit',
}
// post, put { body }
// email :
// nick_name :
// using_aircon :
// created_at :
// loc_code
export const routesClient = {
home: '/api',
signup: '/api/signup',
login: '/api/login',
edit: '/api/edit-profile',
localdata: '/api/data/loccode',
usingAircon : '/api/toggle-aircon',
logout: '/api/logout',
userinfo : '/api/user-info'
}
// post, put { body }
// email :
// nick_name :
// using_aircon :
// created_at :
// loc_code
...@@ -25,12 +25,9 @@ const postMail = async (email, token) => { ...@@ -25,12 +25,9 @@ const postMail = async (email, token) => {
from: `EUE Auth Supply <${envs.api.nodemailer.user}>`, from: `EUE Auth Supply <${envs.api.nodemailer.user}>`,
to: email, to: email,
subject: "EUE 사용자 계정 확인용 메일.", subject: "EUE 사용자 계정 확인용 메일.",
html: `<a href="${envs.server.protocol}://${envs.server.host}:${ html: `<a href="${envs.server.protocol}://${envs.server.host}:${envs.server.port
envs.server.port }${routes.base + routes.confirm}?token=${token}">${envs.server.protocol
}${routes.base + routes.confirm}?token=${token}">${ }://${envs.server.host}:${envs.server.port}${routes.base + routes.confirm
envs.server.protocol
}://${envs.server.host}:${envs.server.port}${
routes.base + routes.confirm
}?token=${token}</a>`, }?token=${token}</a>`,
}; };
...@@ -161,6 +158,7 @@ export const getConfirm = async (req, res) => { ...@@ -161,6 +158,7 @@ export const getConfirm = async (req, res) => {
`${envs.client.protocol}://${envs.client.host}:${envs.client.port}/first-local-code` `${envs.client.protocol}://${envs.client.host}:${envs.client.port}/first-local-code`
); );
} catch (err) { } catch (err) {
console.log('22', err);
res.json({ msg: resForm.msg.err, contents: { error: err } }); res.json({ msg: resForm.msg.err, contents: { error: err } });
} }
}; };
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment