摘要:部署阿里云創建實例添加安全組允許端口使用連接服務器將項目壓縮上傳注表述能力有限如果有什么問題或探討可以加如果對你有幫助勞駕給個
一個vue+express 構建的后臺管理系統 說明: vue+express 構建的后臺管理系統,包括登錄、注冊、表格的增刪改查
github 在線
npm install -g vue-cli
vue init webpack my-express
cd my-express npm install npm run dev
vue項目基于iview-admin改造的通過應用生成器工具 express創建一個應用的骨架:
在config創建db.js
var mysql = require("mysql"); var connection = mysql.createConnection({ host:"", port: 3306, user:"root", password:"", database:"", useConnectionPooling: true }); function query(sql,data,callback){ // connection.connect() // pool.getConnection(function(err,connection){ connection.query(sql,data,function (err,rows) { callback(err,rows); // connection.release(); // connection.end() }); // }); } exports.query = query;
在routers路由文件下引入
var express = require("express"); var router = express.Router(); var db = require("../config/db"); const jwt = require("jsonwebtoken") const token = require("../config/token") var data={data:"",meta:{code:"200",message:""}} /* GET users listing. */ router.post("/add", function(req, res, next) { let username = req.body.username; let password = req.body.password; db.query("SELECT username FROM users where username=(?)",[username],function(err,rows){ console.log(err,rows) if(rows.length>0){ data={data:"",meta:{code:"500",message:"用戶名存在"}} res.send(data) }else{ db.query("INSERT INTO `users` (`username`,`password`) VALUES (?,?)",[username,password],function(err,rows){ data={data:"",meta:{code:"200",message:"注冊成功"}} res.send(data) }); } }); });
安裝jsonwebtoken
npm install jsonwebtoken
在config創建token.js
const crypto = require("jsonwebtoken") const secret = "JWT-TOKEN" const token={ createToken:function(obj,timeout){ // Token 數據 let payload = { name: obj.username, admin: true }; // 密鑰 // 簽發 Token let tokens = crypto.sign(payload, secret, { expiresIn: 3600}) return tokens; }, decodeToken:function(tokens){ console.log(tokens) let res = false; crypto.verify(tokens, secret , function(err,decoded) { if(err){ res = {"flag":false,"decoded":decoded} }else{ res = {"flag":true,"decoded":decoded} } }) return res; }, checkToken:function(token){ var resDecode=this.decodeToken(token); if(!resDecode){ return false; } //是否過期 var expState=(parseInt(Date.now()/1000)-parseInt(resDecode.payload.created))>parseInt(resDecode.payload.exp)?false:true; if(resDecode.signature===resDecode.checkSignature&&expState){ return true; } return false; } }; module.exports=exports=token;
在app.js驗證token是否過期,過去返回401
app.all("*", function(req, res, next) { res.header("Access-Control-Allow-Origin", "*"); res.header("Access-Control-Allow-Methods", "PUT, GET, POST, DELETE, OPTIONS"); res.header("Access-Control-Allow-Headers", "Content-Type, access_token, X-Requested-With") // res.header("Content-Type", "application/json;charset=utf-8"); console.log(req.originalUrl,"11111") if(rouetpass.indexOf(req.originalUrl) > -1 || req.originalUrl.split("/").indexOf("static") > -1){ next() }else{ if (req.method != "OPTIONS"){ var accesstoken = req.headers["access_token"]; let datatoken = token.decodeToken(accesstoken) // console.log(data) if(datatoken.flag){ next() }else{ data.meta.code=401; res.send(data) } }else{ next() } } });項目部署:
創建實例
添加安全組允許3000端口
使用putty連接linux服務器,將express項目壓縮上傳注:表述能力有限如果有什么問題或探討可以加qq:1726861462 如果對你有幫助勞駕給個star github
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/96253.html
摘要:一前言提綱基于和框架寫的一個全棧購物商城,記錄項目過程中遇到的一些問題以及經驗和技巧。服務端技術棧登錄授權用認證機制,來實現登錄登出。服務器配置和緩存策略,根據不同的來代理。申請證書全站升級到,配置的協議。一、前言提綱 基于Vue和Express框架寫的一個全棧購物商城,記錄項目過程中遇到的一些問題以及經驗和技巧。 二、歷史版本 基于Vue-CLI2.0:點我查看 這個分支版本是一兩年前...
摘要:一前言提綱基于和框架寫的一個全棧購物商城,記錄項目過程中遇到的一些問題以及經驗和技巧。服務端技術棧登錄授權用認證機制,來實現登錄登出。服務器配置和緩存策略,根據不同的來代理。申請證書全站升級到,配置的協議。 一、前言提綱 基于Vue和Express框架寫的一個全棧購物商城,記錄項目過程中遇到的一些問題以及經驗和技巧。 二、歷史版本 基于Vue-CLI2.0:點我查看這個分支版本是一兩...
摘要:其中用來完成請求,將添加的原型上后就不需要再在每個需要使用它的頁面引入了每個頁面都相當于一個組件,文件以結尾,第一次啟動成功時看到的頁面就是組件,路徑。 學習筆記...在線地址:cl8023.com github 數據庫已改為mongodb 快速搭建 node 后端服務Github-quick-node-server 準備工作 安裝node,這是必須的 新版node自帶npm...
摘要:注冊成功后會返回注冊用戶的此就是上面說到的,用于用戶登陸的基礎,請保管好。 地址 https://github.com/billyhoomm...http://blog.billyhu.com 說明(Instructions) 本項目后臺基于express、mongodb,前臺基于Vue2.0全家桶、bootstrap、scss預編譯器以及一眾工具類插件 項目前后臺代碼在同一個目錄中...
閱讀 1896·2021-11-22 15:25
閱讀 1257·2021-11-19 09:40
閱讀 1861·2021-09-27 13:57
閱讀 992·2021-09-22 15:10
閱讀 976·2021-08-16 11:01
閱讀 2974·2021-07-23 17:51
閱讀 772·2019-08-30 15:55
閱讀 824·2019-08-30 13:58