浏览代码

add works code

Vadim Zgonnik 6 年之前
当前提交
42e721dd81
共有 2 个文件被更改,包括 125 次插入0 次删除
  1. 24 0
      index.html
  2. 101 0
      index.js

+ 24 - 0
index.html

@@ -0,0 +1,24 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+	<meta charset="UTF-8">
+	<title>chat</title>
+	<style>
+		*{
+			background: #ddd;
+		}
+		input, button{
+			color: red;
+			outline: none;
+		}
+	</style>
+</head>
+<body>
+	<input type="text" id="nick" placeholder="Nick">
+	<input type="text" id="message" placeholder="message">
+	<button id="send">Send</button>
+	<div id="get"></div>
+	<!-- <button id="emoji">emoji</button> -->
+	<script src="index.js"></script>
+</body>
+</html>

+ 101 - 0
index.js

@@ -0,0 +1,101 @@
+function jsonPost(url, data)
+    {
+        return new Promise((resolve, reject) => {
+            var x = new XMLHttpRequest();   
+            x.onerror = () => reject(new Error('jsonPost failed'))
+            //x.setRequestHeader('Content-Type', 'application/json');
+            x.open("POST", url, true);
+            x.send(JSON.stringify(data))
+
+            x.onreadystatechange = () => {
+                if (x.readyState == XMLHttpRequest.DONE && x.status == 200){
+                    resolve(JSON.parse(x.responseText))
+                }
+                else if (x.status != 200){
+                    reject(new Error('status is not 200'))
+                }
+            }
+        })
+
+        
+    }
+
+   
+
+    var send = document.getElementById('send');
+    var nick = document.getElementById('nick');
+    var mes = document.getElementById('message');
+
+   
+    
+
+    send.onclick = function(){
+        var obj = {
+            func: "addMessage",
+            nick: nick.value,
+            message: mes.value,
+        }
+    jsonPost("http://students.a-level.com.ua:10012", obj);
+}
+
+
+   
+    var mesInd = 0;
+    
+    
+
+
+ var smiles = {
+        ':)' : 'http://www.kolobok.us/smiles/light_skin/diablo.gif',
+        ';)' : 'http://www.kolobok.us/smiles/light_skin/hunter.gif',
+        ':(' : 'http://www.kolobok.us/smiles/light_skin/dash3.gif'
+    }
+   
+var interval = setInterval(() => {
+    var obj2 = {
+        func: "getMessages",
+        messageId: mesInd,
+    }
+     jsonPost("http://students.a-level.com.ua:10012", obj2)
+ .then((res) => {
+     console.log(res)
+     var divG = document.getElementById('get');
+        mesInd = res.nextMessageId;
+        for(i=0;i<res.data.length; i++){
+             // messages.push(key);
+             var newMes = document.createElement('div');
+             var nick = res.data[i].nick;
+             var message = res.data[i].message;
+                for (let smile in smiles) {
+                    message = message.replace(smile, `<img src="${smiles[smile]}">`);
+
+                 }
+                     newMes.innerHTML = `${nick} : ${message};`;
+                     divG.prepend(newMes);
+                 }
+ 
+
+ })
+ },3000);
+
+
+// var interval = setInterval(() => {
+//         jsonPost("http://students.a-level.com.ua:10012", obj2)
+//         .then((res) => {
+//             console.log(res)
+//            var divG = document.getElementById('get');
+//            mesInd = 10;
+//            for(key of res.data){
+//                 // messages.push(key);
+//                 var newMes = document.createElement('div');
+//                 var img = document.createElement('img');
+//                 newMes.innerText = `${key.nick} : ${key.message}`;
+//                 divG.prepend(newMes);
+//                }
+//                var message = key.message;
+//                for (var smile in smiles) { 
+//                message.replace(smile, smiles[smile]); 
+//                }
+                
+//         })
+// },3000);