002.php 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152
  1. <?
  2. session_start();
  3. echo "<meta charset=utf8>";
  4. if ($_SESSION['id'] == '' || $_SESSION['id'] == null) {
  5. echo '您尚未登入';
  6. exit;
  7. }
  8. include "connect.php";
  9. $id = $_SESSION['id'];
  10. $name = $_SESSION['name'];
  11. ?>
  12. <!DOCTYPE html>
  13. <html lang="en">
  14. <head>
  15. <meta charset="UTF-8">
  16. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  17. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  18. <title>002</title>
  19. <script src="function.js"></script>
  20. <script src="../public/js/layui/layui.js"></script>
  21. <script src="layer.js"></script>
  22. </head>
  23. <body>
  24. <style>
  25. body{
  26. padding: 0px;
  27. margin: 0px;
  28. }
  29. .div1{
  30. background:#333;
  31. color:#fff;
  32. height:80vh;
  33. width:100vw;
  34. overflow-y: auto;
  35. box-sizing:border-box;
  36. -moz-box-sizing:border-box;
  37. /* Firefox */
  38. -webkit-box-sizing:border-box;
  39. /* Safari */
  40. padding:1em;
  41. }
  42. .divmsg{
  43. white-space:normal;
  44. word-break:break-all;
  45. }
  46. .div2{
  47. width:100vw;
  48. height:20vh;
  49. }
  50. .flex-row{
  51. display: flex;
  52. flex-direction: column;
  53. }
  54. .div{
  55. height:100vh;
  56. }
  57. .textarea{
  58. flex-grow: 4;
  59. }
  60. .submit_btn{
  61. flex-grow: 1;
  62. }
  63. .name{
  64. width:100%;
  65. text-align:right;
  66. display: inline-block;
  67. }
  68. .othermsg *{
  69. text-align:left;
  70. }
  71. .mymsg *{
  72. text-align:right;
  73. }
  74. .timetext{
  75. width:100%;
  76. font-size:11px;
  77. display: inline-block;
  78. }
  79. .div2_un_button{
  80. display: flex;
  81. flex-direction: column;
  82. justify-content:center;
  83. background:#ddd;
  84. text-align:center;
  85. }
  86. </style>
  87. <div class="div flex-row">
  88. <div class="div1" id="div1">
  89. </div>
  90. <div class="div2 flex-row" id="div2">
  91. <textarea name="" id="msg" class="textarea"></textarea>
  92. <button class="submit_btn" id="submit_btn" >提交</button>
  93. </div>
  94. </div>
  95. <script>
  96. var id = "<?echo $id ?>";
  97. var name = "<?echo $name ?>";
  98. var div = document.getElementById("div1")
  99. var button = document.getElementById("submit_btn")
  100. var type = <?php echo $_SESSION['type']; ?>;
  101. var ws = new WebSocket("ws://app.tjzhxx.cn:3002");
  102. ws.addEventListener("open", () => {
  103. // 将服务器连接成功的信息打印到div中
  104. console.log("Connection open ...");
  105. });
  106. ws.addEventListener("message", (e) => {
  107. //console.log(e);
  108. var data = JSON.parse(e.data);
  109. //保存信息
  110. var str = div.innerHTML;
  111. var classname="othermsg";
  112. if(id == data.id){
  113. classname="mymsg";
  114. }
  115. var html = str+"<div class='"+classname+"'><p><b class='name'>"+data.name+"</b><span class='timetext'>"+gettime()+"</span></p><pre class='divmsg'>"+data.msg+"</pre></div>";
  116. div.innerHTML = html
  117. div.scrollTop = div.scrollHeight+200;
  118. //ws.close()
  119. });
  120. ws.addEventListener("close", (evt) => {
  121. console.log("Connection closed.");
  122. });
  123. ws.addEventListener("error", (err) => {
  124. console.log("ERROR");
  125. console.log(err);
  126. });
  127. if(type<=0){
  128. document.getElementById("div2").innerHTML ="无聊天权限";
  129. document.getElementById("div2").className +=" div2_un_button";
  130. }else{
  131. button.addEventListener("click", () => {
  132. var msg = document.getElementById("msg").value;
  133. let sendobj={
  134. id:id,
  135. name:name,
  136. msg:msg
  137. }
  138. //保存聊天信息
  139. var saveData=sendobj;
  140. //console.log(saveData);
  141. saveChat(saveData);
  142. ws.send(JSON.stringify(sendobj));
  143. //var height = $('#div1').outerHeight();
  144. //$('#div1').scrollTop(parseInt(height)+50);
  145. });
  146. }
  147. </script>
  148. </body>
  149. </html>