這算是入坑Vue後的第二個練手項目了,是以前四月份就弄完了,一直無法發出來。
今天忽然想起來,仍是發出來記錄一下本身的學習歷程。廢話很少說,下面看東西。前端
IP定位 智能機器人問答 羣聊node
build/webpack.dev.conf.js裏添加webpack
// 搭建一個socket.io服務 const app = require('express') const server = require('http').Server(app) const io = require('socket.io')(server) server.listen(8081) let oSockets = [] io.sockets.on('connection', socket => { console.log('用戶連接成功') oSockets.push(socket) // 羣聊 socket.on('sendMsg', data => { socket.broadcast.emit('receiveMsg', data) }) // 上線 socket.on('online', data => { socket.broadcast.emit('online', data) }) // 斷開鏈接 socket.on('disconnect', () => { oSockets.filter(item => item !== socket) console.log('用戶離線') }) })
components/Chat.vue裏添加ios
import io from 'socket.io-client' // 創建socket.io通訊 const socket = io.connect('http://localhost:8081') export default { ...... mounted() { // 監聽通訊事件 socket.on('online', name => { if (!name) { return } this.onlineTip = `${name}加入羣聊` this.showTip() }) socket.on('receiveMsg', data => { this.messages.push(data) }) // 發送上線事件 socket.emit('online', this.nickname) } ...... }
這裏就不貼代碼了 能夠在進入個人GitHub裏項目的src/components/AI.vue查看
其實我這邊也是後端代理請求了圖靈機器人提供的免費接口,仍是很不錯的,註冊一個帳戶就能使用他們的開放api了,不過會有個私有的key須要請求的時候做爲參數傳過去,由於天天限制請求1k次git