import React, {useState, useContext, useEffect} from 'react'; import {View, Text, StyleSheet, ScrollView,Alert} from 'react-native'; import Checkbox from '../component/Checkbox'; import Button from '../component/Button'; import { container, pageTitleBox, pageTitle, } from '../resoureces/styles/GlobalStyles'; import {AuthContext} from '../context/AuthContext'; import { sign } from 'react-native-pure-jwt'; import { useNavigation } from '@react-navigation/native'; import RNRestart from 'react-native-restart'; export default function MembershipWithdrawal() { const { userInfo } = useContext(AuthContext); const navigation = useNavigation(); const [withdrawalCheck, setWithdrawalCheck] = useState(false); const [userToken, setUserToken] = useState(null); const checkEvent = () => { if (withdrawalCheck === false) { setWithdrawalCheck(true); } else { setWithdrawalCheck(false); } }; (async function JwtEncode() { try { let jwtSign = await sign( { id: userInfo?.id, exp: new Date().getTime() + 70, }, 'secret', { alg: 'HS256', }, ); setUserToken(jwtSign); } catch (err) { console.error(err); } })(); const secession = () => { if (withdrawalCheck === true) { // console.log("3",parseJWT(userToken)); fetch('http://192.168.0.138:80/auth/secession', { method: 'POST', headers: { 'Content-Type': 'application/json; charset=UTF-8', }, body: JSON.stringify({token: userToken}), }) .then(response => response.text()) .then(text => { let data = JSON.parse(text); if (data.secession === 'success') { Alert.alert("알람","회원탈퇴가 완료되었습니다. 감사합니다.") RNRestart.Restart(); } }) .catch(err => { console.error(err); }); } else { alert('회원탈퇴에 동의하여 주십시오.'); } }; useEffect(() => { console.log('1', userInfo); console.log('2', userToken); }, []); return ( 회원탈퇴 회원탈퇴 시 개인정보 및 Fog Recognition Safe Guard Navigation에서 만들어진, 모든 데이터는 삭제됩니다.