6 글 보임 - 1 에서 6 까지 (총 6 중에서)
-
글쓴이글
-
2023년 5월 10일 19:28 #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>
2023년 5월 11일 10:08 #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 ; } } }
2023년 5월 11일 10:08 #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 ; } } }
2023년 5월 11일 13:39 #82684
codingapple키 마스터match /chatroom/{docid} { allow read, write : if true; } 이것도 추가해봅시다
-
글쓴이글
6 글 보임 - 1 에서 6 까지 (총 6 중에서)
- 답변은 로그인 후 가능합니다.