摘要:多人博客系統(tǒng)斷斷續(xù)續(xù)寫(xiě)了個(gè)單頁(yè)面的博客系統(tǒng)其實(shí)是想給我和我的小伙伴寫(xiě)日記用的租了服務(wù)器寫(xiě)接口用反向代理也算是練練手。
多人博客系統(tǒng)
vue前臺(tái)部分 前臺(tái)依賴(lài)模塊斷斷續(xù)續(xù)寫(xiě)了個(gè)單頁(yè)面的博客系統(tǒng),其實(shí)是想給我和我的小伙伴寫(xiě)日記用的,租了do服務(wù)器,express寫(xiě)接口,用nginx反向代理,也算是練練手。不得不說(shuō)國(guó)外的服務(wù)器還是做單頁(yè)面更好
vue-cli vue-router vuex axios moment-timezone vue-waterfall wangeditor功能模塊
canvas粒子效果
登錄/注冊(cè)
個(gè)人中心
添加文章
編輯文章
搜索文章
下拉加載列表
文章留言
H5多圖上傳
縮略圖生成
圖片瀑布流布局
路由配置import Vue from "vue" import VueRouter from "vue-router" Vue.use(VueRouter); import store from "../store/index" import index from "../page/index" import dairy from "../page/dairy" import photo from "../page/photo" import login from "../page/login" import reg from "../page/reg" import user from "../page/user" import set from "../page/set" import page from "../page/page" import article from "../page/article" import edit from "../page/edit" import userIndex from "../components/user/index" import userAlbum from "../components/user/album" import userTogether from "../components/user/together" import userInfo from "../components/user/info" import setIndex from "../components/set/index" import setFriend from "../components/set/friend" import setPassword from "../components/set/password" const routes = [{ path: "/", component: index, meta: { auth: false } }, { path: "/dairy", component: dairy, meta: { auth: false } }, { path: "/photo", component: photo, meta: { auth: false } }, { path: "/login", component: login, },{ path: "/reg", component: reg, meta: { auth: false } },{ path: "/article", component: article, },{ path: "/p/:aid", name: "page", component: page, meta: { auth: false } },{ path: "/p/:aid/edit", name: "edit", component: edit, },{ path : "/set", component : set, children : [{ path: "", name: "setIndex", component : setIndex, },{ path : "password", name: "setPassword", component : setPassword, },{ path : "friend", name: "setFriend", component : setFriend, }] }, { path: "/u/:uid", component: user, children: [{ path: "", name: "userIndex", component: userIndex, meta: { auth: false } }, { path: "album", name: "userAlbum", component: userAlbum, meta: { auth: false } }, { path: "together", name: "userTogether", component: userTogether, meta: { auth: false } }, { path: "info", name: "userInfo", component: userInfo, meta: { auth: false } }] }]; const router = new VueRouter({ mode: "history", saveScrollPosition: true, routes }); router.beforeEach(({meta, path}, from, next) => { var { auth = true } = meta; var isLogin = Boolean(store.state.auth.token); //true用戶(hù)已登錄, false用戶(hù)未登錄 if (auth && !isLogin && path !== "/login") { return next({ path: "/login" }) } if(isLogin && (path == "/login" || path == "/reg")){ return next({ path: "/" }) } next() }); export default router;前臺(tái)運(yùn)行程序
npm install npm run dev http://localhost:8080/api后臺(tái)部分 后臺(tái)依賴(lài)模塊
express mongoose bluebird jsonwebtoken gm 需安裝ImageMagick后臺(tái)文件目錄
│─ config │ └─ index.js │─ models │ ├─ album.model.js │ ├─ article.model.js │ ├─ comment.model.js │ └─ user.model.js ├─ public/uploads ├─ routes │ ├─ album │ │ ├─ album.controller.js │ │ └─ index.js │ ├─ article │ │ ├─ article.controller.js │ │ └─ index.js │ ├─ auth │ │ ├─ local │ │ │ ├─ index.js │ │ │ └─ passport.js │ │ ├─ auth.service.js │ │ └─ index.js │ ├─ comment │ │ ├─ comment.controller.js │ │ └─ index.js │ ├─ user │ │ ├─ user.controller.js │ │ └─ index.js │ └─ index.js ├─ app.js └─ package.json后臺(tái)運(yùn)行程序
npm install 開(kāi)啟mongodb mongod --dbpath node app源碼地址
前臺(tái)界面
后臺(tái)api
在線(xiàn)地址
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/82738.html
摘要:前言這個(gè)項(xiàng)目是利用工作之余寫(xiě)的一個(gè)模仿微信的單頁(yè)面應(yīng)用,整個(gè)項(xiàng)目包含個(gè)頁(yè)面,涉及實(shí)時(shí)群聊,機(jī)器人聊天,同學(xué)錄,朋友圈等等,后續(xù)頁(yè)面還是開(kāi)發(fā)中。 前言 這個(gè)項(xiàng)目是利用工作之余寫(xiě)的一個(gè)模仿微信app的單頁(yè)面應(yīng)用,整個(gè)項(xiàng)目包含27個(gè)頁(yè)面,涉及實(shí)時(shí)群聊,機(jī)器人聊天,同學(xué)錄,朋友圈等等,后續(xù)頁(yè)面還是開(kāi)發(fā)中。寫(xiě)這個(gè)項(xiàng)目主要目的是練習(xí)和熟悉vue和vuex的配合使用,利用socket.io實(shí)現(xiàn)實(shí)時(shí)聊...
摘要:使用即可完成一個(gè)很有意思的在線(xiàn)游戲作品。你畫(huà)我猜,相信大家對(duì)這個(gè)游戲都很熟悉。我用實(shí)現(xiàn)了你畫(huà)我猜這個(gè)游戲。可以修改畫(huà)筆顏色,粗細(xì),進(jìn)行撤銷(xiāo),恢復(fù),清空等操作。第一個(gè)猜完后,游戲時(shí)間縮短為秒。 使用 websocket + vue2 即可完成一個(gè)很有意思的在線(xiàn)游戲作品。你畫(huà)我猜,相信大家對(duì)這個(gè)游戲都很熟悉。 我用Vue2 + mint-ui + nodejs + websocket ...
摘要:官網(wǎng)地址聊天機(jī)器人插件開(kāi)發(fā)實(shí)例教程一創(chuàng)建插件在系統(tǒng)技巧使你的更加專(zhuān)業(yè)前端掘金一個(gè)幫你提升技巧的收藏集。我會(huì)簡(jiǎn)單基于的簡(jiǎn)潔視頻播放器組件前端掘金使用和實(shí)現(xiàn)購(gòu)物車(chē)場(chǎng)景前端掘金本文是上篇文章的序章,一直想有機(jī)會(huì)再次實(shí)踐下。 2道面試題:輸入U(xiǎn)RL按回車(chē)&HTTP2 - 掘金通過(guò)幾輪面試,我發(fā)現(xiàn)真正那種問(wèn)答的技術(shù)面,寫(xiě)一堆項(xiàng)目真不如去刷技術(shù)文章作用大,因此刷了一段時(shí)間的博客和掘金,整理下曾經(jīng)被...
摘要:五六月份推薦集合查看最新的請(qǐng)點(diǎn)擊集前端最近很火的框架資源定時(shí)更新,歡迎一下。蘇幕遮燎沈香宋周邦彥燎沈香,消溽暑。鳥(niǎo)雀呼晴,侵曉窺檐語(yǔ)。葉上初陽(yáng)乾宿雨,水面清圓,一一風(fēng)荷舉。家住吳門(mén),久作長(zhǎng)安旅。五月漁郎相憶否。小楫輕舟,夢(mèng)入芙蓉浦。 五、六月份推薦集合 查看github最新的Vue weekly;請(qǐng)::點(diǎn)擊::集web前端最近很火的vue2框架資源;定時(shí)更新,歡迎 Star 一下。 蘇...
閱讀 3813·2023-04-25 19:07
閱讀 3560·2021-11-22 12:02
閱讀 3143·2021-10-12 10:11
閱讀 3915·2021-09-03 10:49
閱讀 2894·2019-08-30 13:21
閱讀 3007·2019-08-30 11:14
閱讀 2093·2019-08-29 15:40
閱讀 2877·2019-08-28 18:29