• 로그인
  • 장바구니에 상품이 없습니다.

home2 게시판 HTML/CSS 게시판 채팅방만들기 중인데 왼쪽 채팅방리스트에 추가가 안됩니다

채팅방만들기 중인데 왼쪽 채팅방리스트에 추가가 안됩니다

6 글 보임 - 1 에서 6 까지 (총 6 중에서)
  • 글쓴이
  • #82479

    한영훈
    참가자
    채팅방만들기 영상 다 따라왔는데 
    
    채팅방 왼쪽에 채팅방 리스트가 나타나질 않습니다.. ㅠㅠ 
    
    
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Document</title>
        <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-KK94CHFLLe+nY2dmCWGMq91rCGa5gtU4mk92HdvYe+M/SXH301p5ILy+dN9+nJOZ" crossorigin="anonymous">
        <link href="main.css" rel="stylesheet">
      </head>
    </head>
    <body>
        <nav class="navbar navbar-expand-lg bg-body-tertiary">
            <div class="container-fluid">
              Navbar
              <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
                <span class="navbar-toggler-icon"></span>
              </button>
              <div class="collapse navbar-collapse" id="navbarNav">
                <ul class="navbar-nav">
                  <li class="nav-item">
                    Home
                  
                  <li class="nav-item">
                    Features
                  
                  <li class="nav-item">
                    Pricing
                  
                  <li class="nav-item">
                    Disabled
                  
                
              </div>
            </div>
          </nav>
          
        <div class="container p-4 detail">
        <div class="row">
            <div class="col-3 p-0">
            <ul class="list-group chat-list">
                <li class="list-group-item">
                <h6>채팅방</h6>
                <h6 class="text-small">채팅방아이디</h6>
                
            
            </div>
            <div class="col-9 p-0">
            <div class="chat-room">
                <ul class="list-group chat-content">
                
  • <span class="chat-box">채팅방1 내용</span>
  •            
  • <span class="chat-box">채팅방1 내용</span>
  •            
  • <span class="chat-box mine">채팅방1 내용</span>
  •                         <div class="input-group">             <input class="form-control" id="chat-input">             <button class="btn btn-secondary" id="send">전송</button>             </div>         </div>         </div>     </div>     </div>
        <script src="https://www.gstatic.com/firebasejs/8.6.5/firebase-app.js"></script>
        <script src="https://www.gstatic.com/firebasejs/8.6.5/firebase-auth.js"></script>
        <script src="https://www.gstatic.com/firebasejs/8.6.5/firebase-firestore.js"></script>
        <script src="https://www.gstatic.com/firebasejs/8.6.5/firebase-storage.js"></script>
        <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha3/dist/js/bootstrap.bundle.min.js" integrity="sha384-ENjdO4Dr2bkBIFxQpeoTz1HIcje39Wm4jDKdf19U8gI4ddQ3GYNS7NTKfAdVQSZe" crossorigin="anonymous"></script>
        <script src="https://code.jquery.com/jquery-3.6.4.min.js" integrity="sha256-oP6HI9z1XaZNBrJURtCoUT5SUnxFr8s3BzRl+cbzUq8="  crossorigin="anonymous"></script>
        <script>
          const firebaseConfig = {
            apiKey: "AIzaSyAVXFN0t1sHQwO8Or5pmLzJ3dF3Hprw3eY",
            authDomain: "test-d0f19.firebaseapp.com",
            databaseURL: "https://test-d0f19-default-rtdb.asia-southeast1.firebasedatabase.app",
            projectId: "test-d0f19",
            storageBucket: "test-d0f19.appspot.com",
            messagingSenderId: "733207608006",
            appId: "1:733207608006:web:fadcfd27d81b0cb244b5c7",
            measurementId: "G-Z3N2C7HQ8X"
          };
        
          // Initialize Firebase
          firebase.initializeApp(firebaseConfig);
        </script>
        
        <script>
        const db = firebase.firestore();
        const storage = firebase.storage();
        var 내uid = JSON.parse(localStorage.getItem('user')).uid;
            $('#send').click(function(){
            
                var 데이터 = {
                content : $('#chat-input').val(),
                date : new Date(),
                uid : 내uid,
            }
            db.collection('chatroom').doc(채팅방id).collection('messages').add(데이터)
        })
        var 채팅방id;
        // where('필드','연산자','값')
        db.collection('chatroom').where('who','array-contains',내uid).get().then((result)=>{
            result.forEach((a)=>{
                console.log(a.data());
                var template = `<li class="list-group-item">
                    <h6>${ a.data().product }</h6>
                    <h6 class="text-small">${ a.id }</h6>
                    </li>`
                $('.chat-list').append(template)
                $('.list-group-item').click(function(){
                    채팅방id = $(this).children('.text-small').text();
                    e.stopImmediatePropagation();
                    db.collection('chatroom').doc(채팅방id).collection('messages').orderBy('date').onSnapshot((result)=>{
                     $('.chat-content').html('');  
     
                     result.forEach((a)=>{
                        var 템플릿 = `<li><span class="chat-box">${a.data().content}</span></li>`;
                        $('.chat-content').append(템플릿)
                         console.log(a.data())
                        })
                    })
                })
            })
                
        });
     
       
        </script>
     
    </body>
    </html>
    #82497

    codingapple
    키 마스터
    채팅방 존재하는 아이디로 로그인은 했는지 var 내uid 변수는 잘 출력되는지 확인해봅시다
    #82662

    한영훈
    참가자
    선생님~ 로그인 확인 및 uid 출력은 확인했습니다~ 
    
    근데 계속 퍼미션 에러가 발생합니다.
    
    
    아래와 같이 규칙을 설정했는데도 그렇네요 ㅠㅠ
     rules_version = '2';
    service cloud.firestore {
      match /databases/{database}/documents {
        // match /{document=**} {
        //   allow read : if true ;
        //   allow write: if request.auth != null ;
        // }
        match /chatroom/{docid}/messages/{docid2} {
        	allow	read, write : if true ;    
        }
        
        match /user/{docid} {
        	allow read, write : if true ;
        }
        match /product/{docid} {
        	allow read : if true ;
          allow create : if request.auth != null ;
          allow update: if request.auth.uid == resource.data.uid ;
        }
      }
    }
    
    
    
    #82664

    한영훈
    참가자
    선생님~ 로그인 확인 및 uid 출력은 확인했습니다~
    근데 계속 퍼미션 에러가 발생합니다.
    아래와 같이 규칙을 설정했는데도 그렇네요 ㅠㅠ
     rules_version = '2';
    service cloud.firestore {
      match /databases/{database}/documents {
        // match /{document=**} {
        //   allow read : if true ;
        //   allow write: if request.auth != null ;
        // }
        match /chatroom/{docid}/messages/{docid2} {
        	allow	read, write : if true ;    
        }
        
        match /user/{docid} {
        	allow read, write : if true ;
        }
        match /product/{docid} {
        	allow read : if true ;
          allow create : if request.auth != null ;
          allow update: if request.auth.uid == resource.data.uid ;
        }
      }
    }
    
    
     
    #82684

    codingapple
    키 마스터
    match /chatroom/{docid} {
        	allow read, write : if true;
    }
    이것도 추가해봅시다
    #82721

    한영훈
    참가자
    감사합니다 선생님~~ 전부다 해결 되었습니다!
6 글 보임 - 1 에서 6 까지 (총 6 중에서)
  • 답변은 로그인 후 가능합니다.

About

현재 월 700명 신규수강중입니다.

  (09:00~20:00) 빠른 상담은 카톡 플러스친구 코딩애플 (링크)
  admin@codingapple.com
  이용약관
ⓒ Codingapple, 강의 예제, 영상 복제 금지
top

© Codingapple, All rights reserved. 슈퍼로켓 에듀케이션 / 서울특별시 강동구 고덕로 19길 30 / 사업자등록번호 : 212-26-14752 온라인 교육학원업 / 통신판매업신고번호 : 제 2017-서울강동-0002 호 / 개인정보관리자 : 박종흠