国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

vue+koa2即時聊天,實時推送比特幣價格,爬取電影網站

xietao3 / 452人閱讀

摘要:技術棧自動化部署圖靈機器人打包,同步,服務器上傳一個命令全搞定功能清單登陸注冊獲取聊天記錄包含前端分頁優(yōu)化發(fā)送文字,表情,文件消息創(chuàng)建群組,添加群組,群組搜索修改個人信息,群組信息圖片裁剪壓縮上傳私聊圖靈機器人接入定時任務爬取電影和等數(shù)字

技術棧

vue+vuex+vue-router+socket.io+koa2+mongodb+pm2自動化部署+圖靈機器人+[npm script打包,cdn同步,服務器上傳一個命令全搞定]

功能清單

登陸注冊

獲取聊天記錄(包含前端分頁優(yōu)化)

發(fā)送文字,表情,文件消息

創(chuàng)建群組,添加群組,群組搜索

修改個人信息,群組信息

圖片裁剪壓縮上傳

私聊

圖靈機器人接入

定時任務爬取電影和btc等數(shù)字貨幣的價格并使用socket.io實時推送給所有客戶端

前端一鍵打包同步到七牛cdn并上傳到服務器的實現(xiàn)

server端的pm2自動部署

效果演示chrome下F12或者手機掃描下面的二維碼

后端的代碼暫時不開放出來,因為涉及到很多個人的配置數(shù)據(jù),如果實在需要可以加微信 MSC199312 (需要付費0.0!),畢竟這個小項目斷斷續(xù)續(xù)也做了幾個星期,也還花了些心思,而且涉及的知識點也都還是很廣很實用的,還望理解,其實主要原因還是窮[淚奔]

部分代碼

客戶端 main.js

import Vue from "vue"
import App from "./App"
import router from "./router"
import VueLazyload from "vue-lazyload"
import store from "@/store"
import io from "socket.io-client"
import "@/assets/js/remChange"
import "@/assets/js/request"
// import { wxConfig, updateShare } from "@/assets/js/wxenv"
import "@/assets/css/common.scss"
import "swiper/dist/css/swiper.min.css"
import config from "@/assets/js/config"
import filters from "@/assets/js/filters"
import { openToast } from "@/assets/js/tools"

Vue.config.productionTip = false

// 初始化全局過濾器
Object.keys(filters).forEach(item => {
  Vue.filter(item, filters[item])
})

// 懶加載
Vue.use(VueLazyload, {
  attempt: 1,
  // preLoad: 1.3,
  error: require("./assets/images/404.png"),
  loading: require("./assets/images/loading-img2.gif"),
  // the default is ["scroll", "wheel", "mousewheel", "resize", "animationend", "transitionend"]
  listenEvents: [ "scroll" ]
})

Vue.prototype.$config = config

router.beforeEach((to, from, next) => {
  // 如果未匹配到路由
  if (to.matched.length === 0) {
    // 如果上級也未匹配到路由則跳轉登錄頁面,如果上級能匹配到則轉上級路由
    from.name ? next({ name: from.name }) : next("/")
  } else {
    // 路由切換時改變頁面標題
    document.querySelector("title").innerHTML = to.name
    // 統(tǒng)計代碼
    if (to.path) _czc.push(["_trackPageview", "/#" + to.fullPath], "")
    next()
  }
})

// 路由變化重新配置微信分享
router.afterEach(to => {
  // wxConfig(() => updateShare())
})

// socket.io 初始化
const socket = io.connect(config.socketBase)
Vue.prototype.$socket = socket
Vue.prototype.$socketEmiter = (name, data) => {
  store.commit("isLoading", true)
  return new Promise((resolve) => {
    socket.emit(name, data, res => {
      console.log(`${name}>>>`, res)
      store.commit("isLoading", false)
      if (res.status === 1) {
        resolve(res.data)
      } else {
        openToast({
          msg: res.message,
          duration: 1500
        })
      }
    })
  })
}

/* eslint-disable no-new */
const app = new Vue({
  el: "#app",
  router,
  store,
  template: "",
  components: { App }
})

server端 app.js

const Koa = require("koa")
const { resolve } = require("path")
const glob = require("glob")
const { connectDatabase, initAllSchema, initDefaultUser } = require("./database/init")
const config = require("./config")

const useMiddlewares = app => {
  glob.sync(resolve(__dirname, "./middlewares", "**/*.js")).forEach(item => {
    require(item)(app)
  })
}

(async () => {

  console.log("數(shù)據(jù)庫初始化...")
  await connectDatabase()
  initAllSchema()
  await initDefaultUser()

  const app = new Koa()

  console.log("掛載socket.io...")
  const server = require("http").Server(app.callback())
  const io = require("socket.io").listen(server)
  require("./socket")(io)

  // 暴露出io可在其他地方做推送功能
  module.exports.io = io

  console.log("掛載中間件...")
  useMiddlewares(app)

  console.log("初始化定時任務...")
  // 多了進行一下封裝?
  require("./tools/crawlMovie")
  require("./tools/crawlCoin")

  server.listen(config.server.PORT, () => {
    console.log("正在監(jiān)聽" + config.server.PORT + "端口...")
  })

})()
貼上git地址歡迎給個star 部分運行截圖









文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/94788.html

相關文章

  • koa2開發(fā)微信公眾號: 不定期推送最新圈消息

    摘要:背景比特幣說好的分叉最后卻分叉不成,如今算力又不夠,于是比特現(xiàn)金想篡位沒一個星期就漲了快倍,錯過這趟快車甚是后悔,于是打算寫一個可不定期推送最新消息的微信公眾號。既然是利用微信這個平臺載體,當然要熟悉微信的,遂封裝了一下。 背景:比特幣說好的segwit2x分叉最后卻分叉不成,如今算力又不夠,于是比特現(xiàn)金想篡位? 沒一個星期就漲了快10倍,錯過這趟快車甚是后悔,于是打算寫一個可不定期推...

    xi4oh4o 評論0 收藏0
  • TensorFlow-Bitcoin-Robot:一個基于 TensorFlow LSTM 的 Bi

    摘要:對于以比特幣為首的數(shù)字貨幣近期的表現(xiàn),只能用瘋狂來形容。比特幣的成交記錄就是事件序列上的加個數(shù)據(jù),可以基于過去的成交記錄序列來對未來的價格作出預測,和的模型比較合適。最后采用了,用爬取,它包含比特幣的個交易記錄。 簡介 TensorFlow-Bitcoin-Robot:一個基于 TensorFlow LSTM 模型的 Bitcoin 價格預測機器人。 文章包括一下幾個部分:1.為什么要...

    Mertens 評論0 收藏0
  • 一文徹底讀懂 Tether,究竟是神、是妖、還是魔?

    摘要:是全球最大的加密貨幣交易所之一,一些市場觀察人士稱,在交易的代幣有助于支撐比特幣的價格。報告稱,在年月日的審計時點上,一家銀行以名義開具的賬戶下?lián)碛忻涝目铐棥=刂聊暝碌祝ǘ嗬韪鬟@類金融機構的現(xiàn)金與總資產的比率迅速攀升至以上。 在追求各種類型「共識」的數(shù)字貨幣世界里,對 Tether 的看法顯然很難達成共識,極具爭議,也引人矚目。 在尋找穩(wěn)定代幣的投資者眼中,Tether 如神,是解...

    zhaot 評論0 收藏0
  • PHP和樹莓派開發(fā)一個比特/以太坊交易機器人

    摘要:注目前我已經擴展了機器人以便能夠交易以太坊我希望它能夠在不必太多關注的情況下做事,而我想到的第一件事就是為什么不創(chuàng)建一個可以自動進行比特幣和以太坊的簡單交易機器人。在下一個泡沫破裂的時候自動購買比特幣。選擇比特幣以太坊和歐元美元錢包。 我最近得到了Raspberry Pi Zero Wifi,我告訴你這個東西是改變游戲規(guī)則的。我之前使用過RasPis,但由于該設備的占地面積小得多,耗電...

    ShowerSun 評論0 收藏0

發(fā)表評論

0條評論

xietao3

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<