亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

express+vue+mongodb+session 實現注冊登錄功能

2019-11-19 12:23:57
字體:
來源:轉載
供稿:網友

主要實現如下功能:

1. 支持注冊,登錄功能,用戶可以注冊完成后,進行登錄,登錄完成后會進入到列表增刪改查頁面。
2. 支持session會話,也就是說設置了多長時間登錄過期,如果用戶沒有登錄,直接進查詢列表頁面,會重定向到登錄頁面去,如果用戶登錄了后,把瀏覽器關掉,直接輸入列表查詢頁面,會直接進入列表頁面的。
3. 列表數據加入了分頁功能。
4. 對數據庫中的請求加入了日志記錄。

先看下效果:

1. 首先服務器重啟后,在地址欄中輸入 http://localhost:8081/ 后,會重定向到登錄頁面來,如下圖所示:

2. 如果沒有賬號的話,我們可以注冊一個賬號,進入注冊頁面,如下圖所示:

3. 如果用戶名和密碼沒有輸入,或者輸入的格式不合法的話,會如下提示所示:

4. 當用戶注冊成功后,可以看到如下頁面了

5. 我們去登錄頁面,進行登錄,如下:

6. 登錄成功后,會跳轉到列表頁面,如下圖所示:

下面的增刪改查操作的流程,我就不再介紹了,和我之前的 express+mongodb+vue 實現增刪改查中的演示是一樣的。

7. 下面我們來看看我們的數據庫中是否增加了剛剛注冊的用戶賬號了,如下圖所示:

上面的四個賬號都是我注冊的,在數據庫中可以看到,注冊成功了。

注意:如果某個用戶注冊過了,你再使用相同的賬號繼續注冊話,是不能注冊,會提示該賬號已經注冊過了,如下圖所示:

下面還是來看下我們項目的整個目錄架構如下:

### 目錄結構如下:demo1     # 工程名| |--- dist    # 打包后生成的目錄文件  | |--- node_modules   # 所有的依賴包| |----database    # 數據庫相關的文件目錄| | |---db.js    # mongoose類庫的數據庫連接操作| | |---models    # 存放所有模型表| | | |--- user.js   # 增刪改查用戶數據表| | | |--- userTable.js   # 用戶賬號表| |--- app| | |---index| | | |-- views    # 存放所有vue頁面文件| | | | |-- list.vue   # 列表數據| | | | |-- index.vue| | | | |-- login.vue   # 用戶登錄頁面| | | | |-- regist.vue   # 用戶注冊頁面| | | |-- components   # 存放vue公用的組件| | | |-- js    # 存放js文件的| | | |-- css    # 存放css文件| | | |-- store    # store倉庫| | | | |--- actions.js| | | | |--- mutations.js| | | | |--- state.js| | | | |--- mutations-types.js| | | | |--- index.js| | | | || | | |-- app.js    # vue入口配置文件| | | |-- router.js   # 路由配置文件| |--- api    # 保存所有接口操作的文件| | |--- addAndDelete.js   # 增刪改查的接口| | |--- regAndLogin.js   # 注冊登錄的接口| | |--- userSession.js   # 用戶session有效的接口| |--- routes    # 存放所有的路由文件| | |--- addAndDelete.js   # 增刪改查路由| | |--- regAndLogin.js   # 注冊和登錄路由| | |--- userSession.js   # session路由| |--- views| | |-- index.html   # html文件| |--- webpack.config.js   # webpack配置文件 | |--- .gitignore | |--- README.md| |--- package.json| |--- .babelrc    # babel轉碼文件| |--- app.js    # express入口文件

首先我們先看下 根目錄下的 app.js 文件代碼(服務器代碼):

部分代碼如下:

// 引入express模塊const express = require('express');// 引入sessionconst session = require('express-session');// 創建app對象const app = express();// 加載路由const addAndDelete = require('./routes/addAndDelete');const regAndLogin = require('./routes/regAndLogin');const userSession = require('./routes/userSession');const bodyParser = require("body-parser");const fs = require('fs');const path = require('path');// mongoose-morganconst morgan = require('mongoose-morgan');app.use(bodyParser.json());app.use(bodyParser.urlencoded({ extended: false }));app.use(session({ secret: 'kongzhi', // 對 session id 相關的cookie 進行加密簽名 cookie: { maxAge: 1000 * 60 * 10 // 設置 session的有效時間,單位為毫秒,設置有效期為10分鐘 }}));// Logger 添加數據庫操作日志記錄 https://www.npmjs.com/package/mongoose-morganapp.use(morgan({ connectionString: 'mongodb://localhost:27017/dataDb'}));// 使用app.use('/user', addAndDelete);app.use('/reglogin', regAndLogin);app.use('/user', userSession);

如上代碼,加載路由后,然后使用 use了,對應的 routes文件下的js文件,代碼分別如下:

1. routes/addAndDelete.js 代碼如下:

// 引入express 模塊 const express = require('express');const router = express.Router();// 引入user.jsconst User = require('../api/addAndDelete');router.post('/add', User.add);router.post('/query', User.query);router.post('/del', User.del);router.post('/update', User.update);module.exports = router;

2. routes/regAndLogin.js 代碼如下:

const express = require('express');const router = express.Router();const RegAndLogin = require('../api/regAndLogin');router.post('/regist', RegAndLogin.registered);router.post('/login', RegAndLogin.login);// 注銷router.post('/logout', RegAndLogin.logout);module.exports = router;

3. routes/userSession.js 代碼如下:

const express = require('express');const router = express.Router();const userSession = require('../api/userSession');router.post('/usersession', userSession.usersession);module.exports = router;

因此對于 app.use('/user', addAndDelete); 的時候,會調用 routes/addAndDelete.js 下的請求方法,分別為:

/add, /query, /update, /del, 因此在我們列表頁面中使用接口方式如:類似于如下這樣的:

都是 /user/add, /user/query, /user/update, /user/del 這樣的接口,比如說我們使用 /user/add post請求這樣的接口的時候,他們會調用到 routes/addAndDelete.js 中的router.post('/add', User.add); 這里面的 User.add方法,所以它就會調用到 api/addAndDelete.js 中的add函數,如下代碼所示:

const User = require('../database/models/user');// 新增信息module.exports.add = function(req, res, next) { const user = new User({ name: req.body.name, age: req.body.age, sex: req.body.sex }); user.save((err, docs) => { if (err) { res.send({ 'code': 1, 'errorMsg': '新增失敗' }); } else { res.send({ "code": 0, 'message': '新增成功' }); } }); next();};

因此會調用數據庫的操作,會在數據庫中增加一條數據。如上代碼,會應用到 database/models/user 這個表中的代碼:

/* 定義一個user的Schema*/const mongoose = require('../db.js');const Schema = mongoose.Schema;// 創建一個模型const UserSchema = new Schema({ name: { type: String}, // 屬性name,類型為String age: { type: Number, default: 30 }, // 屬性age,類型為Number,默認值為30 sex: { type: String }});// 導出model模塊const User = module.exports = mongoose.model('User', UserSchema);

因此會創建user表,并且在表中插入對應的數據。

如上只是解釋下增加接口的調用方式,其他的接口設計也是一樣的。就不多解釋了。對應 /user 這樣的,我們在webpack中的devServer中會配置下,解決跨域問題,因為我現在是啟動兩個服務的,node端的端口是 3001, 而我的webpack的端口是8081, 會存在跨域的,因此webpack的 devServer 需要做如下配置的:

devServer: { port: 8081, // host: '0.0.0.0', headers: { 'X-foo': '112233' }, inline: true, overlay: true, stats: 'errors-only', proxy: { '/user': { target: 'http://127.0.0.1:3001', changeOrigin: true // 是否跨域 }, '/combineFile': { target: 'http://127.0.0.1:3001', changeOrigin: true, // 是否跨域, pathRewrite: { '^/combineFile' : '' // 重寫路徑 } }, '/reglogin': { target: 'http://127.0.0.1:3001', changeOrigin: true // 是否跨域 } }},

4. app.js 中使用了 mongoose-morgan 這個插件,為了數據庫操作接口的時候,寫入日志,比如報錯的時候可以在服務器端看到報錯信息,該API的具體使用可以

看下 npm庫(https://www.npmjs.com/package/mongoose-morgan)。

如下日志記錄:

具體的代碼這邊就不多解釋,有興趣的話可以去github上下載代碼查看下哦。

查看github上源碼

總結

以上所述是小編給大家介紹的express+vue+mongodb+session 實現注冊登錄功能,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對武林網網站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国模吧一区二区| 欧美午夜久久久| 午夜欧美大片免费观看| 久久免费成人精品视频| 国产69久久精品成人| 亚洲激情中文字幕| 欧美一级淫片丝袜脚交| 日韩欧美在线一区| 国产成人精品综合| 亚洲日韩中文字幕在线播放| 琪琪亚洲精品午夜在线| 中文欧美在线视频| 红桃视频成人在线观看| 成人黄色片网站| 国产精品日日做人人爱| 国产精品99久久久久久久久久久久| 国产精品久久久久久久天堂| 亚洲一区二区久久久久久久| 国产精品成人久久久久| 国产精品十八以下禁看| 久久久久一本一区二区青青蜜月| 亚州欧美日韩中文视频| 亚洲精品理论电影| 欧美成人黄色小视频| 亚洲欧美中文日韩在线v日本| 亚洲天堂一区二区三区| 欧洲美女免费图片一区| 久久久精品在线| 九九九热精品免费视频观看网站| 福利一区视频在线观看| 5278欧美一区二区三区| 欧美性猛交丰臀xxxxx网站| 国产不卡一区二区在线播放| 中文字幕日本欧美| 正在播放欧美一区| 久久精品视频亚洲| 亚洲视频免费一区| 九九热这里只有精品6| 疯狂蹂躏欧美一区二区精品| 国产一区二区av| 国产精品一二三在线| 亚洲第一区在线观看| 97av在线视频| 久久亚洲电影天堂| 色悠久久久久综合先锋影音下载| 成人av资源在线播放| 亚洲国产欧美一区二区三区同亚洲| 91欧美激情另类亚洲| 欧美日韩国产丝袜另类| 成人久久18免费网站图片| 亚洲精品一二区| 性色av一区二区三区免费| 欧美丝袜一区二区三区| 国产综合在线视频| 亚洲18私人小影院| 色妞一区二区三区| 欧美极品少妇xxxxⅹ裸体艺术| 中日韩美女免费视频网址在线观看| 国产69精品久久久久99| 亚洲欧美日韩视频一区| 欧美精品免费看| 日本久久精品视频| 欧美日韩中文字幕综合视频| 亚洲影院污污.| 性欧美xxxx| 91视频88av| 日韩av三级在线观看| 亚洲精品一区av在线播放| xxxxx91麻豆| 91国产美女在线观看| 国产乱肥老妇国产一区二| 一区二区三欧美| 国产精品一区二区3区| 欧美日韩另类在线| 精品国产区一区二区三区在线观看| 国产精品高清在线观看| 91精品久久久久久久久青青| 欧美日韩视频免费播放| 欧美日韩国产在线| 欧美激情videos| 国产精品视频一区国模私拍| 精品无人区太爽高潮在线播放| 亚洲全黄一级网站| 欧美高清视频在线播放| 欧洲成人午夜免费大片| 欧美在线免费观看| 性欧美亚洲xxxx乳在线观看| 国色天香2019中文字幕在线观看| 91精品国产高清| 成人在线视频网站| 国产一区私人高清影院| 最近中文字幕mv在线一区二区三区四区| 亚洲精品视频播放| 欧美亚洲在线观看| 在线精品91av| 日韩日本欧美亚洲| 亚洲综合小说区| 日韩欧美国产激情| 国产精品久久久久久久9999| 欧美成人精品在线观看| 国产综合久久久久久| 精品欧美一区二区三区| 成人观看高清在线观看免费| 国产精品免费看久久久香蕉| 国产精品免费电影| 欧美大尺度电影在线观看| 国产精品一区二区久久久| 日日噜噜噜夜夜爽亚洲精品| 91在线精品播放| 亚洲欧洲成视频免费观看| 亚洲春色另类小说| 欧美成人免费视频| 欧美精品激情在线观看| 国产在线不卡精品| 国产精品女人久久久久久| 夜夜嗨av一区二区三区四区| 国产91在线高潮白浆在线观看| 98精品国产高清在线xxxx天堂| 综合久久五月天| 久久天天躁日日躁| 亚洲色图欧美制服丝袜另类第一页| 日韩电影中文字幕| 欧美日韩国产综合新一区| 91午夜理伦私人影院| 国产一区二区三区高清在线观看| 亚洲另类xxxx| 国产日韩中文字幕| 欧美在线精品免播放器视频| 久久夜色撩人精品| 欧美黑人性生活视频| 欧美激情在线狂野欧美精品| 欧美另类99xxxxx| 欧美诱惑福利视频| 国产aⅴ夜夜欢一区二区三区| 久久久久中文字幕2018| 国产成人精品久久亚洲高清不卡| 久久久国产精品亚洲一区| 欧美在线观看日本一区| 久久激情视频久久| 97欧美精品一区二区三区| 国产suv精品一区二区三区88区| 欧洲日本亚洲国产区| 日本中文字幕不卡免费| 国产精品精品视频一区二区三区| 97色在线观看| 精品国产福利在线| 亚洲午夜久久久影院| 久久久久久噜噜噜久久久精品| 伊人久久大香线蕉av一区二区| 欧美成人h版在线观看| 欧美激情综合亚洲一二区| 亚洲人午夜精品| 日韩在线中文字| 欧美野外wwwxxx| 美女视频黄免费的亚洲男人天堂| 色噜噜狠狠狠综合曰曰曰88av| 久久久久九九九九| 亚洲一区二区三区成人在线视频精品| 国产精品揄拍一区二区| 国产激情综合五月久久| 亚洲国产成人久久综合一区| 久久国产精品久久久久久久久久| 自拍偷拍亚洲区| 久久噜噜噜精品国产亚洲综合|