chat
This commit is contained in:
		
							
								
								
									
										64
									
								
								pages/chat/index.vue
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										64
									
								
								pages/chat/index.vue
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,64 @@
 | 
			
		||||
<template lang="pug">
 | 
			
		||||
.chat-index
 | 
			
		||||
  .circumscription
 | 
			
		||||
    p Chat 频道列表 {{ chatlist.length }}
 | 
			
		||||
    ul(v-if="chatlist.length")
 | 
			
		||||
      li(v-for="item in chatlist", :key="item._id")
 | 
			
		||||
        p {{ item.name }}
 | 
			
		||||
    button(@click="create") 创建频道
 | 
			
		||||
  .ceremony
 | 
			
		||||
    .circumscription
 | 
			
		||||
      span chat
 | 
			
		||||
      DialogueList(:data="chatactive")
 | 
			
		||||
      textarea.dialogue(v-model="chat.data", rows="12")
 | 
			
		||||
      button.submit(@click="submit") 发表
 | 
			
		||||
</template>
 | 
			
		||||
 | 
			
		||||
<script>
 | 
			
		||||
import socket from "@/assets/js/socket.js";
 | 
			
		||||
 | 
			
		||||
export default {
 | 
			
		||||
  asyncData({ $axios }) {
 | 
			
		||||
    return $axios("/api/chat").then((res) => {
 | 
			
		||||
      return {
 | 
			
		||||
        chatlist: res.data,
 | 
			
		||||
        chat: { data: "" },
 | 
			
		||||
        chatactive: [{ _id: "2333", data: "cacd" }],
 | 
			
		||||
      };
 | 
			
		||||
    });
 | 
			
		||||
  },
 | 
			
		||||
  mounted() {
 | 
			
		||||
    socket.controller.set("chat", (data) => {
 | 
			
		||||
      this.chatactive.push(data);
 | 
			
		||||
      console.log(data);
 | 
			
		||||
    });
 | 
			
		||||
  },
 | 
			
		||||
  methods: {
 | 
			
		||||
    create() {
 | 
			
		||||
      let data = { name: "FM DEMO", data: "23333" };
 | 
			
		||||
      this.$axios.post("/api/chat", data).then((res) => {
 | 
			
		||||
        console.log(res.data);
 | 
			
		||||
      });
 | 
			
		||||
    },
 | 
			
		||||
    submit() {
 | 
			
		||||
      socket.connection.send(
 | 
			
		||||
        JSON.stringify({
 | 
			
		||||
          fm: "chat",
 | 
			
		||||
          data: this.chat.data,
 | 
			
		||||
        })
 | 
			
		||||
      );
 | 
			
		||||
      this.chat.data = "";
 | 
			
		||||
    },
 | 
			
		||||
  },
 | 
			
		||||
};
 | 
			
		||||
</script>
 | 
			
		||||
 | 
			
		||||
<style lang="sass">
 | 
			
		||||
.chat-index
 | 
			
		||||
  textarea.dialogue
 | 
			
		||||
    width: 100%
 | 
			
		||||
    padding: 1rem
 | 
			
		||||
    border: 1px solid #eee
 | 
			
		||||
    border-radius: .5rem
 | 
			
		||||
    box-sizing: border-box
 | 
			
		||||
</style>
 | 
			
		||||
		Reference in New Issue
	
	Block a user