首先在使用express-generator安裝expess的腳手架,再使用express-e生成express的框架, 其中-e: 代表使用 ejs 模板,-e前面也可以寫 自己定義的項目的名字,不寫默認為空。
,然后根據rmvc模式進行搭建架構,建立目錄,
其中rmvc。
r,roouter,負責進行路由轉發
m,models,負責獲取數據,或者經數據操作
v,view,負責模板的樣式
c,constrillers,負責事件的邏輯處理
middlewares,中間層,負責進行 驗證的用戶的權限
keys,負責生成公鑰和私鑰
public,靜態資源存放
utils,連接數據庫
先進行數據庫的連接在utiles下的db.js進行配置數據庫的連接,這里使用mongoose插件對mongo數據庫進行操作,
連接上數據庫后在model數據處理模塊中定義傳入數據的格式並進行數據的差刪改查,(調用mogoose的save,find,remove等方法)
數據庫配置完成后在router里面的users.js里面配置router,當路由到/signup的時候,就調用controllers里面的use.js里面的signup方法,
1.singup(注冊)函數
首先獲取在前端注冊時傳入的用戶名,調用select在數據庫中查詢,查到了就return就不往下進行了
如果沒有查到,
先引入bysbcrypt插件進行對密碼的加密
對密碼就行加密並替換
2.sigin(登錄)函數
router里面的users.js里面配置router,當路由到/signin的時候,就調用controllers里面的use.js里面的signin方法,
在接受到數據之后,給前台的用戶返回一個標識的token
先定義一個隨機生成token的函數生成token(這里使用非對稱加密生成公鑰和私鑰進行匹配)
數首先從數據庫查用戶的用戶名,查到了就調用comparePassword進行密碼的校驗,校驗成功在返回req信息的頭信息中添加一個隨機的token
3.issigin(判斷用戶是否處於登錄狀態)函數(在用戶登錄之后,如果不進行登出操作就一直維持在登錄狀態,避免一刷新就退出)
當路由到/signup的時候,就調用controllers里面的use.js里面的oAuthMiddleWare中間層
router.get('/issignin', oAuthMiddleWare)
在中間層主要進行驗證token,使用公鑰對私鑰進行匹配
匹配成功就返回issignin = true
1在后端實現添加操作
效果如圖
后端的操作,
1.首先在app.js里面進行配置路由
當路由跳轉到這些路徑的時候執行對應的路由文件
2.在router中的position.js文件中配置
首先無論什么請求,先進行用戶身份驗證的中間層,(就是當用戶進行登錄才能進行操作),
如果是get請求就調用controller中position.js里面的findall方法
如果是post請求就調用controller中先進行中間層的uploadFile文件將圖片文件進行處理然后再調用position.js里面的save方法
3.然后在model數據處理模塊建立position的數據處理
先定義存入數據的格式
再定義save和find方法
4.在controller里面的position.js里面添加處理邏輯
findAll方法
save方法
在前端使用隱藏的input 進行ID的傳輸
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
11
1
111
1
14
4